/* Interior chapters of the approved Crovyx design. Native scroll, no cursor effects. */
.interior-page{overflow-x:clip}.interior-page main{max-width:1800px;margin:auto;padding-inline:var(--gutter)}.interior-page .header{max-width:1592px;width:calc(100% - var(--gutter)*2);margin:0 auto}.interior-page .page-hero{padding:54px 0 76px;border-bottom:1px solid var(--line)}.page-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:40px;align-items:center}.breadcrumb{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;margin-bottom:39px;flex-wrap:wrap;line-height:1.7}.breadcrumb span:not(:last-child){color:#76694f}.breadcrumb a{transition:color .4s}.breadcrumb a:hover{color:var(--gold)}.page-kicker,.page-mini-label{display:block;font-size:10px;line-height:1.7;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}.page-title{font-size:clamp(52px,5.2vw,87px);font-weight:450;letter-spacing:-.052em;line-height:1.075;text-wrap:balance;max-width:900px}.page-title em{color:var(--gold);font-weight:400;letter-spacing:-.038em;font-size:1.1em;line-height:1.02}.page-lead{max-width:630px;line-height:1.85;font-size:15px;color:var(--muted);margin-top:31px}.page-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:35px}.interior-page .btn-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--gold);color:#181911;font-size:12px;padding:19px 23px;border:1px solid var(--gold);position:relative;overflow:hidden;isolation:isolate;transition:background .5s,color .5s}.interior-page .btn-primary:before{content:'';position:absolute;inset:0;z-index:-1;background:#e1c89e;transform:translateX(-101%);transition:transform .7s var(--ease)}.interior-page .btn-primary:hover:before,.interior-page .btn-primary:focus-visible:before{transform:translateX(0)}.interior-page .btn-primary .btn-icon{transition:transform .7s var(--ease)}.interior-page .btn-primary:hover .btn-icon,.interior-page .btn-primary:focus-visible .btn-icon{transform:translateX(7px)}.btn-ghost{font-size:11px;padding-block:10px;border-bottom:1px solid #6b604b;color:var(--text);transition:color .4s,border-color .4s}.btn-ghost:hover{color:var(--gold);border-color:var(--gold)}.page-figure{min-width:0;align-self:center;position:relative}.scene-stage{width:100%;aspect-ratio:1;max-height:650px;position:relative;contain:layout paint;isolation:isolate}.scene-stage:after{content:'';position:absolute;bottom:9%;left:20%;width:60%;height:4%;border-radius:50%;background:#0007;filter:blur(9px);z-index:-1}.scene-stage canvas,.scene-poster,.scene-fallback{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}.scene-poster{z-index:1;opacity:0;transition:opacity .6s}.scene-poster.loaded{opacity:1}.scene-fallback{z-index:0}.scene-fallback>svg{width:100%;height:100%;overflow:visible}.scene-stage.has-poster .scene-fallback{opacity:0}.scene-stage canvas{z-index:2;opacity:0;transition:opacity .7s}.scene-stage.ready canvas{opacity:1}.scene-stage.ready .scene-poster,.scene-stage.ready .scene-fallback{opacity:0}.page-figure-overlay{display:block;font-size:11px;line-height:1.8;color:var(--muted);border-top:1px solid #484237;padding-top:18px;margin-inline:20px;max-width:530px}.page-section{padding-block:90px;border-bottom:1px solid var(--line);position:relative}.page-section-header{max-width:1020px;margin-bottom:48px}.page-section-title{font-size:clamp(34px,3.7vw,61px);line-height:1.12;letter-spacing:-.045em;font-weight:450;text-wrap:balance}.page-section-title em{color:var(--gold);font-size:1.13em;font-weight:400;letter-spacing:-.025em}.page-section-intro{font-size:15px;line-height:1.9;color:var(--muted);max-width:810px;margin-top:24px}.page-two-col{display:grid;grid-template-columns:1fr 1fr;gap:90px}.page-two-col .page-section-title{font-size:clamp(29px,3vw,46px)}.page-two-col .page-section-header{margin-bottom:28px}.page-two-col>div:last-child{padding-top:46px}.page-two-col>div:only-child{padding-top:0}.page-list{list-style:none;padding:0;margin:0}.page-list li{font-size:14px;line-height:1.9;color:var(--muted);position:relative;padding:20px 0 20px 25px;border-bottom:1px solid #33362d}.page-list li:first-child{border-top:1px solid #33362d}.page-list li:before{content:'';width:4px;height:4px;background:var(--gold);position:absolute;left:1px;top:31px;transform:rotate(45deg);transition:transform .5s var(--ease)}.page-list li:hover:before{transform:rotate(135deg) scale(1.5)}.page-list li strong{font-weight:550;color:var(--text)}.page-list li em{font-size:1.22em;color:var(--gold)}.page-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;position:relative}.page-step{position:relative;padding-top:31px;border-top:1px solid #655c48}.page-step:before{content:'';position:absolute;top:-3px;left:0;width:5px;height:5px;border:1px solid var(--gold);background:var(--bg);transform:rotate(45deg)}.page-step:after{content:'';position:absolute;left:0;top:-1px;height:1px;background:#dfc799;width:100%;transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}.page-step:hover:after,.page-step:focus-within:after{transform:scaleX(1)}.page-step h3{font-family:Instrument,Georgia,serif;font-weight:400;font-size:56px;color:var(--gold);line-height:1.12;letter-spacing:-.025em;transition:transform .8s var(--ease)}.page-step h3:not(:first-child){font-size:30px}.project-detail .page-step h3{font-size:30px;line-height:1.2}.page-step:hover h3{transform:translateY(-5px)}.page-step p{font-size:14px;line-height:1.85;color:var(--muted);margin-top:24px}.page-step p strong{color:var(--text);font-weight:550}.page-quote{padding:42px 7%;position:relative;border-left:1px solid var(--gold)}.page-quote blockquote{font-family:Instrument,Georgia,serif;font-style:italic;font-size:clamp(34px,4.2vw,65px);line-height:1.15;color:var(--gold);text-wrap:balance;letter-spacing:-.025em}.page-quote cite{display:block;color:var(--muted);font-size:11px;font-style:normal;margin-top:30px}.page-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.page-card{border-top:1px solid #655c48;padding-top:27px;position:relative}.page-card h3{font-weight:450;font-size:28px;line-height:1.2;letter-spacing:-.035em}.page-card h3 a{transition:color .5s}.page-card p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:22px}.page-links-list{display:flex;flex-wrap:wrap;gap:13px 26px;margin-top:28px;font-size:11px;line-height:1.8;color:var(--gold)}.page-links-list a{position:relative;padding-bottom:7px;border-bottom:1px solid #524833;transition:color .5s}.page-links-list a:after{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:1px;transform:scaleX(0);transform-origin:left;background:var(--gold);transition:transform .6s var(--ease)}.page-links-list a:hover:after,.page-links-list a:focus-visible:after{transform:scaleX(1)}.page-card:is(:hover,.is-active) h3 a,.page-card:focus-within h3 a{color:var(--gold)}.service-hub .page-section:nth-child(2) .page-card-grid{display:block}.service-hub .page-section:nth-child(2) .page-card{display:grid;grid-template-columns:1fr 280px;column-gap:55px;padding-block:35px}.service-hub .page-section:nth-child(2) .page-card .page-mini-label,.service-hub .page-section:nth-child(2) .page-card h3,.service-hub .page-section:nth-child(2) .page-card p,.service-hub .page-section:nth-child(2) .page-card .page-links-list{grid-column:1}.service-hub .page-section:nth-child(2) .page-card h3{font-size:36px}.service-hub .page-section:nth-child(2) .page-card .page-mini-label{margin-bottom:13px}.service-hub .page-section:nth-child(2) .page-card p{max-width:710px;margin-top:17px}.service-hub .page-section:nth-child(2) .card-visual{grid-column:2;grid-row:1/5;align-self:center}.card-visual svg{width:100%;height:auto;overflow:visible}.card-visual{position:relative}.card-visual .mechanism{transition:transform 1.2s var(--ease)}.page-card:is(:hover,.is-active) .card-visual .mechanism,.page-card:focus-within .card-visual .mechanism{transform:scale(1.1) rotate(-4deg)}.page-card:is(:hover,.is-active) .core,.page-card:focus-within .core{transform:translateY(-60px) rotate(8deg)}.page-card:is(:hover,.is-active) .node-0{transform:translate(-24px,-10px)}.page-card:is(:hover,.is-active) .node-3{transform:translate(24px,10px)}.page-card:is(:hover,.is-active) .rail,.page-card:focus-within .rail{transform:translate(calc((var(--i) - 1)*24px),calc(var(--i)*-14px))}.page-card:is(:hover,.is-active) .pane,.page-card:focus-within .pane{transform:translate(calc((var(--i) - 1)*-25px),calc((var(--i) - 1)*-25px)) rotate(calc((var(--i) - 1)*4deg))}.page-card:is(:hover,.is-active) .layer,.page-card:focus-within .layer{transform:translate(calc((var(--i) - 1)*18px),calc((var(--i) - 1)*-32px))}.page-card:is(:hover,.is-active) .signal,.page-card:focus-within .signal{opacity:1;stroke-dashoffset:0}.faq-list{max-width:1000px;margin-left:auto}.faq-item{border-top:1px solid var(--line);padding:0}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{font-size:20px;line-height:1.5;padding:26px 50px 26px 0;cursor:pointer;position:relative;list-style:none;transition:color .4s}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before,.faq-item summary:after{content:'';position:absolute;right:5px;top:39px;width:15px;height:1px;background:var(--gold);transition:transform .6s var(--ease)}.faq-item summary:after{transform:rotate(90deg)}.faq-item[open] summary:after{transform:rotate(0)}.faq-item[open] summary,.faq-item summary:hover{color:var(--gold)}.faq-item p{font-size:14px;line-height:1.85;color:var(--muted);padding:0 65px 30px 0;max-width:810px}.faq-item[open] p{animation:answer .5s var(--ease) both}@keyframes answer{from{opacity:.35;transform:translateY(-8px)}to{opacity:1;transform:none}}.page-cta{padding:92px 0 100px;position:relative;overflow:hidden}.page-cta>strong{display:block;font-size:clamp(40px,4.7vw,76px);font-weight:450;line-height:1.12;letter-spacing:-.05em;max-width:1200px;text-wrap:balance}.page-cta>strong em{font-weight:400;color:var(--gold);font-size:1.1em}.page-cta>p{font-size:15px;line-height:1.9;color:var(--muted);max-width:770px;margin-top:28px}.page-cta .page-links-list{margin-top:43px}.page-cta:after{content:'';position:absolute;right:0;bottom:35px;width:15vw;height:15vw;max-width:240px;max-height:240px;border:1px solid #66583b;transform:rotate(-24deg) translate(60%,40%);pointer-events:none;transition:transform 1.5s var(--ease);opacity:.4}.page-cta:hover:after{transform:rotate(0) translate(60%,40%)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 55px}.project-card{min-width:0;position:relative;border-bottom:1px solid var(--line);padding-bottom:36px}.project-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;gap:0 60px;align-content:center;padding-bottom:52px}.project-card:first-child .project-visual{grid-column:1;grid-row:1/5;margin:0;height:100%;min-height:380px}.project-card:first-child>:not(.project-visual){grid-column:2}.project-card:first-child .page-mini-label{align-self:end;padding-top:40px}.project-card:first-child h3{font-size:53px}.project-card:first-child .page-links-list{align-self:start}.project-visual{position:relative;display:block;aspect-ratio:1.4;margin-bottom:30px;background:radial-gradient(ellipse at 48% 48%,#21231a,#141610 68%);contain:layout paint;isolation:isolate;overflow:hidden}.project-visual .artifact{position:absolute;inset:0;width:100%;height:100%;transition:transform 1.25s var(--ease)}.project-card:is(:hover,.is-active) .artifact,.project-card:focus-within .artifact{transform:scale(1.08)}.project-card h3{font-size:34px;line-height:1.15;font-weight:450;letter-spacing:-.045em;max-width:600px}.project-card h3 a{transition:color .5s}.project-card:is(:hover,.is-active) h3 a,.project-card:focus-within h3 a{color:var(--gold)}.project-card .page-mini-label{margin-bottom:15px;font-size:9px;letter-spacing:.09em}.project-card p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:20px}.artifact-part,.artifact-wave,.artifact-ring{transform-box:fill-box;transform-origin:center;transition:transform 1.1s var(--ease)}.project-card:is(:hover,.is-active) .artifact-part,.project-card:focus-within .artifact-part{transform:translate(calc((var(--i) - 1)*14px),calc((var(--i) - 1)*-28px))}.project-card:is(:hover,.is-active) .artifact-wave,.project-card:focus-within .artifact-wave{transform:translateY(-25px) scaleY(1.4)}.project-card:is(:hover,.is-active) .artifact-ring,.project-card:focus-within .artifact-ring{transform:translateY(calc(var(--i)*-18px)) rotate(calc(var(--i)*8deg))}.visual-frame{position:absolute;border:1px solid #857044;inset:15% 25%;opacity:.17;pointer-events:none;transition:transform 1.4s var(--ease),opacity 1s;z-index:-1}.frame-back{transform:rotate(-15deg) scale(.8)}.frame-front{transform:rotate(15deg) scale(.9)}.project-card:is(:hover,.is-active) .frame-back,.project-card:focus-within .frame-back{transform:rotate(-28deg) scale(1.35);opacity:.35}.project-card:is(:hover,.is-active) .frame-front,.project-card:focus-within .frame-front{transform:rotate(28deg) scale(1.15);opacity:.3}.project-detail .page-title{font-size:clamp(60px,6.7vw,104px);max-width:800px}.project-detail .page-lead{font-size:14px}.project-detail .page-kicker{font-size:9px;letter-spacing:.085em}.project-detail .page-hero-grid{grid-template-columns:1.1fr 1fr}.project-gallery .page-hero-grid{grid-template-columns:1.2fr .9fr}.project-gallery .page-title{font-size:clamp(53px,5.6vw,87px)}.mobile-domain{display:block;font-size:10px;color:var(--muted);margin-top:25px}.interior-page .footer-copy{font-size:10px}.page-hero-copy{animation:arrive 1s var(--ease) both}
@media(min-width:1700px){.scene-stage{max-height:700px}.page-hero-grid{gap:75px}}
@media(max-width:1100px){.page-hero-grid,.project-detail .page-hero-grid,.project-gallery .page-hero-grid{grid-template-columns:1.1fr 1fr;gap:22px}.page-title{font-size:5.8vw}.project-detail .page-title{font-size:7vw}.project-gallery .page-title{font-size:5.5vw}.page-lead{font-size:13px}.page-actions{gap:22px}.interior-page .btn-primary{padding:17px 18px;gap:24px;font-size:11px}.page-two-col{gap:50px}.page-step-grid{gap:28px}.projects-grid{gap:50px 35px}.project-card:first-child{column-gap:35px}.project-card:first-child h3{font-size:43px}.page-section{padding-block:70px}.page-card-grid{gap:30px}.page-card h3{font-size:23px}.service-hub .page-section:nth-child(2) .page-card{column-gap:30px;grid-template-columns:1fr 240px}}
@media(max-width:760px){.interior-page main{padding-inline:var(--gutter)}.interior-page .page-hero{padding:30px 0 45px}.page-hero-grid,.project-detail .page-hero-grid,.project-gallery .page-hero-grid{display:block}.breadcrumb{margin-bottom:32px;font-size:9px;gap:9px}.page-kicker{font-size:9px;margin-bottom:21px}.page-title,.project-gallery .page-title{font-size:clamp(42px,10.8vw,69px);letter-spacing:-.055em;line-height:1.1;max-width:620px}.project-detail .page-title{font-size:clamp(52px,12vw,80px)}.page-title em{font-size:1.1em}.page-lead,.project-detail .page-lead{font-size:13px;line-height:1.85;margin-top:25px}.page-actions{gap:20px;margin-top:28px}.interior-page .btn-primary{font-size:11px;padding:17px 19px;gap:23px}.btn-ghost{font-size:10px}.page-figure{margin-top:22px}.scene-stage{aspect-ratio:1.16;max-height:440px;width:calc(100% + 20px);margin-inline:-10px}.page-figure-overlay{margin-inline:0;font-size:10px;padding-top:15px}.page-section{padding-block:55px}.page-section-header{margin-bottom:33px}.page-section-title{font-size:clamp(31px,8.2vw,52px);letter-spacing:-.04em;line-height:1.14}.page-section-intro{font-size:13px;line-height:1.85;margin-top:21px}.page-two-col{display:block}.page-two-col .page-section-title{font-size:33px}.page-two-col>div:last-child{padding-top:45px}.page-two-col>div:only-child{padding-top:0}.page-list li{font-size:13px;padding:18px 0 18px 22px}.page-list li:before{top:29px}.page-step-grid{grid-template-columns:1fr;gap:35px}.page-step{padding-top:25px;display:grid;grid-template-columns:55px 1fr;gap:20px}.page-step h3{font-size:44px}.page-step p{font-size:13px;margin-top:0}.project-detail .page-step{display:block}.project-detail .page-step h3{font-size:28px}.project-detail .page-step p{margin-top:16px}.page-quote{padding:12px 0 12px 25px}.page-quote blockquote{font-size:36px}.page-quote cite{font-size:10px;margin-top:25px}.page-card-grid{grid-template-columns:1fr;gap:37px}.page-card h3{font-size:27px}.page-card p{font-size:13px;margin-top:17px}.service-hub .page-section:nth-child(2) .page-card{grid-template-columns:1fr 100px;column-gap:18px;padding-block:28px}.service-hub .page-section:nth-child(2) .page-card h3{font-size:27px;grid-column:1}.service-hub .page-section:nth-child(2) .page-card p,.service-hub .page-section:nth-child(2) .page-card .page-links-list{grid-column:1/-1}.service-hub .page-section:nth-child(2) .card-visual{grid-column:2;grid-row:1/3;width:115px;margin-left:-10px}.service-hub .page-section:nth-child(2) .page-card .page-mini-label{font-size:8px;letter-spacing:.085em;max-width:200px}.faq-item summary{font-size:16px;padding:23px 38px 23px 0}.faq-item summary:before,.faq-item summary:after{top:35px;width:13px}.faq-item p{font-size:13px;padding:0 25px 26px 0}.page-cta{padding-block:60px 65px}.page-cta>strong{font-size:clamp(36px,9.6vw,57px)}.page-cta>p{font-size:13px;margin-top:24px}.page-cta .page-links-list{margin-top:32px}.page-links-list{font-size:10px;gap:11px 21px}.projects-grid{display:block}.project-card{margin-bottom:43px;padding-bottom:32px}.project-card:last-child{margin-bottom:0}.project-card:first-child{display:block;padding-bottom:32px}.project-card:first-child .project-visual{min-height:0;height:auto;margin-bottom:27px}.project-card:first-child .page-mini-label{padding-top:0}.project-card:first-child h3,.project-card h3{font-size:34px}.project-card p{font-size:13px;margin-top:18px}.project-visual{aspect-ratio:1.25;margin-bottom:27px}.project-card .page-mini-label{font-size:9px;line-height:1.8}.interior-page .footer-copy{font-size:9px}}
@media(max-width:360px){.page-title,.project-gallery .page-title{font-size:10.6vw}.project-detail .page-title{font-size:12.3vw}.page-two-col .page-section-title{font-size:29px}.page-quote blockquote{font-size:31px}.service-hub .page-section:nth-child(2) .page-card h3{font-size:24px}.service-hub .page-section:nth-child(2) .page-card{grid-template-columns:1fr 86px}.service-hub .page-section:nth-child(2) .card-visual{width:100px}}
@media(prefers-reduced-motion:reduce){.artifact-part,.artifact-ring,.artifact-wave,.project-card .artifact,.page-step h3{transform:none!important}.page-hero-copy{animation:none}.faq-item[open] p{animation:none}.interior-page .btn-primary:before{transition:none}}
/* Cached real renders give the gallery the same studio material as detail pages.
   Local unfolding frames and a finite reflection sweep add depth without more GPUs. */
.gallery-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;z-index:1;transition:transform 1.25s var(--ease),opacity .6s}
.project-visual.has-poster .gallery-poster{opacity:1}.project-visual.has-poster .artifact{opacity:0}
.project-card:is(:hover,.is-active) .gallery-poster,.project-card:focus-within .gallery-poster{transform:translateY(-13px) scale(1.08) rotate(-3deg)}
.project-visual:after{content:'';position:absolute;inset:-50%;z-index:2;background:linear-gradient(110deg,transparent 43%,#dfc29108 47%,#f5e3b617 50%,transparent 55%);transform:translateX(-80%);pointer-events:none;transition:transform 1.6s var(--ease)}
.project-card:is(:hover,.is-active) .project-visual:after,.project-card:focus-within .project-visual:after{transform:translateX(60%)}
.project-visual .visual-frame{inset:13% 28%;opacity:.25;border-color:#a98a54;z-index:0}
@media(prefers-reduced-motion:reduce){.gallery-poster,.project-visual:after{transform:none!important}.project-visual:after{display:none}}
/* Quiet studio light and a serif signature distinguish the product chapters. */
.scene-stage:before{content:'';position:absolute;inset:10%;z-index:-1;background:radial-gradient(ellipse at 50% 55%,#35301d44,transparent 68%);pointer-events:none}
.project-detail .page-title em{display:block;font-size:1.12em;letter-spacing:-.03em}
@media(max-width:760px){.project-detail .page-title em{font-size:1.08em}}

@media(max-width:760px),(pointer:coarse){.project-visual.scroll-active .gallery-poster{transform:translateY(calc(var(--travel)*-17px)) scale(1.05);transition:transform .28s ease-out}.project-visual.scroll-active .frame-back{transform:rotate(calc(-22deg + var(--travel)*14deg)) scale(1.25);opacity:.35}.project-visual.scroll-active .frame-front{transform:rotate(calc(22deg + var(--travel)*-14deg)) scale(1.12);opacity:.3}.project-visual.scroll-active .visual-frame{transition-duration:.28s}}
@media(prefers-reduced-motion:reduce){.project-visual.scroll-active .gallery-poster{transform:none!important}}
