/* A quieter visual rhythm: freestanding objects, open space and normal flow. */
:root{--paper:#faf9f6;--pale:#f0f1ee;--line:#dcded9;--muted:#657078;--orange:#ca4b3b}
body{background:var(--paper)}
.header{background:#faf9f6f5;border-bottom-color:transparent}
.utility-bar{color:#c6d0d8}
.button{border-radius:999px;padding:18px 27px;transition:background .25s,color .25s}
.button:hover{transform:none}
.header-quote{padding:14px 22px}
.hero{margin:0 18px;min-height:750px;padding:86px calc(var(--pad) - 18px) 115px;border-radius:28px}
.hero-art{inset:0}
.hero-copy{animation:none}
.hero h1{font-size:clamp(53px,5.7vw,94px);line-height:1.11;letter-spacing:-.052em}
.hero-description{font-size:15px;max-width:420px;line-height:1.9}
.hero-eyebrow{font-size:10px;letter-spacing:.12em}
.hero-baseline{left:calc(var(--pad) - 18px);right:calc(var(--pad) - 18px);font-size:10px;letter-spacing:.02em}
.hero-tools>a{font-size:9px;letter-spacing:.04em}
.film-control-label{font-size:8px;letter-spacing:.08em}
.credentials-strip{background:transparent;border-bottom:0;padding-top:42px;padding-bottom:42px}
.credentials-strip strong{font-size:43px}
.credentials-strip p{font-size:12px;font-weight:400}
.credentials-strip p>span{font-size:10px}
.section-pad{padding-top:120px;padding-bottom:120px}
.intro{padding-top:84px;padding-bottom:120px}
.section-heading{margin-bottom:65px}
.section-heading>p,.intro-description p{font-size:14px;line-height:1.9}
.section-label,.eyebrow{letter-spacing:.1em}
.intro h2 em{color:#849188}
.capabilities{background:#f0f1ed;border-top:0}
.capability-grid{gap:8vw;align-items:center}
.capability-visual{position:relative;top:auto;background:transparent;min-height:0;max-height:none;overflow:visible;display:block;padding-bottom:0}
.capability-visual img{width:100%;padding:10px 0 0;max-height:none;filter:drop-shadow(0 20px 19px #26342d12)}
.sample-disc{width:90%;height:auto;left:5%;right:auto;top:0;aspect-ratio:1;transform:none;background:#e3e6df}
.visual-caption{position:relative;left:auto;right:auto;bottom:auto;margin-top:32px;display:flex;justify-content:space-between;font-size:8px;line-height:1.7;letter-spacing:.04em;color:#68746a}
.visual-caption>span:last-child{display:none}
.service-list summary{padding:26px 0}
.service-list summary h3{font-weight:400;font-size:21px}
.service-body p{font-size:13px}
.tags span{border-radius:999px;padding:4px 11px;font-size:9px}
.applications{background:var(--paper)}
.application-tabs{margin-bottom:36px}
.application-tabs>button{font-size:14px;font-weight:400}
.application-panel{background:transparent;grid-template-columns:1fr 1fr;gap:6vw;min-height:510px;align-items:stretch}
.application-copy{padding:38px 0 28px}
.application-copy h3{font-size:clamp(30px,3vw,44px);max-width:510px;margin:22px 0}
.application-copy>p:not(.eyebrow){font-size:14px;line-height:1.9}
.application-copy li{font-size:11px}
.application-quote{margin-top:22px}
.application-image{border-radius:32px;min-height:490px;background:#e9e5de;isolation:isolate}
.application-image.is-cutout{border-radius:46% 46% 28px 28px;background:#ece9e2}
.application-image>img{object-position:center}
.application-image.is-cutout>img{object-fit:contain;padding:25px 12px 62px;filter:drop-shadow(0 16px 14px #39281918)}
.application-image figcaption{font-size:8px;letter-spacing:.07em;padding:65px 30px 24px;line-height:1.7}
.application-image.is-cutout figcaption{color:#686b65;background:none;text-align:center;padding:0 22px 23px}
.technology{margin:0 24px;padding-left:calc(var(--pad) - 24px);padding-right:calc(var(--pad) - 24px);border-radius:32px;background:#e9eeed}
.technology-heading>div>p{font-size:14px}
.technology-top{border-color:#cad4d1}
.equipment-line{display:none}
.equipment-visual{padding-top:80px;padding-bottom:40px}
.equipment-bottom{border-color:#cad4d1}
.finish-studio{margin-top:100px;background:#142b3b;padding-top:70px;padding-bottom:90px}
.studio-heading{margin-bottom:48px}
.studio-copy>p{font-size:14px;line-height:1.9}
.finish-description p{font-size:13px}
.finish-buttons button{border-radius:999px}
.stage-corner,.studio-indicator{display:none}
.specimen{border-radius:9px}
.specimen-stage{background:radial-gradient(ellipse at 50% 50%,#6a89853b,transparent 69%)}
.studio-note{font-size:10px;line-height:1.8}
.work{background:var(--paper)}
.work-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:56px 6vw}
.project-feature .project-image{overflow:visible;isolation:isolate;background:transparent;aspect-ratio:1.15}
.project-feature .project-image:before{content:'';position:absolute;z-index:-1;inset:5% 10%;border-radius:50%;background:#e9e6de}
.project-feature:nth-child(2) .project-image:before{inset:1% 11% 5%;border-radius:48% 48% 22px 22px;background:#e5e9ed}
.project-feature .project-image img{object-fit:contain;padding:5% 3%;filter:drop-shadow(0 17px 13px #2927211a);transition:transform .5s ease}
.project:hover .project-image img{transform:none}
.project-feature:hover .project-image img{transform:scale(1.018)}
.project-open{border-radius:50%;width:43px;height:43px;right:18px;bottom:18px;background:var(--paper);box-shadow:0 4px 17px #23332d0b}
.project-meta{font-size:9px;line-height:1.7;letter-spacing:.07em;margin:28px 0 10px;min-height:0;font-weight:400}
.project-meta>span:last-child{display:block;font-size:8px}
.project-title{font-size:27px;line-height:1.35;font-weight:400;letter-spacing:-.035em}
.project-subtitle{font-size:12px;margin-top:8px}
.project-detail{display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:24px;row-gap:4px;border-top:1px solid var(--line);padding-top:28px;align-items:start}
.project-detail .project-image{grid-column:1;grid-row:1/4;aspect-ratio:1;border-radius:50%;align-self:center;background:#eae5dd}
.project-detail .project-image img{object-fit:cover}
.project-detail .project-open{width:29px;height:29px;font-size:18px;right:10px;bottom:10px}
.project-detail .project-meta{grid-column:2;margin:5px 0 2px;font-size:8px;letter-spacing:.04em}
.project-detail .project-meta>span:last-child{display:none}
.project-detail .project-title{grid-column:2;font-size:23px}
.project-detail .project-subtitle{grid-column:2;font-size:11px;margin:0;max-width:235px}
.about{background:#eef0eb}
.about-copy>p:not(.large-copy){font-size:14px}
.material-names>span{border-radius:999px}
.project-planning{background:var(--paper)}
.planning-grid p{font-size:13px;line-height:1.9}
.contact{background:#142b3b}
.contact-action>p{font-size:14px}
.footer{background:var(--paper)}
.image-note{max-width:740px;font-size:9px;line-height:1.8}
.quote-dialog,.project-dialog{border-radius:22px}
.project-dialog>img{object-fit:contain;background:#ecebe6;max-height:80dvh}
.original-image-label{display:block;font-size:10px;line-height:1.7;color:var(--muted);margin:12px 0 20px}
.js .reveal{translate:none;transform:none;transition:opacity .6s ease}
@media(min-width:1800px){
  .hero{min-height:850px;padding-top:110px}
  .technology{padding-left:max(calc(var(--pad) - 24px),calc((100vw - 1608px)/2));padding-right:max(calc(var(--pad) - 24px),calc((100vw - 1608px)/2))}
}
@media(max-width:1200px){
  .hero{min-height:735px}
  .section-pad{padding-top:96px;padding-bottom:96px}
  .intro{padding-top:68px}
  .capability-grid{gap:5vw}
  .service-list summary h3{font-size:19px}
  .application-panel{min-height:450px;gap:5vw}
  .application-image{min-height:450px}
  .application-copy>p:not(.eyebrow){font-size:13px}
  .project-detail{grid-template-columns:108px minmax(0,1fr);column-gap:20px}
  .project-detail .project-title{font-size:21px}
  .project-detail .project-meta{font-size:7px}
  .work-grid{column-gap:5vw}
}
@media(max-width:900px){
  .hero{min-height:710px;padding-top:79px}
  .hero h1{font-size:clamp(48px,7.3vw,65px)}
  .hero-description{font-size:14px;max-width:380px}
  .hero-eyebrow{font-size:8px}
  .hero-baseline{font-size:9px}
  .section-pad{padding-top:82px;padding-bottom:82px}
  .section-heading>p,.intro-description p{font-size:12px}
  .section-heading{margin-bottom:44px}
  .capability-grid{grid-template-columns:.9fr 1fr;gap:30px}
  .service-list summary h3{font-size:17px}
  .service-body p{font-size:12px}
  .visual-caption{font-size:7px;max-width:240px}
  .application-tabs>button{font-size:12px}
  .application-panel{gap:35px;min-height:420px}
  .application-image{min-height:420px}
  .application-copy h3{font-size:29px}
  .application-copy>p:not(.eyebrow){font-size:12px}
  .application-image figcaption{font-size:7px}
  .technology{margin:0 18px;padding-left:calc(var(--pad) - 18px);padding-right:calc(var(--pad) - 18px);border-radius:26px}
  .technology-heading>div>p{font-size:12px}
  .equipment-visual{padding-top:45px}
  .finish-studio{margin-top:80px}
  .studio-copy>p{font-size:12px}
  .finish-description p{font-size:11px}
  .work-grid{gap:42px 30px}
  .project-meta{font-size:8px;margin-top:23px}
  .project-meta>span:last-child{display:none}
  .project-title{font-size:23px}
  .project-subtitle{font-size:11px}
  .project-detail{grid-template-columns:85px minmax(0,1fr);column-gap:17px}
  .project-detail .project-title{font-size:18px}
  .project-detail .project-subtitle{font-size:10px}
  .project-detail .project-meta{font-size:6px}
  .project-detail .project-open{right:5px;bottom:5px;width:25px;height:25px}
  .about-copy>p:not(.large-copy),.planning-grid p{font-size:12px}
}
@media(max-width:600px){
  .hero{margin:0 10px;border-radius:20px;min-height:685px;padding:64px 22px 112px}
  .hero h1{font-size:clamp(35px,10.1vw,60px);line-height:1.13}
  .hero-description{font-size:13px;max-width:310px;line-height:1.85}
  .hero-eyebrow{font-size:7px;letter-spacing:.11em;margin-bottom:25px}
  .hero-actions .button{font-size:11px;padding:15px 19px}
  .hero-baseline{left:22px;right:22px;bottom:25px;gap:12px;padding-top:18px}
  .hero-baseline>span{font-size:8px;max-width:145px;line-height:1.6}
  .film-control-label{font-size:7px;min-width:52px}
  .credentials-strip{padding-top:30px;padding-bottom:26px}
  .credentials-strip strong{font-size:35px}
  .credentials-strip p{font-size:10px}
  .credentials-strip p>span{font-size:8px}
  .section-pad{padding-top:70px;padding-bottom:70px}
  .intro{padding-top:49px}
  .intro h2{font-size:34px}
  .intro-description p,.section-heading>p{font-size:13px}
  .section-heading{margin-bottom:36px}
  .section-heading .eyebrow{font-size:8px}
  .capability-grid{grid-template-columns:1fr;gap:42px}
  .capability-visual{max-width:400px;margin:0 auto;min-height:0;max-height:none}
  .capability-visual img{max-height:none;padding:0}
  .sample-disc{width:88%;height:auto;left:6%;top:0;transform:none}
  .visual-caption{font-size:7px;margin-top:22px;max-width:none}
  .service-list summary{padding:23px 0}
  .service-list summary h3{font-size:18px}
  .service-body p{font-size:12px}
  .application-tabs{margin-bottom:13px}
  .application-tabs>button{font-size:10px;gap:5px;padding-bottom:15px}
  .application-tabs>button>span{font-size:8px}
  .application-panel{grid-template-columns:1fr;gap:26px;min-height:0}
  .application-copy{padding:19px 0 0}
  .application-copy .eyebrow{font-size:8px}
  .application-copy h3{font-size:31px}
  .application-copy>p:not(.eyebrow){font-size:13px}
  .application-copy li{font-size:11px}
  .application-copy ul{margin-bottom:13px}
  .application-quote{font-size:11px;margin-top:13px}
  .application-image{min-height:0;height:clamp(325px,100vw,470px);border-radius:24px}
  .application-image.is-cutout{border-radius:46% 46% 24px 24px}
  .application-image.is-cutout>img{padding:16px 5px 51px}
  .application-image figcaption{font-size:7px}
  .technology{margin:0 10px;border-radius:22px;padding-left:22px;padding-right:22px}
  .technology-heading>div>p{font-size:13px}
  .technology-top .eyebrow,.tech-index{font-size:7px}
  .equipment-visual{padding-top:28px;padding-bottom:18px}
  .finish-studio{margin-top:70px}
  .studio-copy>p{font-size:13px}
  .finish-description p{font-size:12px}
  .studio-note{font-size:10px}
  .work-grid{grid-template-columns:minmax(0,1fr);gap:37px}
  .project-feature .project-image{aspect-ratio:1.14}
  .project-feature:nth-child(2) .project-image{aspect-ratio:1.14}
  .project-feature .project-image img{padding:3% 2%}
  .project-open{width:38px;height:38px;right:15px;bottom:15px}
  .project-meta{margin:19px 0 7px;font-size:8px}
  .project-meta>span:last-child{display:block;font-size:7px}
  .project-title{font-size:25px}
  .project-subtitle{font-size:12px}
  .project-detail{grid-template-columns:95px minmax(0,1fr);column-gap:20px;padding-top:25px}
  .project-detail .project-meta{font-size:7px;margin:3px 0 2px}
  .project-detail .project-title{font-size:21px}
  .project-detail .project-subtitle{font-size:11px}
  .project-detail .project-open{right:8px;bottom:8px}
  .about-copy>p:not(.large-copy),.planning-grid p{font-size:13px}
  .contact-action>p{font-size:13px}
  .image-note{font-size:8px}
  .project-dialog>img{max-height:45dvh;aspect-ratio:auto;width:100%;height:auto;object-fit:contain}
}
@media(prefers-reduced-motion:reduce){.project-feature:hover .project-image img{transform:none}}
.motion-paused .project-feature:hover .project-image img{transform:none}

/* About: let the company story carry the section without numerical callouts. */
.about-grid.about-editorial{display:block}
.about-editorial .about-copy{max-width:none;display:grid;grid-template-columns:1fr 1fr;column-gap:8%;align-items:start}
.about-editorial .large-copy{grid-row:span 2;max-width:580px}
.about-editorial .about-copy>p:not(.large-copy){margin-top:0}
.about-editorial .text-link{justify-self:start;grid-column:2}
@media(max-width:760px){
 .about-editorial .about-copy{display:block}
 .about-editorial .about-copy>p:not(.large-copy){margin-top:22px}
}
