:root{--purple:#491980;--purple-dark:#34115c;--gray:#666;--white:#fff;--ink:#242124;--line:#e2e2e2;--soft:#f7f6f5;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--gray);background:var(--white);font:16px/1.65 Arial,Helvetica,sans-serif}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}h1,h2,h3{margin:0 0 .6em;color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12}h1{font-size:clamp(2.6rem,5vw,4.9rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.02em}h3{font-size:1.5rem}p{margin:0 0 1.25em}a{color:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.6rem;z-index:20}.utility{border-bottom:1px solid var(--line);font-size:.72rem;letter-spacing:.08em;text-align:right;padding:.35rem 0}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:90px}.site-header{background:#fff;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:inline-flex;align-items:baseline;gap:.55rem;color:var(--purple)}.brand span{font:700 2rem Georgia,serif}.brand small{font-size:.65rem;letter-spacing:.25em}.primary-nav{display:flex;gap:1.7rem;align-items:center}.primary-nav a{text-decoration:none;color:#383438;font-size:.9rem;padding:2.2rem 0;border-bottom:2px solid transparent}.primary-nav a:hover,.primary-nav a:focus{color:var(--purple);border-color:var(--purple)}.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:.55rem .8rem}.hero{padding:76px 0 70px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:75px;align-items:center}.lead{font:1.15rem/1.65 Georgia,serif;max-width:660px}.eyebrow{color:var(--purple);font-size:.72rem;font-weight:700;letter-spacing:.16em;margin-bottom:1.4rem}.framed-image{margin:0;background:#fff;border:1px solid var(--line);padding:12px}.framed-image img{display:block;width:100%;height:390px;object-fit:cover}.framed-image figcaption{font-size:.75rem;padding:.65rem .25rem 0}.actions{display:flex;align-items:center;gap:1.6rem;margin-top:2rem}.button{display:inline-block;background:var(--purple);color:#fff;text-decoration:none;padding:.8rem 1.25rem;border:1px solid var(--purple);font-size:.88rem;font-weight:700}.button:hover,.button:focus{background:var(--purple-dark)}.text-link{color:var(--purple);text-decoration:none;border-bottom:1px solid var(--purple);font-weight:700;font-size:.88rem}.stat-strip{border-block:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0}.stats div{padding:0 30px;border-left:1px solid var(--line)}.stats div:first-child{border:0;padding-left:0}.stats strong{display:block;color:var(--purple);font:2rem Georgia,serif}.stats span{font-size:.78rem}.section{padding:82px 0}.section--ruled{border-top:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.split>div:last-child{max-width:560px}.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:32px}.editorial-grid article{padding:34px 32px;border-left:1px solid var(--line)}.editorial-grid article:first-child{border-left:0;padding-left:0}.editorial-grid article>span{color:var(--purple);font-size:.72rem}.callout{background:var(--soft)}.page-intro{padding:66px 0;border-bottom:1px solid var(--line);background:var(--soft)}.page-intro h1{font-size:clamp(2.8rem,5vw,4.5rem)}.page-intro p:last-child{max-width:730px;font:1.15rem/1.65 Georgia,serif}.media-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.phases{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}.phases li{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.phases li>span{color:var(--purple);font:1.5rem Georgia,serif}.phases h3,.phases p{margin-bottom:.3rem}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:65px 50px}.product-image{display:flex;align-items:center;justify-content:center;height:320px;background:var(--soft);border:1px solid var(--line);margin-bottom:28px;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;padding:28px}.product-card h2{font-size:2.2rem}.product-card h2 a{text-decoration:none}.product-image--detail{height:430px;margin:0}.news-list{border-top:1px solid var(--line)}.news-list article{display:grid;grid-template-columns:170px 1fr 2fr auto;gap:28px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}.news-list h2{font-size:1.5rem}.news-list h2 a{text-decoration:none}.news-list time,.page-intro time{font-size:.78rem;color:var(--purple)}.prose{font-size:1.05rem}.prose--narrow{max-width:760px}.disclaimer{border-top:1px solid var(--line);padding-top:18px;font-size:.78rem}.contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:100px}.contact-grid address{font-style:normal;border-left:1px solid var(--line);padding-left:50px}.empty{padding:35px 0}.site-footer{border-top:1px solid var(--line);padding:58px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:80px}.footer-grid>div:first-child p{max-width:420px;margin-top:18px}.footer-grid h2{font:700 .72rem Arial,sans-serif;letter-spacing:.14em;color:var(--purple)}.footer-grid>div>a:not(.brand){display:block;margin:.35rem 0;text-decoration:none}.legal{border-top:1px solid var(--line);margin-top:42px;padding-top:18px;font-size:.72rem;display:flex;justify-content:space-between}
@media(max-width:850px){.utility{display:block;text-align:center;font-size:.65rem;letter-spacing:.04em}.header-inner{min-height:74px}.nav-toggle{display:block}.primary-nav{display:none;position:absolute;z-index:10;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px}.primary-nav.is-open{display:grid}.primary-nav a{padding:.45rem}.hero-grid,.split,.media-split,.contact-grid{grid-template-columns:1fr;gap:42px}.hero{padding:50px 0}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(3){border-left:0}.stats div{padding:15px 20px}.editorial-grid{grid-template-columns:1fr}.editorial-grid article,.editorial-grid article:first-child{border-left:0;border-bottom:1px solid var(--line);padding:25px 0}.product-grid{gap:40px 25px}.news-list article{grid-template-columns:1fr;gap:4px}.contact-grid address{border:0;border-top:1px solid var(--line);padding:30px 0 0}.section{padding:58px 0}}@media(max-width:560px){.container{width:min(calc(100% - 28px),var(--max))}.hero-grid{gap:35px}.framed-image img{height:290px}.stats{grid-template-columns:1fr}.stats div,.stats div:nth-child(3){border:0;border-top:1px solid var(--line);padding:17px 0}.stats div:first-child{border-top:0}.product-grid{grid-template-columns:1fr}.product-image{height:270px}.actions{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:30px}.legal{display:block}.legal span{display:block;margin-top:5px}.phases li{grid-template-columns:55px 1fr}}

.product-detail-image{display:flex;align-items:center;justify-content:center;margin:0;min-height:260px}
.product-detail-image img{display:block;width:auto;max-width:min(100%,440px);height:auto;max-height:340px;object-fit:contain}
.facility-image{margin:0}
.facility-image img{display:block;width:100%;height:auto;max-height:440px;object-fit:cover}
.contact-modal{width:min(calc(100% - 32px),600px);max-height:calc(100vh - 32px);padding:32px;border:0;border-radius:2px;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.contact-modal::backdrop{background:rgba(36,33,36,.65)}
.contact-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.contact-modal__header .eyebrow{margin-bottom:.7rem}
.contact-modal__header h2{font-size:2.2rem}
.contact-modal__close{border:0;background:transparent;color:var(--ink);font-size:2rem;line-height:1;cursor:pointer}
.contact-form{display:grid;gap:16px}
.contact-form label{display:grid;gap:5px;color:var(--ink);font-size:.82rem;font-weight:700}
.contact-form label span{color:var(--gray);font-weight:400}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #bbb;background:#fff;padding:.72rem;font:inherit;color:var(--ink)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--purple);outline-offset:1px}
.contact-form textarea{resize:vertical}
.contact-form .button{justify-self:start;cursor:pointer}
.contact-form__honeypot{position:absolute!important;left:-9999px!important}
.form-notice{padding:12px 15px;border-left:4px solid}
.form-notice--success{background:#edf7ef;border-color:#2f7a3e;color:#245f30}
.form-notice--error{background:#fff1f1;border-color:#a93030;color:#7d2424}
.contact-page{padding-top:70px}
.contact-page__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:80px;align-items:start}
.contact-panel{max-width:760px}
.contact-panel>p:not(.eyebrow){max-width:670px}
.contact-form--page{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-details{padding:36px;border-top:4px solid var(--purple);background:var(--soft)}
.contact-details__logo{display:block;width:min(100%,280px);height:auto;margin:0 0 34px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.contact-details h2{font-size:clamp(1.8rem,3vw,2.35rem)}
.contact-details address{font-style:normal;font-size:1.02rem;color:var(--ink)}
.contact-social{display:grid;margin-top:30px;border-top:1px solid var(--line)}
.contact-social a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);color:var(--purple);font-weight:700;text-decoration:none}
.contact-map{margin-top:78px}
.contact-map__heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}
.contact-map__heading .eyebrow{margin-bottom:.7rem}
.contact-map__heading h2{margin-bottom:0}
.contact-map iframe{display:block;width:100%;height:460px;border:1px solid var(--line)}
@media(max-width:850px){.contact-page__grid{grid-template-columns:1fr;gap:48px}.contact-panel{max-width:none}.contact-map{margin-top:56px}.contact-map iframe{height:380px}}
@media(max-width:560px){.contact-form__row{grid-template-columns:1fr}.contact-details{padding:28px 24px}.contact-map__heading{align-items:flex-start;flex-direction:column}.contact-map iframe{height:330px}}

/* Product presentation */
.portfolio-group+.portfolio-group{margin-top:96px;padding-top:96px;border-top:1px solid var(--line)}
.portfolio-group__intro{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);min-height:390px;margin-bottom:48px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#f7f6f5 0%,#fff 72%)}
.portfolio-group__intro--reverse{grid-template-columns:minmax(0,1.28fr) minmax(280px,.72fr)}
.portfolio-group__intro--reverse .portfolio-group__visual{order:2}
.portfolio-group__visual{display:flex;align-items:center;justify-content:center;margin:0;min-height:390px;overflow:hidden;background:var(--soft)}
.portfolio-group__visual img{display:block;width:100%;height:100%;max-height:390px;object-fit:contain}
.portfolio-group__visual--coronary img{object-fit:cover;object-position:center;padding:0}
.portfolio-group__visual--peripheral img{padding:34px}
.portfolio-group__heading{display:flex;flex-direction:column;justify-content:center;padding:56px clamp(38px,6vw,82px)}
.portfolio-group__heading .eyebrow{margin-bottom:16px}
.portfolio-group__heading h2{font-size:clamp(2.5rem,4vw,4.2rem);margin-bottom:18px}
.portfolio-group__heading p:last-child{max-width:610px;margin:0;font:1.05rem/1.7 Georgia,"Times New Roman",serif}
.product-grid{gap:42px}
.product-card{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--white);transition:transform .2s ease,box-shadow .2s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(36,33,36,.08)}
.product-card .product-image{height:auto;aspect-ratio:16/9;margin:0;border:0;border-bottom:1px solid var(--line);background:linear-gradient(145deg,#fbfafc,#f2eff5)}
.product-card .product-image img{padding:34px;transition:transform .25s ease}
.product-card:hover .product-image img{transform:scale(1.025)}
.product-card__body{display:flex;flex:1;flex-direction:column;padding:30px 32px 32px}
.product-card__meta{display:flex;justify-content:space-between;margin-bottom:18px;color:var(--purple);font-size:.68rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.product-card__body h2{font-size:clamp(2rem,3vw,2.65rem);margin-bottom:.4em}
.product-card__body h2 a{text-decoration:none}
.product-card__body p{max-width:540px}
.product-card__link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);color:var(--purple);font-size:.85rem;font-weight:700;text-decoration:none}
.product-card__link span{font-size:1.25rem;transition:transform .2s ease}
.product-card__link:hover span{transform:translateX(4px)}
.product-overview{padding-top:64px}
.product-detail-image{min-height:0;width:100%;margin:0 auto 64px}
.product-detail-image img{width:100%;max-width:1100px;max-height:none;height:auto}
.product-overview__copy{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-top:54px;border-top:1px solid var(--line)}
@media(max-width:850px){.portfolio-group+.portfolio-group{margin-top:72px;padding-top:72px}.portfolio-group__intro,.portfolio-group__intro--reverse{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);min-height:320px}.portfolio-group__intro--reverse .portfolio-group__visual{order:0}.portfolio-group__visual{min-height:320px}.portfolio-group__visual img{max-height:320px}.portfolio-group__heading{padding:38px}.product-overview__copy{grid-template-columns:1fr;gap:28px}.product-detail-image{margin-bottom:42px}}
@media(max-width:560px){.portfolio-group+.portfolio-group{margin-top:56px;padding-top:56px}.portfolio-group__intro,.portfolio-group__intro--reverse{grid-template-columns:1fr;min-height:0;margin-bottom:30px}.portfolio-group__visual,.portfolio-group__intro--reverse .portfolio-group__visual{order:0;min-height:0;height:260px}.portfolio-group__visual img{max-height:260px}.portfolio-group__visual--coronary img{object-fit:cover}.portfolio-group__visual--peripheral img{padding:22px}.portfolio-group__heading{order:1;padding:30px 24px 34px}.portfolio-group__heading h2{font-size:2.35rem}.portfolio-group__heading p:last-child{font-size:.98rem}.product-grid{gap:26px}.product-card__body{padding:24px}.product-card .product-image img{padding:20px}.product-overview{padding-top:38px}}

/* Keep annotated artwork crisp and comfortably scaled. */
.product-detail-image{width:min(100%,840px);margin-inline:auto}
.product-detail-image img{width:100%;max-width:840px}
.facility-image{aspect-ratio:3/2;overflow:hidden}
.facility-image img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:47% 52%}
@media(max-width:560px){.product-detail-image{width:min(100%,680px)}.facility-image{aspect-ratio:4/3}}
.utility a{color:var(--purple);font-weight:700;text-underline-offset:2px}
