:root{--paper:#f1ece2;--bone:#e5ddce;--espresso:#201b17;--espresso-2:#2b251f;--brass:#b0823f;--brass-soft:#ca9c58;--olive:#6c7058;--ink:#231e19;--line:rgba(35,30,25,.16);--display:"Bricolage Grotesque",Arial,sans-serif;--body:"Hanken Grotesk",Arial,sans-serif;--mono:"Spline Sans Mono",monospace;--shell:min(1240px,calc(100vw - 64px));--section:clamp(92px,10vw,150px)}
*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--body);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.shell{width:var(--shell);margin-inline:auto}.light-panel{background:var(--paper);color:var(--ink)}.bone-panel{background:var(--bone);color:var(--ink)}.dark-panel{background:var(--espresso);color:var(--paper)}.mono{margin:0 0 24px;color:var(--brass-soft);font:500 .75rem/1.45 var(--mono);letter-spacing:.18em;text-transform:uppercase}h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.045em;line-height:.95}h1 em,h2 em{color:var(--brass-soft);font-style:normal;font-weight:500}.skip-link,.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{clip:auto;width:auto;height:auto;z-index:9999;top:16px;left:16px;background:#fff;padding:10px 14px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}.reveal.is-visible{opacity:1;transform:none}
.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:104px;padding:0 max(32px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;color:var(--paper);transition:height .3s,background .3s,color .3s,box-shadow .3s}.site-header.is-scrolled{height:78px;background:rgba(241,236,226,.96);color:var(--ink);box-shadow:0 1px rgba(35,30,25,.14);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;min-height:64px}.brand__image{width:auto;height:64px;min-height:52px;object-fit:contain;filter:brightness(0) invert(1);transition:height .3s,filter .3s}.site-header.is-scrolled .brand__image{height:54px;filter:none}.brand__name{font:600 .88rem/1.1 var(--display);letter-spacing:.12em}.brand__name small{display:block;margin-top:6px;color:var(--brass-soft);font:500 .5rem/1 var(--mono);letter-spacing:.25em}.desktop-nav{display:flex;align-items:center;gap:31px}.desktop-nav>a{position:relative;padding:8px 0;color:var(--paper);font:600 .95rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;transition:color .3s,transform .3s}.site-header.is-scrolled .desktop-nav>a:not(.nav-cta){color:var(--ink)}.desktop-nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--brass);transition:right .3s ease}.desktop-nav>a:not(.nav-cta):hover,.desktop-nav>a.is-active{color:var(--brass-soft);transform:translateY(-2px)}.desktop-nav>a:not(.nav-cta):hover:after,.desktop-nav>a.is-active:after{right:0}.nav-cta{padding:15px 19px;border:1px solid var(--brass);color:var(--paper);font-weight:600!important}.nav-cta:hover{background:var(--brass);color:var(--espresso);transform:translateY(-2px)}.site-header.is-scrolled .nav-cta{color:var(--ink)}.nav-cta span{margin-left:10px}.menu-toggle{display:none;width:46px;height:46px;border:0;background:none;color:inherit}.menu-toggle>span:not(.screen-reader-text){display:block;width:25px;height:1px;margin:7px auto;background:currentColor;transition:.25s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:90;inset:0;padding:140px 32px 40px;background:var(--espresso);color:var(--paper);visibility:hidden;opacity:0;transform:translateX(100%);transition:opacity .38s,transform .5s cubic-bezier(.2,.8,.2,1),visibility .5s}.mobile-menu.is-open{visibility:visible;opacity:1;transform:none}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{padding:12px 0;border-bottom:1px solid rgba(241,236,226,.12);font:600 clamp(2rem,10vw,4rem)/1.1 var(--display);transform:translateX(28px);opacity:0;transition:.4s}.mobile-menu.is-open nav a{transform:none;opacity:1}.mobile-menu.is-open nav a:nth-child(2){transition-delay:.05s}.mobile-menu.is-open nav a:nth-child(3){transition-delay:.1s}.mobile-menu.is-open nav a:nth-child(4){transition-delay:.15s}.mobile-menu.is-open nav a:nth-child(5){transition-delay:.2s;color:var(--brass-soft)}.mobile-menu>p{position:absolute;left:32px;bottom:32px;color:rgba(241,236,226,.55);font:500 .67rem/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.hero-section{position:relative;min-height:100svh;padding:165px 0 48px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate}.hero-backdrop{position:absolute;z-index:-3;inset:-6%;background-image:linear-gradient(90deg,rgba(32,27,23,.94),rgba(32,27,23,.80)),var(--hero-background);background-position:center;background-size:cover;transform:translate3d(0,var(--hero-parallax,0),0) scale(1.08);animation:hero-breathe 22s ease-in-out infinite alternate;will-change:transform}.hero-grid-drift{position:absolute;z-index:-2;inset:0;opacity:.13;background-image:linear-gradient(rgba(202,156,88,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(202,156,88,.35) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,transparent,black 60%,transparent);animation:grid-drift 28s linear infinite}.hero-grid,.dimension-line{position:relative;z-index:2}.hero-grid{display:grid;grid-template-columns:1fr .86fr;gap:7vw;align-items:center}.hero-copy .hero-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:34px;color:var(--brass-soft);font-size:.9rem;font-weight:500;letter-spacing:.22em}.hero-eyebrow i{display:block;width:46px;height:1px;background:var(--brass);transform-origin:left;animation:rule-in 1s .25s both}.hero-copy h1{max-width:760px;margin:0 0 36px;font-size:clamp(3.8rem,7vw,7.2rem)}.hero-lead{max-width:46ch;margin:0 0 42px;color:rgba(241,236,226,.76);font-size:1.15rem;line-height:1.6}.brass-button{display:inline-flex;justify-content:space-between;min-width:238px;padding:19px 21px;border:1px solid var(--brass);background:var(--brass);color:var(--espresso);font:500 .8rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:transform .3s,background .3s,color .3s}.brass-button span{color:var(--espresso)}.brass-button:hover{background:var(--brass-soft);color:var(--espresso);transform:translateY(-3px)}.framed-image{position:relative}.framed-image img{width:100%;height:100%;object-fit:cover}.hero-image{height:min(68vh,660px);min-height:450px;perspective:1500px;background:var(--espresso-2)}.hero-slides{position:absolute;inset:0;transform-style:preserve-3d;overflow:hidden}.hero-slide{position:absolute;inset:0;margin:0;opacity:0;transform:rotateY(-88deg);transform-origin:left center;backface-visibility:hidden;transition:transform .95s cubic-bezier(.55,.08,.22,.99),opacity .7s ease;will-change:transform,opacity}.hero-slide.is-active{z-index:2;opacity:1;transform:rotateY(0)}.hero-slide.is-active.is-entering{z-index:4;opacity:1;transform:rotateY(-88deg)}.hero-slide.is-leaving{z-index:3;opacity:0;transform:rotateY(88deg)}.hero-slide img{width:100%;height:100%;object-fit:cover}.hero-slide--placeholder{display:grid;place-items:center;padding:30px;background:var(--espresso-2);color:rgba(241,236,226,.5);text-align:center}.hero-progress{position:absolute;z-index:7;left:18px;bottom:18px;display:flex;gap:8px}.hero-progress button{width:22px;height:3px;padding:0;border:0;background:rgba(241,236,226,.35);cursor:pointer;transition:.3s}.hero-progress button.is-active{width:38px;background:var(--brass-soft)}.image-code{position:absolute;z-index:8;right:12px;bottom:10px;margin:0;padding:5px 8px;background:var(--espresso);font-size:.56rem}.tick{position:absolute;z-index:9;width:28px;height:28px;color:var(--brass)}.tick:before,.tick:after{content:"";position:absolute;background:currentColor}.tick:before{width:28px;height:1px}.tick:after{width:1px;height:28px}.tick--tl{top:-10px;left:-10px}.tick--tr{top:-10px;right:-10px;transform:rotate(90deg)}.tick--br{right:-10px;bottom:-10px;transform:rotate(180deg)}.tick--bl{left:-10px;bottom:-10px;transform:rotate(270deg)}.dimension-line{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:15px;margin-top:65px;color:rgba(241,236,226,.62);font:500 .64rem/1 var(--mono);letter-spacing:.18em}.dimension-line i{height:1px;background:rgba(202,156,88,.45)}@keyframes hero-breathe{to{transform:translate3d(0,var(--hero-parallax,0),0) scale(1.14)}}@keyframes grid-drift{to{background-position:70px 70px}}@keyframes rule-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.services-section,.process-section,.portfolio-section{padding-block:var(--section)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:75px}.section-head h2{margin:0;font-size:clamp(3rem,5vw,5.5rem)}.section-head>p{max-width:390px;margin:0;color:#6d655c}.service-list{border-top:1px solid var(--line)}.service-row{position:relative;display:grid;grid-template-columns:110px 1fr 1.35fr 30px;gap:35px;align-items:start;padding:40px 22px;border-bottom:1px solid var(--line);transition:background .3s}.service-row:before{content:"";position:absolute;top:0;bottom:0;left:0;width:0;background:var(--brass);transition:width .25s}.service-row:hover{background:rgba(176,130,63,.08)}.service-row:hover:before{width:4px}.service-row .mono{margin:8px 0 0;color:var(--brass)}.service-row h3{margin:0;font-size:clamp(1.8rem,2.8vw,3rem)}.service-row p{margin:0;color:#70685e;font-size:.9rem}.service-row b{color:var(--brass);font-size:1.2rem;font-weight:400}
.about-section{padding-block:var(--section)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.about-image{height:680px}.about-copy h2{margin:0 0 38px;font-size:clamp(3rem,5vw,5.4rem)}.about-copy>p:not(.mono){max-width:720px;color:rgba(241,236,226,.6)}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;border-top:1px solid rgba(202,156,88,.25)}.about-stats div{padding:25px 16px 0 0}.about-stats strong{display:block;color:var(--brass-soft);font:600 2.5rem/1 var(--display)}.about-stats span{color:rgba(241,236,226,.45);font-size:.7rem}
.process-line{position:relative;display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:30px 0 0;list-style:none}.process-line:before{content:"";position:absolute;top:49px;left:0;right:0;height:1px;background:var(--brass)}.process-line li{position:relative;padding:52px 20px 0 0}.process-line li:before{content:"";position:absolute;z-index:2;top:13px;left:0;width:11px;height:11px;border:7px solid var(--bone);border-radius:50%;background:var(--brass)}.process-line .mono{color:var(--brass)}.process-line h3{margin:0;font-size:clamp(1.5rem,2vw,2.2rem)}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:80px 32px}.portfolio-card:nth-child(3n){grid-column:1/-1;width:72%;margin-inline:auto}.portfolio-card .framed-image{height:440px;background:var(--espresso)}.portfolio-card:nth-child(3n) .framed-image{height:520px}.portfolio-card img{transition:transform .7s cubic-bezier(.2,.75,.2,1)}.portfolio-card:hover img{transform:scale(1.035)}.portfolio-card .framed-image{overflow:visible}.portfolio-card .framed-image img{overflow:hidden}.portfolio-meta{display:grid;grid-template-columns:100px 1fr;gap:20px;padding-top:22px}.portfolio-meta .mono{margin:8px 0 0;color:var(--brass)}.portfolio-meta h3{margin:0;font-size:2rem}.portfolio-meta p{margin:5px 0 0;color:#786f65;font-size:.78rem}.cta-section{padding-block:clamp(100px,12vw,180px);text-align:center}.cta-section h2{margin:0 0 45px;font-size:clamp(3.6rem,7vw,7.5rem)}
.site-footer{padding:100px 0 25px;background:#17130f;color:var(--paper)}.footer-top{display:grid;grid-template-columns:1.8fr .8fr .7fr 1.05fr;gap:50px}.footer-intro h2{margin:0;font-size:clamp(2.8rem,4vw,4.8rem)}.footer-intro h2 em{color:var(--brass-soft);font-style:normal}.footer-top>div:not(.footer-intro){display:flex;flex-direction:column;align-items:flex-start}.footer-title{margin:0 0 20px;color:var(--brass-soft);font:500 .65rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}.footer-top a{margin:0 0 7px;color:rgba(241,236,226,.52);font-size:.78rem}.footer-top a:hover{color:var(--paper)}.footer-address{display:flex;justify-content:space-between;gap:40px;margin-top:80px;padding-top:22px;border-top:1px solid rgba(241,236,226,.1);color:rgba(241,236,226,.3);font:400 .58rem/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase}.footer-address span:first-child{max-width:700px}
@media(max-width:980px){:root{--shell:calc(100vw - 44px)}.site-header{height:84px;padding:0 22px}.brand,.brand__image{min-height:0}.brand__image{height:52px}.site-header.is-scrolled .brand__image{height:46px}.desktop-nav{display:none}.menu-toggle{display:block;z-index:2}.hero-grid,.about-grid{grid-template-columns:1fr}.hero-section{padding-top:145px}.hero-image{height:58vh}.about-image{height:560px}.section-head{align-items:start;gap:45px}.service-row{grid-template-columns:80px 1fr 1.25fr 20px;gap:22px}.footer-top{grid-template-columns:1.4fr 1fr}.portfolio-card:nth-child(3n){width:85%}}
@media(max-width:680px){:root{--shell:calc(100vw - 40px)}.site-header{height:76px}.brand__image{height:44px}.site-header.is-scrolled .brand__image{height:42px}.hero-section{padding:118px 0 35px}.hero-copy .hero-eyebrow{gap:10px;margin-bottom:28px;font-size:.72rem;letter-spacing:.15em}.hero-eyebrow i{width:26px}.hero-copy h1{font-size:clamp(3.2rem,15vw,5rem)}.hero-lead{font-size:1.04rem}.hero-image{height:58vh;min-height:360px}.dimension-line{margin-top:42px;gap:8px}.section-head{display:block;margin-bottom:50px}.section-head>p{margin-top:25px}.section-head h2{font-size:clamp(2.8rem,12vw,4rem)}.service-row{grid-template-columns:1fr 24px;padding:32px 14px;gap:14px}.service-row>span{grid-column:1}.service-row h3{grid-column:1}.service-row p{grid-column:1}.service-row b{grid-column:2;grid-row:1/4}.about-image{height:480px}.about-stats{grid-template-columns:1fr}.about-stats div{padding-bottom:18px}.process-line{grid-template-columns:1fr;padding:0 0 0 24px}.process-line:before{top:0;bottom:0;left:5px;right:auto;width:1px;height:auto}.process-line li{padding:0 0 42px 30px}.process-line li:before{top:2px;left:-24px}.process-line .mono{margin-bottom:10px}.portfolio-grid{display:block}.portfolio-card,.portfolio-card:nth-child(3n){width:auto;margin:0 0 60px}.portfolio-card .framed-image,.portfolio-card:nth-child(3n) .framed-image{height:340px}.portfolio-meta{grid-template-columns:75px 1fr}.cta-section h2{font-size:clamp(3.1rem,14vw,5rem)}.footer-top{grid-template-columns:1fr}.footer-address{display:block}.footer-address span{display:block;margin-top:12px}}
.hero-copy .hero-eyebrow{font-size:14px}.hero-lead{font-size:18px}.desktop-nav>a{font-size:15px}
@media(max-width:680px){.hero-copy .hero-eyebrow{font-size:12px}.hero-lead{font-size:16px}}
.services-section{position:relative;isolation:isolate;overflow:hidden;padding-block:var(--section);background:var(--espresso);color:var(--paper)}.services-content{position:relative;z-index:2}.services-blueprint{position:absolute;z-index:0;inset:-80px;opacity:.1;pointer-events:none;background-image:linear-gradient(rgba(202,156,88,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(202,156,88,.28) 1px,transparent 1px);background-size:64px 64px;transform:rotate(-4deg) scale(1.08);animation:services-grid-drift 30s linear infinite}.services-glow{position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 20%,rgba(176,130,63,.15),transparent 36%),radial-gradient(circle at 88% 85%,rgba(108,112,88,.12),transparent 32%);animation:services-glow-drift 16s ease-in-out infinite alternate}.services-head h2{color:var(--paper)}.services-head .mono{color:var(--brass-soft)}.services-head>p{color:rgba(241,236,226,.7);font-size:16px;line-height:1.7}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.service-card{position:relative;display:flex;min-height:420px;flex-direction:column;overflow:hidden;padding:34px 28px;border:1px solid rgba(202,156,88,.2);background:rgba(43,37,31,.92);color:var(--paper);transition:opacity .7s ease,transform .4s cubic-bezier(.2,.75,.25,1),background .4s,border-color .4s,box-shadow .4s}.service-card.reveal{transition-delay:var(--service-delay,0ms)}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.75,.25,1)}.service-card.is-visible:hover{transform:translateY(-6px);transition-delay:0ms;background:#332b24;border-color:rgba(202,156,88,.55);box-shadow:0 24px 45px rgba(0,0,0,.22)}.service-card:focus-visible{outline:2px solid var(--brass-soft);outline-offset:4px}.service-card:hover:before{transform:scaleX(1)}.service-icon{width:48px;height:48px;margin-bottom:45px;color:var(--brass-soft);transition:transform .4s cubic-bezier(.2,.75,.25,1)}.service-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service-card:hover .service-icon{transform:translateY(-2px) scale(1.07)}.service-card h3{margin:0 0 22px;color:var(--paper);font-size:clamp(24px,2vw,28px);line-height:1.08;transition:color .3s}.service-card:hover h3{color:var(--brass-soft)}.service-card p{margin:0;color:rgba(241,236,226,.7);font-size:15px;line-height:1.65}.service-arrow{margin-top:auto;padding-top:25px;color:var(--brass-soft);font-size:20px;opacity:.55;transition:transform .3s,opacity .3s}.service-card:hover .service-arrow{opacity:1;transform:translate(3px,-3px)}@keyframes services-grid-drift{to{background-position:64px 64px}}@keyframes services-glow-drift{to{transform:translate3d(3%,-2%,0) scale(1.04)}}
@media(max-width:980px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:360px}}
@media(max-width:680px){.services-grid{grid-template-columns:1fr;gap:16px}.service-card{min-height:0;padding:30px 25px}.service-icon{margin-bottom:32px}.services-head>p{font-size:15px}}
.about-section--modern{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#f5f0e8 0%,var(--paper) 45%,var(--bone) 100%);color:var(--ink)}.about-grid-pattern{position:absolute;z-index:-1;inset:0;opacity:.12;pointer-events:none;background-image:linear-gradient(rgba(176,130,63,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(176,130,63,.25) 1px,transparent 1px),radial-gradient(circle at 85% 18%,rgba(202,156,88,.3),transparent 32%);background-size:72px 72px,72px 72px,100% 100%;mask-image:linear-gradient(90deg,transparent,black 28%,black 72%,transparent)}.about-section--modern .about-grid{grid-template-columns:1.05fr .95fr;gap:clamp(55px,8vw,110px)}.about-section--modern .about-image{height:auto;aspect-ratio:4/5;background:var(--espresso-2)}.about-slides{position:absolute;inset:0;overflow:hidden;background:var(--espresso-2)}.about-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.03);transition:opacity .9s ease,transform 4.8s ease-out}.about-slide.is-active{z-index:2;opacity:1;transform:scale(1.08)}.about-slide img{width:100%;height:100%;object-fit:cover}.about-slide--placeholder{display:grid;place-items:center;color:var(--brass-soft)}.about-slide--placeholder .dh-placeholder{width:78%;height:auto}.about-progress{position:absolute;z-index:8;bottom:18px;left:18px;display:flex;gap:8px}.about-progress button{width:22px;height:3px;padding:0;border:0;background:rgba(241,236,226,.45);cursor:pointer;transition:width .3s,background .3s}.about-progress button.is-active{width:38px;background:var(--brass-soft)}.about-section--modern .about-copy .mono{color:var(--brass);margin-bottom:28px}.about-section--modern .about-copy h2{max-width:700px;margin:0 0 38px;color:var(--ink);font-size:clamp(3.3rem,5.7vw,6.2rem);line-height:.94}.about-highlight{position:relative;display:inline-block;color:var(--brass);font-style:normal;font-weight:500}.about-highlight:after{content:"";position:absolute;right:0;bottom:-10px;left:0;height:3px;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .8s .35s cubic-bezier(.2,.75,.25,1)}.about-copy.is-visible .about-highlight:after{transform:scaleX(1)}.about-section--modern .about-copy>p:not(.mono){max-width:680px;margin:0 0 19px;color:rgba(35,30,25,.76);font-size:16px;line-height:1.75}.about-section--modern .about-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:48px;border-top:1px solid rgba(176,130,63,.42)}.about-section--modern .about-stats div{padding:25px 20px 0 0}.about-section--modern .about-stats strong{display:block;color:var(--brass);font:600 clamp(2.4rem,4vw,3.8rem)/1 var(--display);letter-spacing:-.04em}.about-section--modern .about-stats span{display:block;margin-top:9px;color:rgba(35,30,25,.68);font-size:.78rem;line-height:1.35}.about-section--modern .tick{color:var(--brass)}
@media(max-width:980px){.about-section--modern .about-grid{grid-template-columns:1fr;gap:70px}.about-section--modern .about-image{width:min(100%,720px);aspect-ratio:4/3}.about-section--modern .about-copy h2{max-width:850px}}
@media(max-width:680px){.about-section--modern .about-grid{gap:55px}.about-section--modern .about-image{height:auto;aspect-ratio:4/3}.about-section--modern .about-copy h2{font-size:clamp(3rem,14vw,4.5rem)}.about-section--modern .about-copy>p:not(.mono){font-size:15px}.about-section--modern .about-stats{grid-template-columns:1fr}.about-section--modern .about-stats div{padding:20px 0;border-bottom:1px solid rgba(176,130,63,.2)}.about-section--modern .about-stats span{font-size:.83rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-backdrop{transform:scale(1.08)}.hero-slide{transform:none;opacity:0}.hero-slide.is-active{transform:none;opacity:1}.about-slide{display:none;opacity:0;transform:none}.about-slide:first-child{display:block;opacity:1}.about-highlight:after{transform:scaleX(1)}}

/* Designing & Construction service page */
.construction-page{overflow:hidden;background:var(--paper)}.construction-hero{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:var(--espresso);color:var(--paper)}.construction-hero__media,.construction-hero__shade,.construction-blueprint{position:absolute;inset:0}.construction-hero__media{z-index:-3;transform:translate3d(0,var(--construction-parallax,0),0) scale(1.04);will-change:transform}.construction-hero__slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.05);transition:opacity 1.25s ease,transform 6s ease-out}.construction-hero__slide.is-active{opacity:1;transform:scale(1.12)}.construction-hero__slide img{width:100%;height:100%;object-fit:cover}.construction-hero__shade{z-index:-2;background:linear-gradient(90deg,rgba(24,19,15,.94) 0%,rgba(24,19,15,.82) 43%,rgba(24,19,15,.25) 73%,rgba(24,19,15,.52) 100%),linear-gradient(0deg,rgba(24,19,15,.72),transparent 55%)}.construction-blueprint{z-index:-1;opacity:.16;background-image:linear-gradient(rgba(202,156,88,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(202,156,88,.4) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,black,transparent 67%);animation:construction-grid 34s linear infinite}.construction-hero__content{position:relative;z-index:2;display:flex;min-height:100svh;flex-direction:column;justify-content:center;padding-top:130px;padding-bottom:110px}.construction-kicker{margin-bottom:35px;color:var(--brass-soft)}.construction-hero h1{max-width:1060px;margin:0;color:var(--paper);font-size:clamp(4.5rem,8.1vw,9rem);line-height:.86;letter-spacing:-.065em}.construction-hero h1 em{display:inline-block}.construction-hero__footer{display:flex;max-width:1040px;align-items:flex-end;justify-content:space-between;gap:50px;margin-top:58px;padding-top:28px;border-top:1px solid rgba(202,156,88,.38)}.construction-hero__footer>p{max-width:520px;margin:0;color:rgba(241,236,226,.7);font-size:1.05rem;line-height:1.65}.construction-hero__footer>div{display:flex;align-items:center;gap:25px}.construction-text-link{font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.construction-text-link span{margin-left:8px;color:var(--brass-soft)}.construction-hero__rail{position:absolute;z-index:3;right:26px;bottom:45px;display:flex;align-items:center;gap:12px;color:rgba(241,236,226,.55);font:500 .56rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl}.construction-hero__rail i{width:1px;height:32px;background:rgba(202,156,88,.55)}
.construction-intro{position:relative;padding:clamp(100px,11vw,170px) 0;background:linear-gradient(135deg,#f5f0e8,var(--bone));color:var(--ink)}.construction-intro:before{content:"";position:absolute;top:0;right:8%;width:1px;height:100%;background:rgba(176,130,63,.18)}.construction-intro__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:start}.construction-intro h2,.construction-packages h2,.construction-process h2,.construction-cta h2{margin:0;font-size:clamp(3.5rem,6vw,6.8rem);line-height:.91}.construction-intro__copy{padding-top:42px}.construction-intro__copy p{max-width:680px;margin:0 0 24px;color:rgba(35,30,25,.74);font-size:1.02rem;line-height:1.82}.construction-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:100px;background:rgba(35,30,25,.15);border:1px solid rgba(35,30,25,.15)}.construction-principles article{min-height:400px;padding:34px;background:rgba(241,236,226,.88);transition:background .4s,color .4s,transform .4s}.construction-principles article:hover{z-index:1;background:var(--espresso);color:var(--paper);transform:translateY(-8px)}.construction-principles .mono{color:var(--brass)}.construction-principles svg{width:56px;height:56px;margin-top:42px;fill:none;stroke:var(--brass);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.construction-principles h3{margin:48px 0 20px;font-size:clamp(1.8rem,2.4vw,2.7rem);line-height:1}.construction-principles p{max-width:35ch;margin:0;color:rgba(35,30,25,.64);font-size:.9rem}.construction-principles article:hover p{color:rgba(241,236,226,.64)}
.construction-showcase{display:grid;grid-template-columns:1.35fr .65fr;min-height:780px;background:var(--espresso);color:var(--paper)}.construction-showcase__image{position:relative;min-height:650px;overflow:hidden}.construction-showcase__image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(32,27,23,.55),transparent 42%)}.construction-showcase__image img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.75,.25,1)}.construction-showcase__image:hover img{transform:scale(1.035)}.construction-showcase__image>span{position:absolute;z-index:2;bottom:30px;left:34px;margin:0;color:var(--paper)}.construction-showcase__quote{display:flex;flex-direction:column;justify-content:center;padding:8vw 5vw;background:radial-gradient(circle at 100% 0,rgba(176,130,63,.19),transparent 45%)}.construction-showcase__quote blockquote{margin:25px 0 0;font:600 clamp(2.5rem,4vw,4.8rem)/1.02 var(--display);letter-spacing:-.05em}.construction-showcase__quote em{color:var(--brass-soft);font-style:normal}
.construction-packages{position:relative;isolation:isolate;padding:clamp(105px,11vw,175px) 0;background:#17130f;color:var(--paper)}.construction-package-grid{position:absolute;z-index:-1;inset:0;opacity:.08;background-image:linear-gradient(rgba(202,156,88,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(202,156,88,.28) 1px,transparent 1px);background-size:68px 68px}.construction-packages__head{display:flex;align-items:flex-end;justify-content:space-between;gap:70px}.construction-packages__head>p{max-width:410px;margin:0 0 8px;color:rgba(241,236,226,.62);line-height:1.7}.construction-packages__list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:75px}.construction-package{position:relative;display:flex;min-height:430px;flex-direction:column;padding:27px 24px;border:1px solid rgba(202,156,88,.22);background:rgba(43,37,31,.88);transition:opacity .7s ease,transform .4s cubic-bezier(.2,.75,.25,1),border-color .4s,background .4s;transition-delay:var(--package-delay,0ms)}.construction-package:before{content:"";position:absolute;inset:0;border-top:3px solid var(--brass-soft);transform:scaleX(0);transform-origin:left;transition:transform .4s}.construction-package.is-visible:hover{z-index:2;transform:translateY(-10px);transition-delay:0ms;border-color:rgba(202,156,88,.62);background:#332a22}.construction-package:hover:before,.construction-package.is-featured:before{transform:scaleX(1)}.construction-package.is-featured{background:linear-gradient(160deg,rgba(176,130,63,.2),rgba(43,37,31,.96));border-color:rgba(202,156,88,.48)}.construction-package__top{display:flex;align-items:center;justify-content:space-between}.construction-package__top .mono{margin:0;color:var(--brass-soft)}.construction-package__top b{padding:7px 9px;background:var(--brass);color:var(--espresso);font:500 .5rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.construction-package h3{margin:85px 0 20px;font-size:clamp(1.7rem,2vw,2.3rem)}.construction-price{display:flex;align-items:flex-start;margin:0;color:var(--paper);font:600 clamp(2rem,2.7vw,3rem)/1 var(--display);letter-spacing:-.05em}.construction-price small{margin:3px 4px 0 0;color:var(--brass-soft);font-size:.5em}.construction-price span{align-self:flex-end;margin:0 0 4px 6px;color:rgba(241,236,226,.48);font:500 .57rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.construction-package__action{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:22px;border-top:1px solid rgba(241,236,226,.12);color:rgba(241,236,226,.72);font-size:.73rem}.construction-package__action span{color:var(--brass-soft)}.construction-packages__note{max-width:820px;margin:30px 0 0;color:rgba(241,236,226,.38);font-size:.58rem;line-height:1.6}
.construction-process{padding:clamp(105px,11vw,170px) 0;background:var(--paper);color:var(--ink)}.construction-process__head{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;align-items:start}.construction-process__head .mono{margin-top:18px;color:var(--brass)}.construction-steps{display:grid;grid-template-columns:repeat(5,1fr);margin:85px 0 0;padding:0;border-top:1px solid rgba(35,30,25,.18);list-style:none}.construction-steps li{position:relative;min-height:300px;padding:36px 28px 20px 0;border-right:1px solid rgba(35,30,25,.14)}.construction-steps li:not(:first-child){padding-left:28px}.construction-steps li:before{content:"";position:absolute;top:-4px;left:0;width:8px;height:8px;background:var(--brass);border-radius:50%}.construction-steps li:not(:first-child):before{left:28px}.construction-steps span{color:var(--brass);font:500 .65rem/1 var(--mono)}.construction-steps h3{margin:92px 0 18px;font-size:clamp(1.5rem,2vw,2.2rem)}.construction-steps p{margin:0;color:rgba(35,30,25,.62);font-size:.84rem;line-height:1.65}.construction-gallery{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:18px;padding-bottom:clamp(100px,11vw,165px)}.construction-gallery figure{position:relative;height:560px;margin:0;overflow:hidden}.construction-gallery figure:nth-child(2){margin-top:95px}.construction-gallery figure:nth-child(3){height:460px;margin-top:35px}.construction-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.25,1)}.construction-gallery figure:hover img{transform:scale(1.04)}.construction-gallery figcaption{position:absolute;right:18px;bottom:14px;margin:0;padding:7px 9px;background:rgba(32,27,23,.88);color:var(--paper);font-size:.52rem}.construction-cta{position:relative;isolation:isolate;overflow:hidden;padding:clamp(110px,13vw,200px) 0;background:var(--espresso);color:var(--paper);text-align:center}.construction-cta__ring{position:absolute;z-index:-1;top:50%;left:50%;width:min(78vw,980px);aspect-ratio:1;border:1px solid rgba(202,156,88,.16);border-radius:50%;transform:translate(-50%,-50%)}.construction-cta__ring:before,.construction-cta__ring:after{content:"";position:absolute;inset:10%;border:1px solid rgba(202,156,88,.12);border-radius:50%}.construction-cta__ring:after{inset:24%}.construction-cta h2{margin-bottom:48px}.construction-cta .mono{color:var(--brass-soft)}
@keyframes construction-grid{to{background-position:76px 76px}}
@media(max-width:1100px){.construction-packages__list{grid-template-columns:repeat(3,1fr)}.construction-package{min-height:380px}.construction-package h3{margin-top:58px}.construction-steps{grid-template-columns:repeat(3,1fr)}.construction-steps li:nth-child(3){border-right:0}.construction-steps li:nth-child(n+4){border-top:1px solid rgba(35,30,25,.14)}}
@media(max-width:980px){.construction-hero__footer,.construction-packages__head{align-items:flex-start;flex-direction:column}.construction-hero__footer>div{flex-wrap:wrap}.construction-intro__grid{grid-template-columns:1fr;gap:25px}.construction-intro__copy{padding-top:0}.construction-principles{grid-template-columns:1fr}.construction-principles article{min-height:310px}.construction-showcase{grid-template-columns:1fr;min-height:0}.construction-showcase__image{min-height:650px}.construction-showcase__quote{min-height:500px}.construction-process__head{grid-template-columns:1fr}.construction-gallery{grid-template-columns:1fr 1fr}.construction-gallery figure:nth-child(3){grid-column:1/-1;width:70%;margin:0 auto}}
@media(max-width:680px){.construction-hero__content{justify-content:flex-end;padding-top:120px;padding-bottom:85px}.construction-hero h1{font-size:clamp(3.8rem,18vw,5.5rem)}.construction-hero__shade{background:linear-gradient(0deg,rgba(24,19,15,.96) 0%,rgba(24,19,15,.55) 68%,rgba(24,19,15,.45) 100%)}.construction-hero__footer{margin-top:38px}.construction-hero__footer>p{font-size:.95rem}.construction-hero__footer>div{align-items:stretch;flex-direction:column;width:100%}.construction-hero__footer .brass-button{width:100%}.construction-hero__rail{display:none}.construction-principles{margin-top:65px}.construction-principles article{padding:28px;min-height:330px}.construction-showcase__image{min-height:480px}.construction-showcase__quote{min-height:400px;padding:70px 24px}.construction-packages__head{gap:35px}.construction-packages__list{grid-template-columns:1fr}.construction-package{min-height:330px}.construction-package h3{margin-top:45px}.construction-process__head{gap:20px}.construction-steps{grid-template-columns:1fr;margin-top:55px;border-top:0;border-left:1px solid rgba(35,30,25,.18)}.construction-steps li,.construction-steps li:not(:first-child){min-height:0;padding:12px 0 50px 34px;border:0}.construction-steps li:before,.construction-steps li:not(:first-child):before{top:15px;left:-4px}.construction-steps h3{margin:18px 0 10px}.construction-gallery{display:block}.construction-gallery figure,.construction-gallery figure:nth-child(2),.construction-gallery figure:nth-child(3){width:100%;height:390px;margin:0 0 18px}.construction-cta h2{font-size:clamp(3.2rem,14vw,5rem)}}
@media(prefers-reduced-motion:reduce){.construction-hero__media{transform:none}.construction-hero__slide{display:none;transform:none}.construction-hero__slide:first-child{display:block;opacity:1}.construction-blueprint{animation:none}.construction-package{transition-delay:0ms}}

/* Testimonials */
.testimonials-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(105px, 11vw, 170px) 0;
  background:
    radial-gradient(circle at 50% 58%, rgba(176, 130, 63, .13), transparent 34%),
    linear-gradient(145deg, #201b17 0%, #17151a 54%, #101115 100%);
  color: var(--paper);
}
.testimonials-section::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  opacity: .12;
  background-image:
    linear-gradient(rgba(202, 156, 88, .24) 1px, transparent 1px),
    linear-gradient(90deg, rgba(202, 156, 88, .24) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent);
}
.testimonials-aurora {
  position: absolute;
  z-index: -1;
  width: 46vw;
  height: 46vw;
  border-radius: 50%;
  filter: blur(100px);
  opacity: .22;
  pointer-events: none;
  animation: testimonial-aurora 18s ease-in-out infinite alternate;
}
.testimonials-aurora--one {
  top: -24%;
  left: -10%;
  background: radial-gradient(circle, rgba(202, 156, 88, .78), rgba(176, 130, 63, .05) 68%, transparent);
}
.testimonials-aurora--two {
  right: -14%;
  bottom: -28%;
  background: radial-gradient(circle, rgba(108, 112, 88, .7), rgba(176, 130, 63, .05) 62%, transparent);
  animation-direction: alternate-reverse;
}
.testimonials-kerala-motif {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  color: var(--brass-soft);
  opacity: .085;
  pointer-events: none;
  animation: testimonial-motif-drift 26s ease-in-out infinite alternate;
}
.testimonials-kerala-motif path,
.testimonials-kerala-motif circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.testimonials-kerala-motif__border { opacity: .82; }
.testimonials-kerala-motif__border--bottom { transform: rotate(180deg); transform-origin: center 859px; }
.testimonials-kerala-motif__lamp { filter: drop-shadow(0 0 20px rgba(202, 156, 88, .2)); }
.testimonials-head,
.testimonial-showcase,
.testimonial-empty { position: relative; z-index: 1; }
.testimonials-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 70px;
}
.testimonials-head .mono { color: var(--brass-soft); }
.testimonials-head h2 {
  margin: 0;
  font-size: clamp(3.7rem, 6.6vw, 7.4rem);
  line-height: .9;
}
.testimonials-head > p {
  max-width: 46ch;
  margin: 0 0 .35rem;
  color: var(--paper);
  font-size: 17.5px;
  font-weight: 400;
  line-height: 1.6;
}
.testimonial-showcase {
  position: relative;
  margin-top: 78px;
}
.testimonial-showcase::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 4%;
  left: 50%;
  width: 76%;
  height: 88%;
  border-radius: 50%;
  background: rgba(202, 156, 88, .2);
  filter: blur(75px);
  opacity: .72;
  transform: translateX(-50%);
  pointer-events: none;
}
.testimonial-stage {
  display: grid;
  perspective: 1500px;
  transform-style: preserve-3d;
}
.testimonial-spotlight {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 28px;
  min-height: 430px;
  padding: clamp(36px, 5vw, 70px);
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  border: 1px solid rgba(202, 156, 88, .36);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(241, 236, 226, .105), rgba(43, 37, 31, .72)),
    radial-gradient(circle at 80% 10%, rgba(202, 156, 88, .12), transparent 45%);
  box-shadow:
    inset 0 1px rgba(255, 255, 255, .1),
    inset 0 -1px rgba(0, 0, 0, .25),
    0 45px 100px rgba(0, 0, 0, .36),
    0 8px 24px rgba(0, 0, 0, .24);
  backdrop-filter: blur(22px);
  transform: rotateX(7deg) rotateY(-48deg) translate3d(-7%, 20px, -180px) scale(.9);
  transform-origin: center;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  pointer-events: none;
  transition:
    transform .82s cubic-bezier(.2, .75, .18, 1),
    opacity .56s ease,
    visibility .82s;
  will-change: transform, opacity;
}
.testimonial-spotlight::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg, rgba(255, 255, 255, .1), transparent 28%, transparent 68%, rgba(202, 156, 88, .07));
  pointer-events: none;
}
.testimonial-spotlight::after {
  content: "";
  position: absolute;
  right: -100px;
  bottom: -180px;
  width: 390px;
  height: 390px;
  border: 1px solid rgba(202, 156, 88, .17);
  border-radius: 50%;
  box-shadow: 0 0 75px rgba(202, 156, 88, .07);
}
.testimonial-spotlight.is-active {
  z-index: 2;
  visibility: visible;
  opacity: 1;
  transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(0) scale(1);
  pointer-events: auto;
}
.testimonial-spotlight.is-active.is-entering {
  opacity: 0;
  transform: rotateX(-6deg) rotateY(48deg) translate3d(7%, -16px, -180px) scale(.9);
}
.testimonial-spotlight.is-leaving {
  z-index: 3;
  visibility: visible;
  opacity: 0;
  transform: rotateX(7deg) rotateY(-54deg) translate3d(-8%, 22px, -210px) scale(.88);
}
.testimonial-quote-mark {
  position: relative;
  z-index: 1;
  color: var(--brass-soft);
  font: 600 clamp(6rem, 9vw, 10rem)/.72 Georgia, serif;
  opacity: .92;
  transform: translateZ(38px);
  text-shadow: 0 12px 30px rgba(202, 156, 88, .22);
}
.testimonial-spotlight__content {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  transform: translateZ(24px);
}
.testimonial-stars {
  color: var(--brass-soft);
  font-size: .83rem;
  letter-spacing: .24em;
  text-shadow: 0 0 18px rgba(202, 156, 88, .24);
}
.testimonial-spotlight blockquote {
  max-width: 1050px;
  min-height: 4.2em;
  margin: 25px 0 36px;
  color: var(--paper);
  font: 500 clamp(1.3rem, 2vw, 2.18rem)/1.42 var(--display);
  letter-spacing: -.025em;
}
.testimonial-spotlight blockquote::before,
.testimonial-spotlight blockquote::after { display: none !important; content: none !important; }
.testimonial-caret {
  display: inline-block;
  width: 2px;
  height: .9em;
  margin-left: 5px;
  background: var(--brass-soft);
  vertical-align: -.08em;
  animation: testimonial-caret .72s steps(1) infinite;
}
.testimonial-spotlight.is-spoken .testimonial-caret {
  animation: none;
  opacity: 0;
  transition: opacity .45s ease;
}
.testimonial-spotlight footer {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: auto;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .45s ease, transform .45s cubic-bezier(.2, .75, .25, 1);
}
.testimonial-spotlight.is-spoken footer {
  opacity: 1;
  transform: none;
}
.testimonial-avatar {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  place-items: center;
  overflow: hidden;
  border: 2px solid var(--brass-soft);
  border-radius: 50%;
  background: var(--espresso-2);
  color: var(--brass-soft);
  box-shadow: 0 0 0 4px rgba(202, 156, 88, .1), 0 8px 20px rgba(0, 0, 0, .25);
  font: 600 1rem/1 var(--display);
}
.testimonial-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonial-spotlight footer strong {
  display: block;
  color: var(--paper);
  font: 600 1rem/1.2 var(--display);
}
.testimonial-spotlight footer small {
  display: block;
  margin-top: 5px;
  color: rgba(241, 236, 226, .5);
  font-size: .7rem;
}
.testimonial-controls {
  position: relative;
  z-index: 5;
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 28px;
}
.testimonial-dot {
  display: grid;
  width: 35px;
  height: 30px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.testimonial-dot span {
  display: block;
  width: 20px;
  height: 3px;
  border-radius: 99px;
  background: rgba(241, 236, 226, .25);
  transition: width .3s ease, background .3s ease, box-shadow .3s ease;
}
.testimonial-dot:hover span,
.testimonial-dot:focus-visible span { background: rgba(202, 156, 88, .7); }
.testimonial-dot:focus-visible { outline: 1px solid var(--brass-soft); outline-offset: 2px; }
.testimonial-dot.is-active span {
  width: 34px;
  background: var(--brass-soft);
  box-shadow: 0 0 16px rgba(202, 156, 88, .42);
}
.testimonial-empty {
  margin-top: 70px;
  padding: 40px;
  border: 1px solid rgba(202, 156, 88, .25);
  border-radius: 20px;
  background: rgba(43, 37, 31, .65);
  color: rgba(241, 236, 226, .7);
}
@keyframes testimonial-aurora {
  to { transform: translate3d(12%, 8%, 0) scale(1.12); }
}
@keyframes testimonial-motif-drift {
  to { transform: translate3d(-10px, 6px, 0); opacity: .105; }
}
@keyframes testimonial-caret {
  0%, 48% { opacity: 1; }
  49%, 100% { opacity: 0; }
}
@media (max-width: 980px) {
  .testimonials-head { align-items: flex-start; flex-direction: column; gap: 30px; }
  .testimonial-spotlight { grid-template-columns: 80px minmax(0, 1fr); min-height: 460px; }
}
@media (max-width: 680px) {
  .testimonials-head h2 { font-size: clamp(3.4rem, 16vw, 5rem); }
  .testimonials-head > p { max-width: 34ch; font-size: 16.5px; line-height: 1.6; }
  .testimonials-kerala-motif { opacity: .075; }
  .testimonial-showcase { margin-top: 55px; }
  .testimonial-showcase::before { width: 92%; }
  .testimonial-stage { perspective: none; }
  .testimonial-spotlight {
    display: block;
    min-height: 540px;
    padding: 30px 24px;
    border-radius: 22px;
    transform: translate3d(12%, 0, 0) scale(.96);
  }
  .testimonial-spotlight.is-active { transform: none; }
  .testimonial-spotlight.is-active.is-entering { transform: translate3d(12%, 0, 0) scale(.96); }
  .testimonial-spotlight.is-leaving { transform: translate3d(-12%, 0, 0) scale(.96); }
  .testimonial-quote-mark { display: block; height: 72px; transform: none; }
  .testimonial-spotlight__content { min-height: 405px; transform: none; }
  .testimonial-spotlight blockquote { min-height: 8em; font-size: 1.18rem; line-height: 1.48; }
  .testimonials-aurora { width: 90vw; height: 90vw; filter: blur(70px); }
}
@media (prefers-reduced-motion: reduce) {
  .testimonials-aurora,
  .testimonials-kerala-motif,
  .testimonial-caret { animation: none !important; }
  .testimonial-spotlight,
  .testimonial-spotlight.is-active,
  .testimonial-spotlight.is-active.is-entering,
  .testimonial-spotlight.is-leaving {
    transform: none;
    transition: opacity .4s ease, visibility .4s;
  }
  .testimonial-spotlight footer { transition: opacity .3s ease; transform: none; }
}

/* Portfolio project albums */
.portfolio-modern{position:relative;overflow:hidden;padding:clamp(100px,11vw,160px) 0;background:radial-gradient(circle at 82% 8%,rgba(202,156,88,.16),transparent 29%),linear-gradient(145deg,#f8f3ea 0%,var(--paper) 48%,#e7dece 100%);color:var(--ink);isolation:isolate}
.portfolio-blueprint{position:absolute;z-index:-1;inset:0;opacity:.42;background-image:linear-gradient(rgba(176,130,63,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(176,130,63,.09) 1px,transparent 1px),radial-gradient(circle at 15% 78%,rgba(108,112,88,.12),transparent 25%);background-size:72px 72px,72px 72px,auto;mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 80%,transparent 100%)}
.portfolio-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;padding-bottom:48px;border-bottom:1px solid rgba(35,30,25,.17)}
.portfolio-heading h2{margin:0;color:var(--ink);font-size:clamp(3.25rem,6.6vw,7.25rem)}
.portfolio-heading h2 em{color:var(--brass)}
.portfolio-heading>p{max-width:42ch;margin:0 0 8px;color:rgba(35,30,25,.78);font-size:1.08rem;line-height:1.7}
.portfolio-summary{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 clamp(80px,9vw,128px);border-bottom:1px solid rgba(35,30,25,.17)}
.portfolio-summary div{display:flex;align-items:baseline;gap:15px;padding:24px 0}
.portfolio-summary div+div{padding-left:32px;border-left:1px solid rgba(35,30,25,.15)}
.portfolio-summary strong{color:var(--brass);font:600 clamp(2.2rem,4vw,4.1rem)/1 var(--display)}
.portfolio-summary span{font:500 .68rem/1.3 var(--mono);letter-spacing:.15em;text-transform:uppercase}
.portfolio-rows{display:grid;gap:clamp(78px,9vw,126px);margin-top:clamp(72px,8vw,112px)}
.portfolio-row{min-width:0}
.portfolio-row__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}
.portfolio-row__head>div:first-child{display:flex;align-items:center;gap:17px}
.portfolio-row__marker{width:10px;height:10px;border:2px solid var(--brass);border-radius:50%}
.portfolio-row--ongoing .portfolio-row__marker{background:var(--brass);box-shadow:0 0 0 5px rgba(176,130,63,.12)}
.portfolio-row--plan-in-progress .portfolio-row__marker{border-radius:0;transform:rotate(45deg)}
.portfolio-row__head .mono{margin:0 0 5px;color:var(--olive);font-size:.58rem}
.portfolio-row__head h3{margin:0;color:var(--ink);font-size:clamp(2rem,3.4vw,3.5rem);letter-spacing:-.04em}
.portfolio-row__head h3 sup{top:-1em;margin-left:7px;color:var(--brass);font:500 .65rem/1 var(--mono);letter-spacing:.08em}
.portfolio-row__controls{display:flex;gap:8px}
.portfolio-row__controls button{width:47px;height:47px;border:1px solid rgba(35,30,25,.25);background:transparent;color:var(--ink);cursor:pointer;transition:.25s}
.portfolio-row__controls button:hover,.portfolio-row__controls button:focus-visible{border-color:var(--brass);background:var(--brass);color:#fff;transform:translateY(-2px)}
.portfolio-slider{overflow-x:auto;overflow-y:hidden;padding:18px calc(50% - min(200px,14.5vw)) 34px;margin-inline:max(-8vw,calc((1240px - 100vw)/2));scroll-snap-type:x mandatory;scroll-padding-inline:calc(50% - min(200px,14.5vw));scrollbar-width:none;cursor:grab;perspective:1200px}
.portfolio-slider::-webkit-scrollbar{display:none}.portfolio-slider.is-dragging{cursor:grabbing;scroll-snap-type:none}.portfolio-slider:focus-visible{outline:1px solid var(--brass);outline-offset:5px}
.portfolio-track{display:flex;gap:clamp(18px,2.5vw,34px);width:max-content;transform-style:preserve-3d}
.portfolio-album{position:relative;width:clamp(300px,29vw,400px);scroll-snap-align:center;transform:translateZ(calc(var(--coverflow-scale,1)*1px)) rotateY(var(--coverflow-rotate,0deg)) scale(var(--coverflow-size,1));transform-origin:center;transition:transform .38s cubic-bezier(.2,.75,.25,1),opacity .38s;opacity:var(--coverflow-opacity,1);will-change:transform}
.portfolio-album.is-focused{z-index:4;--coverflow-size:1.035!important;--coverflow-opacity:1!important}
.portfolio-album.is-focused>a{border-color:rgba(176,130,63,.75);box-shadow:0 30px 80px rgba(32,27,23,.19),0 0 0 1px rgba(176,130,63,.2)}
.portfolio-album>a{display:block;border:1px solid rgba(35,30,25,.14);background:rgba(241,236,226,.9);box-shadow:0 20px 60px rgba(32,27,23,.08);transition:border-color .25s,box-shadow .3s}
.portfolio-album>a:hover,.portfolio-album>a:focus-visible{border-color:var(--brass);box-shadow:0 28px 75px rgba(32,27,23,.15);outline:0}
.portfolio-album__media{position:relative;aspect-ratio:1.3;overflow:hidden;background:var(--bone)}
.portfolio-album__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(25,20,16,.7));opacity:.5;transition:.35s}
.portfolio-album__media img,.portfolio-album__media .dh-placeholder{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.25,1)}
.portfolio-album>a:hover img{transform:scale(1.045)}
.portfolio-tick{position:absolute;z-index:3;width:16px;height:16px;border-color:var(--brass-soft);border-style:solid}.portfolio-tick--tl{top:12px;left:12px;border-width:1px 0 0 1px}.portfolio-tick--tr{top:12px;right:12px;border-width:1px 1px 0 0}.portfolio-tick--bl{bottom:12px;left:12px;border-width:0 0 1px 1px}.portfolio-tick--br{right:12px;bottom:12px;border-width:0 1px 1px 0}
.portfolio-album__count{position:absolute;z-index:4;top:18px;left:20px;margin:0;padding:6px 8px;background:rgba(32,27,23,.78);color:var(--paper);font-size:.52rem;letter-spacing:.13em}
.portfolio-album__open{position:absolute;z-index:4;right:20px;bottom:18px;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.portfolio-album__open i{margin-left:7px;color:var(--brass-soft);font-style:normal}
.portfolio-state{position:absolute;z-index:5;top:18px;left:18px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 8px;padding:8px 11px;background:rgba(25,21,18,.9);color:var(--paper);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}.portfolio-state b{font-size:.57rem}.portfolio-state small{grid-column:2;color:rgba(241,236,226,.58);font-size:.43rem;letter-spacing:.08em}.portfolio-state--live>i{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:var(--brass-soft);box-shadow:0 0 0 0 rgba(202,156,88,.65);animation:portfolio-live-pulse 1.45s infinite}.portfolio-state--done{border:1px solid rgba(202,156,88,.7);background:rgba(32,27,23,.88);transform:rotate(-1.5deg)}.portfolio-state--done svg{grid-row:1/3;width:23px;height:23px;fill:none;stroke:var(--brass-soft);stroke-width:2.2}.portfolio-live-scan{position:absolute;z-index:3;top:-15%;bottom:auto;left:0;width:100%;height:24%;background:linear-gradient(transparent,rgba(202,156,88,.16),transparent);mix-blend-mode:screen;animation:portfolio-live-scan 3.2s linear infinite;pointer-events:none}
@keyframes portfolio-live-pulse{0%{box-shadow:0 0 0 0 rgba(202,156,88,.6)}70%{box-shadow:0 0 0 8px rgba(202,156,88,0)}100%{box-shadow:0 0 0 0 rgba(202,156,88,0)}}
@keyframes portfolio-live-scan{to{top:105%}}
.portfolio-album__copy{padding:27px 28px 25px}.portfolio-album__copy>.mono{margin:0 0 12px;color:var(--brass);font-size:.61rem}.portfolio-album__copy h4{margin:0 0 26px;color:var(--ink);font:600 clamp(1.55rem,2.2vw,1.8rem)/1.08 var(--display);letter-spacing:-.035em}.portfolio-album__copy dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding-top:19px;border-top:1px solid rgba(35,30,25,.16)}.portfolio-album__copy dl div{min-width:0}.portfolio-album__copy dt{color:rgba(35,30,25,.58);font:500 .57rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}.portfolio-album__copy dd{overflow:hidden;margin:7px 0 0;color:var(--ink);font-size:.92rem;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.portfolio-progress{padding:0 25px 24px}.portfolio-progress>div{display:flex;justify-content:space-between;margin-bottom:8px;color:rgba(35,30,25,.65);font:500 .57rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.portfolio-progress>div strong{color:var(--ink)}.portfolio-progress>i{display:block;height:3px;background:rgba(35,30,25,.12);overflow:hidden}.portfolio-progress b{display:block;width:var(--project-progress);height:100%;background:linear-gradient(90deg,var(--brass),var(--brass-soft));transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.2,.75,.25,1) .25s}.portfolio-row.is-in-view .portfolio-progress b{transform:scaleX(1)}
.portfolio-empty{display:grid;place-items:center;min-height:260px;padding:40px;border:1px dashed rgba(35,30,25,.25);text-align:center}.portfolio-empty span{color:var(--brass);font-size:2rem}.portfolio-empty p{margin:15px 0 2px;font:600 1.3rem var(--display)}.portfolio-empty small{color:rgba(35,30,25,.57)}
body.portfolio-modal-open{overflow:hidden}body.portfolio-modal-open .site-header{opacity:0;pointer-events:none}.portfolio-lightbox[hidden]{display:none}.portfolio-lightbox{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:clamp(16px,4vw,50px)}.portfolio-lightbox__backdrop{position:absolute;inset:0;background:rgba(15,12,10,.9);backdrop-filter:blur(10px)}.portfolio-lightbox__dialog{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,100%);height:min(820px,calc(100svh - 50px));background:var(--espresso);color:var(--paper);box-shadow:0 30px 100px #000;animation:portfolio-dialog-in .45s cubic-bezier(.2,.75,.25,1)}
.portfolio-lightbox__dialog>header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(241,236,226,.12)}.portfolio-lightbox__dialog header .mono{margin:0 0 4px;font-size:.51rem}.portfolio-lightbox__dialog h3{margin:0;font-size:clamp(1.25rem,2vw,2rem)}.portfolio-lightbox__dialog header button{width:46px;height:46px;border:1px solid rgba(241,236,226,.22);background:none;color:var(--paper);font-size:1.8rem;cursor:pointer}
.portfolio-lightbox__media{position:relative;display:grid;place-items:center;min-height:0;padding:16px 82px;background:#171310}.portfolio-lightbox__media img{width:100%;height:100%;object-fit:contain}.portfolio-lightbox__media button{position:absolute;top:50%;width:46px;height:56px;border:1px solid rgba(241,236,226,.2);background:rgba(32,27,23,.84);color:var(--paper);cursor:pointer;transform:translateY(-50%)}.portfolio-lightbox__media [data-lightbox-prev]{left:18px}.portfolio-lightbox__media [data-lightbox-next]{right:18px}
.portfolio-lightbox__dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;border-top:1px solid rgba(241,236,226,.12)}.portfolio-lightbox__dialog footer p{margin:0;color:rgba(241,236,226,.75);font-size:.82rem}.portfolio-lightbox__dialog footer .mono{margin:5px 0 0;font-size:.5rem}.portfolio-lightbox__dialog footer a{padding:10px 14px;border:1px solid var(--brass);color:var(--brass-soft);font-size:.72rem;text-transform:uppercase}
@keyframes portfolio-dialog-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:900px){.portfolio-heading{grid-template-columns:1fr;gap:25px}.portfolio-album{width:min(72vw,390px)}.portfolio-slider{padding-inline:32px;margin-inline:-32px;scroll-padding-inline:32px}.portfolio-lightbox__media{padding-inline:58px}}
@media(max-width:620px){.portfolio-modern{padding-block:90px}.portfolio-heading h2{font-size:clamp(3rem,15vw,4.4rem)}.portfolio-summary div{display:block;padding:18px 10px}.portfolio-summary div+div{padding-left:14px}.portfolio-summary strong{display:block}.portfolio-summary span{font-size:.5rem}.portfolio-row__controls button{width:41px;height:41px}.portfolio-album{width:82vw}.portfolio-slider{padding-inline:24px;margin-inline:-24px;scroll-padding-inline:24px}.portfolio-album__copy{padding:20px}.portfolio-lightbox{padding:0}.portfolio-lightbox__dialog{width:100%;height:100svh}.portfolio-lightbox__media{padding:10px 0 76px}.portfolio-lightbox__media button{top:auto;bottom:12px;transform:none}.portfolio-lightbox__dialog>footer{align-items:flex-start;padding:14px 18px}.portfolio-lightbox__dialog footer a{font-size:.58rem}}
@media(hover:none),(pointer:coarse){.portfolio-album{transform:none!important;opacity:1!important}.portfolio-slider{cursor:auto}}
@media(prefers-reduced-motion:reduce){.portfolio-album,.portfolio-album__media img,.portfolio-progress b,.portfolio-lightbox__dialog,.portfolio-state--live>i,.portfolio-live-scan{transition:none;animation:none}.portfolio-progress b{transform:scaleX(1)}.portfolio-live-scan{display:none}}

/* Renovation comparisons */
.renovation-section{position:relative;overflow:hidden;padding:clamp(105px,11vw,165px) 0;background:linear-gradient(145deg,#171310,var(--espresso) 52%,#292219);color:var(--paper);isolation:isolate}
.renovation-grid{position:absolute;z-index:-1;inset:0;opacity:.16;background-image:linear-gradient(rgba(202,156,88,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(202,156,88,.24) 1px,transparent 1px);background-size:82px 82px;mask-image:radial-gradient(circle at 70% 38%,#000,transparent 70%)}
.renovation-heading{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:end;margin-bottom:clamp(55px,7vw,90px)}
.renovation-heading h2{margin:0;color:var(--paper);font-size:clamp(3.7rem,7vw,7.8rem)}.renovation-heading h2 em{color:var(--brass-soft)}
.renovation-heading>p{max-width:44ch;margin:0 0 10px;color:rgba(241,236,226,.76);font-size:1.08rem;line-height:1.72}
.renovation-workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:30px;align-items:start}
.renovation-stage{min-width:0}.renovation-item{border:1px solid rgba(202,156,88,.28);background:rgba(43,37,31,.84);box-shadow:0 35px 90px rgba(0,0,0,.28)}
.renovation-compare{--renovation-split:50%;position:relative;aspect-ratio:16/9;overflow:hidden;background:#100e0c;cursor:ew-resize;touch-action:none;user-select:none}
.renovation-compare:focus-visible{outline:2px solid var(--brass-soft);outline-offset:5px}
.renovation-compare>img,.renovation-compare__before,.renovation-compare__before img{position:absolute;inset:0;width:100%;height:100%}.renovation-compare>img,.renovation-compare__before img{object-fit:cover}
.renovation-compare__before{z-index:2;overflow:hidden;clip-path:inset(0 calc(100% - var(--renovation-split)) 0 0);will-change:clip-path}
.renovation-compare__before:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,27,23,.18),transparent)}
.renovation-label{position:absolute;z-index:5;top:22px;margin:0;padding:7px 10px;border:1px solid rgba(202,156,88,.62);background:rgba(32,27,23,.82);color:var(--brass-soft);font-size:.58rem;letter-spacing:.18em}.renovation-label--before{left:22px}.renovation-label--after{right:22px}
.renovation-handle{position:absolute;z-index:6;top:0;bottom:0;left:var(--renovation-split);width:2px;background:var(--brass-soft);box-shadow:0 0 20px rgba(202,156,88,.55);transform:translateX(-1px);will-change:left}.renovation-handle:before,.renovation-handle:after{content:"";position:absolute;left:50%;width:1px;height:calc(50% - 34px);background:linear-gradient(transparent,var(--brass-soft))}.renovation-handle:before{top:0;transform:translateX(-50%)}.renovation-handle:after{bottom:0;transform:translateX(-50%) rotate(180deg)}
.renovation-handle i{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--brass-soft);border-radius:50%;background:var(--espresso);box-shadow:0 10px 35px rgba(0,0,0,.35);transform:translate(-50%,-50%)}.renovation-handle svg{width:38px;height:38px;fill:none;stroke:var(--brass-soft);stroke-width:1.8}
.renovation-compare.is-sweeping{animation:renovation-split-demo 1.8s cubic-bezier(.2,.75,.25,1) both}
@keyframes renovation-split-demo{0%{--renovation-split:50%}28%{--renovation-split:72%}67%{--renovation-split:28%}100%{--renovation-split:50%}}
@property --renovation-split{syntax:"<percentage>";inherits:true;initial-value:50%}
.renovation-caption{display:grid;grid-template-columns:1fr .8fr;gap:30px;padding:28px 30px}.renovation-caption .mono{margin:0 0 8px;color:var(--brass-soft);font-size:.57rem}.renovation-caption h3{margin:0;color:var(--paper);font-size:clamp(1.7rem,2.5vw,2.6rem);line-height:1.02}.renovation-caption>p{margin:0;color:rgba(241,236,226,.65);font-size:.86rem;line-height:1.65}
.renovation-selectors{display:grid;gap:13px}.renovation-selectors button{display:grid;grid-template-columns:84px 1fr;gap:15px;align-items:center;width:100%;padding:9px;border:1px solid rgba(241,236,226,.13);background:rgba(241,236,226,.035);color:var(--paper);text-align:left;cursor:pointer;transition:.28s}.renovation-selectors button:hover,.renovation-selectors button:focus-visible,.renovation-selectors button.is-active{border-color:var(--brass);background:rgba(202,156,88,.1);outline:0;transform:translateX(-5px)}.renovation-selectors img{width:84px;aspect-ratio:1.2;object-fit:cover;filter:saturate(.78)}.renovation-selectors span{min-width:0}.renovation-selectors .mono{display:block;margin:0 0 5px;color:var(--brass-soft);font-size:.48rem}.renovation-selectors strong{display:-webkit-box;overflow:hidden;font:600 .88rem/1.2 var(--display);-webkit-box-orient:vertical;-webkit-line-clamp:2}
.renovation-empty{padding:60px;border:1px dashed rgba(202,156,88,.35);color:rgba(241,236,226,.7);text-align:center}
@media(max-width:980px){.renovation-heading{grid-template-columns:1fr;gap:25px}.renovation-workspace{grid-template-columns:1fr}.renovation-selectors{grid-template-columns:repeat(3,minmax(0,1fr))}.renovation-selectors button{grid-template-columns:1fr}.renovation-selectors img{width:100%;aspect-ratio:1.7}.renovation-selectors button:hover,.renovation-selectors button:focus-visible,.renovation-selectors button.is-active{transform:translateY(-4px)}}
@media(max-width:620px){.renovation-heading h2{font-size:clamp(3.7rem,17vw,5.2rem)}.renovation-compare{aspect-ratio:4/3}.renovation-label{top:12px}.renovation-label--before{left:12px}.renovation-label--after{right:12px}.renovation-handle i{width:52px;height:52px}.renovation-caption{grid-template-columns:1fr;gap:16px;padding:22px}.renovation-selectors{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.renovation-selectors::-webkit-scrollbar{display:none}.renovation-selectors button{flex:0 0 72%;scroll-snap-align:start}.renovation-selectors strong{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.renovation-compare.is-sweeping{animation:none}.renovation-selectors button{transition:none}}

/* Final conversation CTA */
.final-cta{position:relative;overflow:hidden;isolation:isolate;padding:clamp(115px,13vw,195px) 0;background:linear-gradient(150deg,#17130f,var(--espresso) 55%,#2d261e);color:var(--paper)}
.final-cta__glow{position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 50% 70%,rgba(176,130,63,.22),transparent 38%)}
.final-cta__lines{position:absolute;z-index:-1;top:50%;left:50%;width:min(86vw,1050px);aspect-ratio:1;border:1px solid rgba(202,156,88,.15);border-radius:50%;transform:translate(-50%,-50%);animation:final-cta-breathe 8s ease-in-out infinite alternate}.final-cta__lines:before,.final-cta__lines:after{content:"";position:absolute;border:1px solid rgba(202,156,88,.11);border-radius:50%}.final-cta__lines:before{inset:13%}.final-cta__lines:after{inset:29%}
.final-cta__content{position:relative;z-index:2;text-align:center}.final-cta__content>.mono{margin-bottom:30px;color:var(--brass-soft);font-size:.75rem}.final-cta h2{max-width:1050px;margin:0 auto 54px;color:var(--paper);font-size:clamp(3.6rem,7vw,7.5rem);line-height:.94}.final-cta h2 em{color:var(--brass-soft)}
.final-cta__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.final-cta__button{display:inline-flex;min-width:205px;align-items:center;justify-content:space-between;gap:25px;padding:18px 20px;border:1px solid var(--brass);font:500 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:transform .3s,background .3s,color .3s,box-shadow .3s}.final-cta__button span{font-size:1rem}.final-cta__button:hover,.final-cta__button:focus-visible{outline:0;transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.25)}.final-cta__button--primary{background:var(--brass);color:var(--espresso)}.final-cta__button--primary:hover{background:var(--brass-soft)}.final-cta__button--outline{background:rgba(32,27,23,.65);color:var(--paper)}.final-cta__button--outline:hover{background:var(--paper);color:var(--espresso)}
@keyframes final-cta-breathe{to{transform:translate(-50%,-50%) scale(1.045);opacity:.72}}

/* Readable information-rich footer */
.site-footer--modern{position:relative;padding:clamp(85px,9vw,130px) 0 30px;background:#14110e;color:var(--paper)}
.site-footer--modern .footer-rule{position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,transparent,var(--brass) 22%,var(--brass-soft) 50%,var(--brass) 78%,transparent)}
.footer-lead{display:grid;grid-template-columns:.32fr 1.68fr;gap:45px;align-items:start;margin-bottom:clamp(65px,8vw,105px);padding-bottom:clamp(55px,6vw,78px);border-bottom:1px solid rgba(241,236,226,.14)}
.footer-lead>.mono{margin:16px 0 0;color:var(--brass-soft);font-size:.72rem}.footer-lead h2{max-width:850px;margin:0;color:var(--paper);font-size:clamp(3.2rem,6vw,6.6rem);line-height:.95}.footer-lead h2 em{color:var(--brass-soft);font-style:normal}
.site-footer--modern .footer-top{display:grid;grid-template-columns:1.45fr .8fr .68fr 1.15fr 1.05fr;gap:clamp(30px,4vw,64px);align-items:start}
.site-footer--modern .footer-top>div{display:flex;align-items:flex-start;flex-direction:column}
.footer-brand{display:inline-flex;margin-bottom:28px}.footer-brand__logo{width:auto;height:76px;object-fit:contain;filter:brightness(0) invert(1)}.footer-brand__name{font:600 2rem/1 var(--display);letter-spacing:.08em}.footer-brand-column>p{max-width:34ch;margin:0;color:rgba(241,236,226,.82);font-size:1rem;line-height:1.72}
.site-footer--modern .footer-title{margin:0 0 25px;color:var(--brass-soft);font:500 .8rem/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.site-footer--modern .footer-column>a{position:relative;margin:0 0 13px;color:var(--paper);font-size:.98rem;line-height:1.45;transition:color .25s,transform .25s}.site-footer--modern .footer-column>a:hover,.site-footer--modern .footer-column>a:focus-visible{color:var(--brass-soft);outline:0;transform:translateX(4px)}
.footer-location address{margin:0;color:rgba(241,236,226,.86);font-size:.98rem;font-style:normal;line-height:1.7}.footer-whatsapp{display:inline-flex!important;align-items:center;gap:9px}.footer-whatsapp svg{width:20px;height:20px;fill:none;stroke:var(--brass-soft);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.site-footer--modern .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:clamp(65px,8vw,105px);padding-top:26px;border-top:1px solid rgba(241,236,226,.14);color:rgba(241,236,226,.72);font:500 .72rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}.site-footer--modern .footer-bottom a{color:var(--brass-soft);transition:transform .25s}.site-footer--modern .footer-bottom a:hover{transform:translateY(-2px)}
@media(max-width:1100px){.site-footer--modern .footer-top{grid-template-columns:1.5fr 1fr 1fr}.footer-brand-column{grid-column:span 2}.footer-location{grid-column:span 2}}
@media(max-width:720px){.final-cta__content>.mono{font-size:.62rem}.final-cta h2{font-size:clamp(3.25rem,15vw,5rem)}.final-cta__actions{display:grid}.final-cta__button{width:100%;min-width:0}.footer-lead{grid-template-columns:1fr;gap:18px}.footer-lead>.mono{margin:0}.footer-lead h2{font-size:clamp(3rem,14vw,4.7rem)}.site-footer--modern .footer-top{grid-template-columns:1fr;gap:45px}.footer-brand-column,.footer-location{grid-column:auto}.footer-brand__logo{height:66px}.footer-brand-column>p,.site-footer--modern .footer-column>a,.footer-location address{font-size:1rem}.site-footer--modern .footer-bottom{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.final-cta__lines{animation:none}.final-cta__button,.site-footer--modern .footer-column>a,.site-footer--modern .footer-bottom a{transition:none}}

/* Persistent direct contact */
.contact-dock{position:fixed;z-index:140;bottom:20px;left:20px;display:flex;align-items:stretch;gap:8px;filter:drop-shadow(0 12px 24px rgba(20,17,14,.28))}
.contact-dock a{display:flex;align-items:center;border:1px solid rgba(202,156,88,.65);font-family:var(--mono);transition:transform .25s,background .25s,color .25s}.contact-dock a:hover,.contact-dock a:focus-visible{outline:0;transform:translateY(-3px)}
.contact-dock__whatsapp{gap:10px;padding:10px 15px;background:var(--olive);color:#fff}.contact-dock__whatsapp svg{width:29px;height:29px;flex:0 0 auto;fill:none;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contact-dock__whatsapp span{font-size:.68rem;line-height:1.25;letter-spacing:.04em}.contact-dock__whatsapp small{display:block;margin-bottom:2px;color:rgba(255,255,255,.72);font-size:.48rem;letter-spacing:.14em;text-transform:uppercase}
.contact-dock__call{gap:8px;padding:0 14px;background:var(--espresso);color:var(--paper);font-size:.63rem;letter-spacing:.04em}.contact-dock__call span{color:var(--brass-soft);font-size:.48rem;letter-spacing:.13em;text-transform:uppercase}.contact-dock__call b{font-weight:500}.contact-dock__call:hover{background:var(--brass);color:var(--espresso)}.contact-dock__call:hover span{color:var(--espresso)}
@media(max-width:640px){.contact-dock{right:72px;bottom:14px;left:14px}.contact-dock__whatsapp{min-width:0;flex:1;padding:9px 12px}.contact-dock__whatsapp svg{width:26px;height:26px}.contact-dock__whatsapp span{white-space:nowrap}.contact-dock__call{width:52px;justify-content:center;padding:0}.contact-dock__call span{font-size:.56rem}.contact-dock__call b{display:none}}
@media(prefers-reduced-motion:reduce){.contact-dock a{transition:none}}

/* Process */
.process-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(110px, 11vw, 170px) 0;
  background: var(--espresso);
  color: var(--paper);
}
.process-section::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(21, 17, 14, .94), rgba(32, 27, 23, .87) 48%, rgba(18, 18, 20, .91)),
    radial-gradient(circle at 50% 62%, rgba(176, 130, 63, .13), transparent 42%);
}
.process-backdrop {
  position: absolute;
  z-index: -3;
  inset: -5%;
  background: var(--process-background, linear-gradient(135deg, #2b251f, #171514)) center / cover no-repeat;
  filter: saturate(.68) contrast(1.08);
  transform: scale(1.06);
  animation: process-background-drift 24s ease-in-out infinite alternate;
  will-change: transform;
}
.process-blueprint {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .08;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(202, 156, 88, .35) 1px, transparent 1px),
    linear-gradient(90deg, rgba(202, 156, 88, .35) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: radial-gradient(circle at center, #000, transparent 80%);
}
.process-content { position: relative; z-index: 1; }
.process-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 70px;
}
.process-head .mono { color: var(--brass-soft); }
.process-head h2 {
  margin: 0;
  color: var(--paper);
  font-size: clamp(46px, 5.7vw, 78px);
  line-height: .94;
}
.process-head h2 em { color: var(--brass-soft); }
.process-head > p {
  max-width: 46ch;
  margin: 0 0 8px;
  color: rgba(241, 236, 226, .76);
  font-size: 17px;
  line-height: 1.65;
}
.process-diagram {
  --process-tilt-x: 0deg;
  --process-tilt-y: 0deg;
  position: relative;
  min-height: 780px;
  margin-top: 72px;
  perspective: 1500px;
  transform: rotateX(var(--process-tilt-x)) rotateY(var(--process-tilt-y));
  transform-style: preserve-3d;
  transition: transform .22s ease-out, opacity .7s ease;
}
.process-orbit-path {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: translateZ(-30px);
}
.process-orbit-path ellipse {
  fill: none;
  vector-effect: non-scaling-stroke;
}
.process-orbit-path__base { stroke: rgba(241, 236, 226, .12); stroke-width: 1; }
.process-orbit-path__draw {
  stroke: var(--brass-soft);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 2100;
  stroke-dashoffset: 2100;
  filter: drop-shadow(0 0 8px rgba(202, 156, 88, .5));
  transition: stroke-dashoffset 1.8s cubic-bezier(.22, .7, .2, 1);
}
.process-diagram.is-process-visible .process-orbit-path__draw { stroke-dashoffset: 0; }
.process-hub {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  width: 230px;
  height: 230px;
  place-content: center;
  border: 1px solid rgba(202, 156, 88, .45);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 25%, rgba(202, 156, 88, .19), rgba(32, 27, 23, .9) 68%);
  box-shadow: inset 0 1px rgba(255, 255, 255, .08), 0 28px 65px rgba(0, 0, 0, .35), 0 0 55px rgba(176, 130, 63, .08);
  text-align: center;
  transform: translate(-50%, -50%) translateZ(42px);
}
.process-hub::before,
.process-hub::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(202, 156, 88, .19);
  border-radius: inherit;
  inset: 12px;
}
.process-hub::after { inset: -12px; border-style: dashed; }
.process-hub .mono { margin: 0 0 12px; color: var(--brass-soft); font-size: 10px; }
.process-hub strong { color: var(--paper); font: 600 34px/.88 var(--display); letter-spacing: -.05em; }
.process-hub i { width: 34px; height: 1px; margin: 18px auto 0; background: var(--brass-soft); }
.process-orbit { position: absolute; inset: 0; margin: 0; padding: 0; list-style: none; transform-style: preserve-3d; }
.process-node {
  position: absolute;
  z-index: 3;
  width: 232px;
  list-style: none;
  outline: none;
  transform: translate(-50%, -50%) translateZ(15px);
  transition: opacity .65s ease, transform .5s cubic-bezier(.2, .75, .25, 1);
  transition-delay: calc(var(--node-index) * 120ms);
}
.js .process-node { opacity: 0; }
.js .process-diagram.is-process-visible .process-node { opacity: 1; }
.process-node--1 { top: 5%; left: 50%; }
.process-node--2 { top: 31%; left: 84%; }
.process-node--3 { top: 77%; left: 70%; }
.process-node--4 { top: 77%; left: 30%; }
.process-node--5 { top: 31%; left: 16%; }
.process-node article {
  position: relative;
  min-height: 178px;
  padding: 24px 24px 20px;
  overflow: hidden;
  border: 1px solid rgba(202, 156, 88, .25);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(48, 41, 34, .94), rgba(28, 24, 21, .88));
  box-shadow: inset 0 1px rgba(255, 255, 255, .06), 0 20px 45px rgba(0, 0, 0, .26);
  backdrop-filter: blur(12px);
  transition: transform .45s cubic-bezier(.2, .75, .25, 1), border-color .4s, box-shadow .4s, background .4s;
}
.process-node article::before {
  content: "";
  position: absolute;
  top: -34px;
  right: -30px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(202, 156, 88, .12);
  filter: blur(24px);
  opacity: 0;
  transition: opacity .4s, transform .4s;
}
.process-node__number { position: absolute; top: 18px; right: 18px; margin: 0; color: var(--brass-soft); font-size: 10px; }
.process-node__icon { width: 44px; height: 44px; color: var(--brass-soft); transition: transform .4s cubic-bezier(.2, .75, .25, 1); }
.process-node__icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.process-node h3 { margin: 18px 0 0; color: var(--paper); font-size: 23px; line-height: 1.05; transition: color .3s; }
.process-node p {
  max-height: 0;
  margin: 0;
  overflow: hidden;
  color: rgba(241, 236, 226, .7);
  font-size: 13px;
  line-height: 1.45;
  opacity: 0;
  transform: translateY(7px);
  transition: max-height .45s ease, margin .45s ease, opacity .35s ease, transform .45s cubic-bezier(.2, .75, .25, 1);
}
.process-node:hover,
.process-node:focus,
.process-node.is-lit { z-index: 6; transform: translate(-50%, -50%) translateZ(72px) scale(1.045); transition-delay: 0ms; }
.process-node:hover article,
.process-node:focus article,
.process-node.is-lit article {
  border-color: rgba(202, 156, 88, .72);
  background: linear-gradient(145deg, rgba(74, 57, 39, .95), rgba(32, 27, 23, .94));
  box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 30px 65px rgba(0, 0, 0, .4), 0 0 28px rgba(176, 130, 63, .14);
}
.process-node:hover article::before,
.process-node:focus article::before,
.process-node.is-lit article::before { opacity: 1; transform: scale(1.3); }
.process-node:hover .process-node__icon,
.process-node:focus .process-node__icon,
.process-node.is-lit .process-node__icon { transform: scale(1.1) rotate(-3deg); }
.process-node:hover h3,
.process-node:focus h3,
.process-node.is-lit h3 { color: var(--brass-soft); }
.process-node:hover p,
.process-node:focus p,
.process-node.is-lit p { max-height: 60px; margin-top: 10px; opacity: 1; transform: none; }
.process-node.is-lit article { animation: process-node-pulse 1.3s ease-in-out; }
@keyframes process-background-drift { to { transform: translate3d(1.5%, -1%, 0) scale(1.1); } }
@keyframes process-node-pulse { 45% { box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 30px 65px rgba(0, 0, 0, .4), 0 0 42px rgba(202, 156, 88, .32); } }
@media (max-width: 980px) {
  .process-head { align-items: flex-start; flex-direction: column; gap: 28px; }
  .process-head > p { max-width: 52ch; }
  .process-diagram { min-height: 0; margin-top: 64px; perspective: none; transform: none; }
  .process-orbit-path { display: none; }
  .process-hub { position: relative; top: auto; left: auto; width: 160px; height: 160px; margin: 0 auto 48px; transform: none; }
  .process-hub strong { font-size: 27px; }
  .process-orbit { position: relative; display: grid; gap: 18px; padding-left: 68px; }
  .process-orbit::before { content: ""; position: absolute; top: 18px; bottom: 18px; left: 27px; width: 1px; background: linear-gradient(var(--brass-soft), rgba(202, 156, 88, .2)); box-shadow: 0 0 12px rgba(202, 156, 88, .28); }
  .process-node,
  .process-node:hover,
  .process-node:focus,
  .process-node.is-lit { position: relative; top: auto; left: auto; width: 100%; transform: none; }
  .process-node::before { content: ""; position: absolute; z-index: 2; top: 34px; left: -47px; width: 13px; height: 13px; border: 5px solid var(--espresso-2); border-radius: 50%; background: var(--brass-soft); box-shadow: 0 0 0 1px rgba(202, 156, 88, .7), 0 0 16px rgba(202, 156, 88, .3); }
  .process-node article { min-height: 0; padding: 24px; }
  .process-node p { max-height: none; margin-top: 10px; opacity: 1; transform: none; }
}
@media (max-width: 680px) {
  .process-section { padding: 100px 0; }
  .process-head h2 { font-size: clamp(42px, 13vw, 58px); }
  .process-head > p { font-size: 16.5px; }
  .process-orbit { padding-left: 52px; }
  .process-orbit::before { left: 19px; }
  .process-node::before { left: -39px; }
  .process-node h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .process-backdrop { animation: none !important; transform: scale(1.04); }
  .process-diagram { transform: none !important; transition: opacity .35s ease; }
  .process-orbit-path__draw { stroke-dashoffset: 0; transition: none; }
  .process-node,
  .process-node article,
  .process-node__icon { animation: none !important; transition: none !important; }
  .js .process-node { opacity: 1; }
  .process-node p { max-height: none; margin-top: 10px; opacity: 1; transform: none; }
}

/* Process: start-to-finish flow */
.process-diagram {
  min-height: 470px;
  padding: 120px 66px 70px;
}
.process-orbit-path,
.process-hub { display: none; }
.process-orbit {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
  align-items: center;
  transform-style: preserve-3d;
}
.process-orbit::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 50%;
  right: -34px;
  left: -34px;
  height: 1px;
  background: rgba(202, 156, 88, .28);
  box-shadow: 0 0 18px rgba(202, 156, 88, .12);
}
.process-node,
.process-node:hover,
.process-node:focus,
.process-node.is-lit {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  transform: translateZ(16px);
}
.process-node:hover,
.process-node:focus,
.process-node.is-lit { transform: translateY(-10px) translateZ(62px) scale(1.025); }
.process-node article { min-height: 230px; padding: 27px 22px 22px; }
.process-node h3 { min-height: 48px; font-size: 21px; }
.process-node p { font-size: 12.5px; }
.process-flow-marker {
  position: absolute;
  z-index: 5;
  top: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--brass-soft);
}
.process-flow-marker--start { left: 66px; }
.process-flow-marker--finish { right: 66px; }
.process-flow-marker .mono { margin: 0; font-size: 10px; letter-spacing: .2em; }
.process-flow-marker i {
  display: block;
  width: 11px;
  height: 11px;
  border: 2px solid var(--brass-soft);
  border-radius: 50%;
  box-shadow: 0 0 15px rgba(202, 156, 88, .4);
}
.process-flow-marker--finish i { background: var(--brass-soft); }
.process-connector {
  position: absolute;
  z-index: 8;
  top: 50%;
  left: calc(100% + 4px);
  width: 32px;
  height: 18px;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(-50%);
}
.process-connector::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(202, 156, 88, .34);
}
.process-connector i {
  position: absolute;
  top: 4px;
  left: -11px;
  width: 9px;
  height: 9px;
  border-top: 2px solid var(--brass-soft);
  border-right: 2px solid var(--brass-soft);
  filter: drop-shadow(0 0 6px rgba(202, 156, 88, .8));
  opacity: 0;
  transform: rotate(45deg);
}
.process-node.is-passed .process-connector i { animation: process-arrow-travel .72s cubic-bezier(.2, .75, .25, 1) both; }
.process-complete-burst {
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  width: 270px;
  height: 270px;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.55);
}
.process-complete-burst i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 54px;
  border-radius: 99px;
  background: linear-gradient(var(--brass-soft), transparent);
  transform-origin: 50% 0;
}
.process-complete-burst i:nth-child(1) { transform: rotate(0deg) translateY(-126px); }
.process-complete-burst i:nth-child(2) { transform: rotate(60deg) translateY(-126px); }
.process-complete-burst i:nth-child(3) { transform: rotate(120deg) translateY(-126px); }
.process-complete-burst i:nth-child(4) { transform: rotate(180deg) translateY(-126px); }
.process-complete-burst i:nth-child(5) { transform: rotate(240deg) translateY(-126px); }
.process-complete-burst i:nth-child(6) { transform: rotate(300deg) translateY(-126px); }
.process-complete-burst b {
  position: absolute;
  top: -8px;
  right: 6px;
  padding: 6px 8px;
  border-radius: 99px;
  background: var(--brass-soft);
  color: var(--espresso);
  font: 600 9px/1 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.process-node.is-complete .process-complete-burst { animation: process-complete-pop 1.15s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes process-arrow-travel {
  0% { left: -11px; opacity: 0; }
  20%, 75% { opacity: 1; }
  100% { left: 28px; opacity: 0; }
}
@keyframes process-complete-pop {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.5) rotate(-8deg); }
  28%, 72% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.16) rotate(5deg); }
}
@media (max-width: 980px) {
  .process-diagram { min-height: 0; padding: 0; }
  .process-flow-marker { display: none; }
  .process-orbit { display: grid; grid-template-columns: 1fr; gap: 18px; padding-left: 68px; }
  .process-orbit::before { z-index: auto; top: 18px; right: auto; bottom: 18px; left: 27px; width: 1px; height: auto; background: linear-gradient(var(--brass-soft), rgba(202, 156, 88, .2)); }
  .process-node,
  .process-node:hover,
  .process-node:focus,
  .process-node.is-lit { width: 100%; transform: none; }
  .process-node article { min-height: 0; }
  .process-node h3 { min-height: 0; }
  .process-connector,
  .process-complete-burst { display: none; }
}
@media (max-width: 680px) {
  .process-orbit { padding-left: 52px; }
  .process-orbit::before { left: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .process-node.is-passed .process-connector i,
  .process-node.is-complete .process-complete-burst { animation: none !important; opacity: 0; }
}

/* Inner pages: explicit contrast and readable type, independent of parent-theme styles. */
.page-hero,
.inner-page-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(170px, 18vw, 250px) 0 clamp(90px, 10vw, 145px);
  background:
    radial-gradient(circle at 84% 28%, rgba(176, 130, 63, .22), transparent 30%),
    linear-gradient(135deg, #17130f, var(--espresso-2));
  color: var(--paper);
}
.page-hero::after,
.inner-page-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .1;
  background-image: linear-gradient(rgba(202,156,88,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(202,156,88,.35) 1px,transparent 1px);
  background-size: 72px 72px;
}
.page-hero .eyebrow,
.inner-page-hero .eyebrow { margin: 0 0 28px; color: var(--brass-soft); font: 500 .78rem/1.4 var(--mono); letter-spacing: .2em; text-transform: uppercase; }
.page-hero h1,
.inner-page-hero h1 { max-width: 1040px; margin: 0; color: var(--paper); font-size: clamp(4rem, 8vw, 8.5rem); line-height: .9; letter-spacing: -.06em; }
.page-hero h1 em { color: var(--brass-soft); }
.page-lead { max-width: 54ch; margin: 38px 0 0; color: rgba(241,236,226,.84); font-size: clamp(1.08rem,1.5vw,1.28rem); line-height: 1.7; }

.story { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(50px,8vw,110px); align-items: center; padding-block: clamp(90px,11vw,160px); color: var(--ink); }
.story-mark { padding: 35px; background: var(--bone); border: 1px solid rgba(35,30,25,.14); }
.story-mark svg { width: 100%; height: auto; }
.story-copy .eyebrow { color: var(--brass); }
.story-copy h2 { max-width: 760px; margin: 0 0 34px; color: var(--ink); font-size: clamp(2.8rem,5vw,5.4rem); }
.story-copy>p:not(.eyebrow) { max-width: 68ch; color: #51483f; font-size: 1.08rem; line-height: 1.8; }
.values { padding-block: clamp(95px,11vw,160px); background: var(--espresso); color: var(--paper); }
.eyebrow--light { color: var(--brass-soft); }
.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 55px; background: rgba(202,156,88,.24); }
.value-grid article { padding: 42px 36px; background: var(--espresso-2); }
.value-grid span { color: var(--brass-soft); font: 500 .72rem/1 var(--mono); }
.value-grid h3 { margin: 80px 0 22px; color: var(--paper); font-size: clamp(1.8rem,2.5vw,2.7rem); }
.value-grid p { margin: 0; color: rgba(241,236,226,.78); font-size: 1rem; line-height: 1.72; }

main>.service-list { padding-block: clamp(85px,10vw,145px); border: 0; }
main>.service-list .service-row { grid-template-columns: 70px 1.1fr .9fr; gap: clamp(25px,5vw,75px); padding: 52px 20px; color: var(--ink); }
main>.service-list .service-no { color: var(--brass); font: 500 .78rem/1.4 var(--mono); }
main>.service-list h2 { margin: 0 0 20px; color: var(--ink); font-size: clamp(2.5rem,4vw,4.4rem); }
main>.service-list p { max-width: 50ch; margin: 0; color: #554c43; font-size: 1.05rem; line-height: 1.75; }
main>.service-list ul { margin: 8px 0 0; padding: 0; list-style: none; color: #493f37; font-size: 1rem; }
main>.service-list li { padding: 10px 0; border-bottom: 1px solid rgba(35,30,25,.14); }
.contact-invite { padding-block: clamp(95px,11vw,165px); background: var(--bone); color: var(--ink); }
.contact-invite .shell { position: relative; }
.contact-invite h2 { max-width: 800px; margin: 0; color: var(--ink); font-size: clamp(3.8rem,7vw,7.5rem); }
.contact-invite .circle-link { position: absolute; right: 0; bottom: 0; display: grid; width: 150px; aspect-ratio: 1; place-content: center; border-radius: 50%; background: var(--brass); color: var(--espresso); text-align: center; font: 600 .78rem/1.3 var(--mono); text-transform: uppercase; transition: transform .3s,background .3s; }
.contact-invite .circle-link:hover { transform: rotate(-5deg) scale(1.05); background: var(--brass-soft); }
.contact-invite .circle-link b { margin-top: 6px; font-size: 1.3rem; }

.contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px,9vw,130px); padding-block: clamp(90px,11vw,160px); color: var(--ink); }
.contact-details .eyebrow,.contact-form-wrap .eyebrow,.quote-layout .eyebrow { color: var(--brass); }
.contact-details address { color: #40372f; font: 500 clamp(1.25rem,2vw,1.65rem)/1.65 var(--body); }
.contact-lines { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 44px; }
.contact-lines a { color: var(--ink); font-size: 1.1rem; font-weight: 600; text-decoration: underline; text-decoration-color: var(--brass); text-underline-offset: 5px; }
.hours { margin-top: 42px; color: #655a50; font-size: 1rem; }
.contact-form-wrap,.quote-form-card { padding: clamp(28px,4vw,56px); background: #fffaf1; border: 1px solid rgba(35,30,25,.14); box-shadow: 0 25px 70px rgba(50,38,25,.09); }
.contact-form { display: grid; gap: 25px; color: var(--ink); }
.contact-form label { display: grid; gap: 9px; }
.contact-form label>span { color: #4c4239; font: 600 .76rem/1.4 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.contact-form input,.contact-form textarea,.contact-form select { width: 100%; min-height: 54px; padding: 13px 15px; border: 1px solid #a89d8e; border-radius: 0; background: #fff; color: var(--ink); font: 500 1.02rem/1.5 var(--body); }
.contact-form textarea { min-height: 155px; resize: vertical; }
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { outline: 3px solid rgba(202,156,88,.28); border-color: var(--brass); }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.submit-button { display: flex; min-height: 58px; align-items: center; justify-content: space-between; padding: 17px 20px; border: 1px solid var(--brass); background: var(--brass); color: var(--espresso); font: 600 .8rem/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: transform .25s,background .25s; }
.submit-button:hover { transform: translateY(-3px); background: var(--brass-soft); }
.form-notice { margin-bottom: 24px; padding: 14px 16px; border-left: 4px solid var(--olive); background: rgba(108,112,88,.12); color: var(--ink); font-weight: 600; }
.form-notice--error { border-color: #a43d2d; background: rgba(164,61,45,.1); }
.map-wrap { height: 480px; background: var(--bone); }
.map-wrap iframe { width: 100%; height: 100%; border: 0; filter: sepia(.12) saturate(.85); }

.work-section { padding-block: clamp(70px,9vw,130px); color: var(--ink); }
.filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 50px; }
.filters button { padding: 12px 17px; border: 1px solid rgba(35,30,25,.25); background: transparent; color: var(--ink); font: 600 .72rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.filters button.is-active,.filters button:hover { background: var(--espresso); color: var(--paper); }
.work-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 65px 28px; }
.project-card__media { height: 470px; overflow: hidden; background: var(--bone); }
.project-card__media img,.project-card__media svg { width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.project-card:hover .project-card__media img { transform: scale(1.035); }
.project-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; color: var(--ink); }
.project-card__meta .eyebrow { margin: 0 0 10px; color: var(--brass); font: 500 .68rem/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.project-card__meta h3 { margin: 0; color: var(--ink); font-size: clamp(1.7rem,2.6vw,2.8rem); }
.project-arrow { color: var(--brass); font-size: 1.7rem; }

.project-hero { position: relative; min-height: 85svh; color: var(--paper); }
.project-hero__media,.project-hero__shade { position: absolute; inset: 0; }
.project-hero__media img,.project-hero__media svg { width: 100%; height: 100%; object-fit: cover; }
.project-hero__shade { background: linear-gradient(0deg,rgba(22,17,13,.9),rgba(22,17,13,.14) 65%); }
.project-hero__content { position: relative; z-index: 2; display: flex; min-height: 85svh; flex-direction: column; justify-content: flex-end; padding-bottom: 85px; }
.project-hero h1 { max-width: 1000px; margin: 0; color: var(--paper); font-size: clamp(4rem,8vw,8.5rem); }
.project-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 8vw; padding-block: clamp(80px,10vw,140px); color: var(--ink); }
.project-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.project-facts div { padding-top: 14px; border-top: 1px solid rgba(35,30,25,.2); }
.project-facts span { display: block; color: var(--brass); font: 500 .65rem/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.project-facts strong { display: block; margin-top: 10px; color: var(--ink); font-size: 1rem; }
.project-lead p { margin: 0; color: #493f37; font-size: clamp(1.2rem,2vw,1.65rem); line-height: 1.65; }
.project-gallery { display: grid; gap: 28px; padding-bottom: clamp(90px,10vw,150px); }
.project-gallery figure { margin: 0; }
.project-gallery img { width: 100%; max-height: 82vh; object-fit: cover; }
.project-gallery figcaption { margin-top: 9px; color: #675c51; font-size: .92rem; }
.project-nav { display: flex; justify-content: space-between; gap: 20px; padding-block: 30px 110px; color: var(--ink); font: 600 .78rem/1.4 var(--mono); text-transform: uppercase; }

.inner-page-body { padding-block: clamp(75px,9vw,130px); background: var(--paper); color: var(--ink); }
.inner-page-content { color: #423930; font-size: 1.08rem; line-height: 1.82; }
.inner-page-content>* { max-width: 920px; }
.inner-page-content h2,.inner-page-content h3,.inner-page-content h4 { color: var(--ink); line-height: 1.05; }
.inner-page-content h2 { margin: 1.3em 0 .5em; font-size: clamp(2.5rem,5vw,4.8rem); }
.inner-page-content h3 { margin: 1.5em 0 .55em; font-size: clamp(1.8rem,3vw,2.8rem); }
.inner-page-content p,.inner-page-content li { color: #493f37; }
.inner-page-content a { color: #6d4b18; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.inner-page-content img { height: auto; margin-block: 35px; }
.inner-page-content .alignwide { max-width: 1120px; }
.inner-page-content .alignfull { max-width: none; width: 100vw; margin-left: calc(50% - 50vw); }

/* Estimate page */
.quote-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(175px,18vw,250px) 0 clamp(90px,11vw,155px); background: #17130f; color: var(--paper); }
.quote-hero__glow { position: absolute; z-index: -1; right: -12vw; top: -18vw; width: 62vw; height: 62vw; border-radius: 50%; background: radial-gradient(circle,rgba(202,156,88,.22),transparent 66%); animation: quote-glow 9s ease-in-out infinite alternate; }
.quote-hero__grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 9vw; align-items: end; }
.quote-hero .eyebrow { color: var(--brass-soft); }
.quote-hero h1 { margin: 0; color: var(--paper); font-size: clamp(4rem,7.3vw,8rem); line-height: .9; }
.quote-hero__lead { max-width: 58ch; margin: 38px 0 0; color: rgba(241,236,226,.82); font-size: 1.15rem; line-height: 1.72; }
.quote-hero__note { display: grid; grid-template-columns: auto 1fr; gap: 14px 18px; padding: 28px; border: 1px solid rgba(202,156,88,.3); background: rgba(43,37,31,.72); }
.quote-hero__note span { color: var(--brass-soft); font: 500 .68rem/1.7 var(--mono); }
.quote-hero__note p { margin: 0; color: var(--paper); font-size: 1rem; }
.quote-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px,8vw,110px); align-items: start; padding-block: clamp(85px,10vw,150px); color: var(--ink); }
.quote-aside { position: sticky; top: 110px; }
.quote-aside h2 { margin: 0 0 28px; color: var(--ink); font-size: clamp(2.7rem,4.5vw,5rem); }
.quote-aside>p:not(.eyebrow) { color: #54493f; font-size: 1.08rem; line-height: 1.75; }
.quote-direct { display: grid; gap: 1px; margin-top: 45px; background: rgba(35,30,25,.15); border: 1px solid rgba(35,30,25,.15); }
.quote-direct a { padding: 18px 20px; background: var(--paper); color: var(--ink); }
.quote-direct small { display: block; color: var(--brass); font: 500 .64rem/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.quote-direct strong { display: block; margin-top: 6px; font-size: 1rem; }
@keyframes quote-glow { to { transform: translate(-3%,5%) scale(1.08); } }

/* High-contrast construction page corrections. */
.construction-intro h2,.construction-process h2 { color: var(--ink); }
.construction-intro h2 em,.construction-process h2 em { color: var(--brass); }
.construction-packages h2,.construction-cta h2 { color: var(--paper); }
.construction-intro__copy p { color: #4d433a; font-size: 1.1rem; }
.construction-principles h3,.construction-steps h3 { color: var(--ink); }
.construction-principles p,.construction-steps p { color: #544a40; font-size: 1rem; line-height: 1.72; }
.construction-principles article:hover h3 { color: var(--paper); }
.construction-principles article:hover p { color: rgba(241,236,226,.82); }
.construction-packages__head>p,.construction-package__action { color: rgba(241,236,226,.82); font-size: 1rem; }
.construction-packages__note { color: rgba(241,236,226,.7); font-size: .78rem; }

/* Prominent quick-contact dock. */
.contact-dock { bottom: 24px; left: 24px; gap: 10px; filter: drop-shadow(0 14px 30px rgba(20,17,14,.38)); }
.contact-dock a { min-height: 68px; border: 2px solid rgba(255,255,255,.72); border-radius: 8px; font-family: var(--body); font-weight: 700; }
.contact-dock__whatsapp { position: relative; gap: 13px; padding: 12px 20px; overflow: visible; background: #ffc928; color: #1d1914; animation: contact-dock-pulse 2.4s ease-in-out infinite; }
.contact-dock__whatsapp::before { content: ""; position: absolute; inset: -7px; border: 2px solid rgba(255,201,40,.75); border-radius: 12px; animation: contact-dock-ring 2.4s ease-out infinite; pointer-events: none; }
.contact-dock__whatsapp svg { width: 37px; height: 37px; stroke: #1d1914; stroke-width: 1.8; }
.contact-dock__whatsapp span { font-size: .98rem; line-height: 1.2; letter-spacing: .01em; }
.contact-dock__whatsapp small { margin-bottom: 3px; color: #47350a; font-size: .65rem; font-weight: 700; letter-spacing: .11em; }
.contact-dock__call { gap: 10px; padding: 0 20px; background: #a72e20; color: #fff; font-size: .95rem; }
.contact-dock__call svg { display: none; width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.contact-dock__call span { color: #ffe59d; font-size: .68rem; font-weight: 700; }
.contact-dock__call b { font-size: 1rem; font-weight: 700; }
.contact-dock__call:hover { background: #d33d29; color: #fff; }
.contact-dock__call:hover span { color: #fff; }
@keyframes contact-dock-pulse { 0%,100% { transform: translateY(0); box-shadow: 0 0 0 rgba(255,201,40,0); } 50% { transform: translateY(-3px); box-shadow: 0 0 28px rgba(255,201,40,.52); } }
@keyframes contact-dock-ring { 0% { opacity: .7; transform: scale(.96); } 75%,100% { opacity: 0; transform: scale(1.08); } }

@media(max-width:980px){
  .story,.contact-layout,.quote-layout,.quote-hero__grid,.project-intro { grid-template-columns: 1fr; }
  .quote-aside { position: static; }
  .value-grid { grid-template-columns: 1fr; }
  .value-grid h3 { margin-top: 45px; }
  main>.service-list .service-row { grid-template-columns: 55px 1fr; }
  main>.service-list .service-row ul { grid-column: 2; }
  .contact-invite .circle-link { position: static; margin-top: 40px; }
}
@media(max-width:680px){
  .page-hero,.inner-page-hero,.quote-hero { padding-top: 135px; }
  .page-hero h1,.inner-page-hero h1,.quote-hero h1 { font-size: clamp(3.35rem,15vw,5.3rem); }
  .story-mark { max-width: 360px; }
  main>.service-list .service-row { grid-template-columns: 1fr; padding-inline: 0; }
  main>.service-list .service-row ul { grid-column: auto; }
  .form-pair,.work-grid,.project-facts { grid-template-columns: 1fr; }
  .project-card__media { height: 360px; }
  .project-hero,.project-hero__content { min-height: 72svh; }
  .contact-dock { right: auto; bottom: 14px; left: 14px; display: flex; gap: 9px; }
  .contact-dock a { width: 54px; min-width: 54px; min-height: 54px; padding: 0; justify-content: center; border-radius: 50%; }
  .contact-dock__whatsapp { flex: 0 0 54px; }
  .contact-dock__whatsapp::before { inset: -4px; border-radius: 50%; }
  .contact-dock__whatsapp svg { width: 29px; height: 29px; }
  .contact-dock__whatsapp span,.contact-dock__call span,.contact-dock__call b { display: none; }
  .contact-dock__call svg { display: block; }
  body { padding-bottom: 84px; }
}
@media(prefers-reduced-motion:reduce){
  .quote-hero__glow,.contact-dock__whatsapp,.contact-dock__whatsapp::before { animation: none !important; }
}

/* Kerala-rooted photography */
.hero-backdrop {
  background-image:
    linear-gradient(90deg,rgba(22,18,14,.96) 0%,rgba(32,27,23,.86) 52%,rgba(32,27,23,.66) 100%),
    var(--hero-background,url("images/kerala-timber-veranda.png"));
}
.page-hero,
.inner-page-hero {
  background-image:
    linear-gradient(100deg,rgba(18,15,12,.96) 0%,rgba(25,20,16,.88) 55%,rgba(32,27,23,.66) 100%),
    url("images/kerala-timber-veranda.png");
  background-position: center;
  background-size: cover;
}
.page-hero--contact {
  background-image:
    linear-gradient(100deg,rgba(18,15,12,.96),rgba(25,20,16,.84) 60%,rgba(32,27,23,.6)),
    url("images/kerala-nalukettu-courtyard.png");
}
.quote-hero {
  background-image:
    linear-gradient(98deg,rgba(18,15,12,.97) 0%,rgba(23,19,15,.9) 58%,rgba(30,24,19,.68) 100%),
    url("images/kerala-nalukettu-courtyard.png");
  background-position: center;
  background-size: cover;
}
.process-backdrop { background: var(--process-background,url("images/kerala-nalukettu-courtyard.png")) center / cover no-repeat; }

.kerala-craft-feature {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: min(78vh,780px);
  align-items: flex-end;
  overflow: hidden;
  padding: clamp(90px,11vw,150px) 0;
  background: var(--espresso);
  color: var(--paper);
}
.kerala-craft-feature::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg,rgba(20,16,13,.96),rgba(20,16,13,.7) 46%,rgba(20,16,13,.18)),linear-gradient(0deg,rgba(20,16,13,.65),transparent 60%);
}
.kerala-craft-feature__image {
  position: absolute;
  z-index: -2;
  inset: -4%;
  background: url("images/kerala-nalukettu-courtyard.png") center / cover no-repeat;
  transform: scale(1.04);
  transition: transform 8s ease-out;
}
.kerala-craft-feature:hover .kerala-craft-feature__image { transform: scale(1.09); }
.kerala-craft-feature__content { position: relative; max-width: 1240px; }
.kerala-craft-feature__content::before { content: ""; position: absolute; top: -45px; left: 0; width: 82px; height: 2px; background: var(--brass-soft); }
.kerala-craft-feature .mono { color: var(--brass-soft); }
.kerala-craft-feature h2 { max-width: 820px; margin: 0; color: var(--paper); font-size: clamp(4rem,7vw,7.8rem); }
.kerala-craft-feature h2 em { color: var(--brass-soft); }
.kerala-craft-feature__content>p:last-child { max-width: 52ch; margin: 34px 0 0; color: rgba(241,236,226,.84); font-size: 1.12rem; line-height: 1.7; }

/* Designer Homes' project specification marks: certification-inspired, not certification claims. */
.build-standard {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(45px,7vw,95px);
  margin-top: 35px;
  padding: clamp(42px,6vw,76px);
  border: 1px solid rgba(96,70,42,.22);
  background:
    radial-gradient(circle at 92% 10%,rgba(176,130,63,.13),transparent 30%),
    linear-gradient(135deg,#f7f1e7 0%,#ece2d2 100%);
  box-shadow: 0 30px 85px rgba(0,0,0,.3);
  scroll-margin-top: 105px;
}
.build-standard__intro .mono { color: #9f3327; font-size: .76rem; font-weight: 600; }
.build-standard__intro h3 { margin: 0 0 28px; color: var(--ink); font-size: clamp(2.7rem,4.3vw,4.9rem); }
.build-standard__intro h3 em { color: #a43b2c; font-style: normal; }
.build-standard__intro>p:last-child { max-width: 48ch; margin: 0; color: #4b4036; font-size: 1.08rem; line-height: 1.76; }
.build-standard__marks { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.standard-mark {
  position: relative;
  display: flex;
  min-height: 245px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 22px 12px 18px;
  border: 1px solid rgba(96,70,42,.23);
  background: rgba(255,252,246,.72);
  text-align: center;
  transition: transform .3s,border-color .3s,background .3s;
}
.standard-mark:hover { transform: translateY(-5px); border-color: rgba(164,59,44,.65); background: #fffaf2; box-shadow: 0 15px 32px rgba(76,47,27,.12); }
.standard-mark__seal {
  position: relative;
  display: grid;
  width: 94px;
  height: 94px;
  place-items: center;
  margin-bottom: 19px;
  border: 2px solid #a43b2c;
  border-radius: 50%;
  color: #a43b2c;
}
.standard-mark__seal::before { content: ""; position: absolute; inset: 7px; border: 1px dashed rgba(164,59,44,.62); border-radius: 50%; }
.standard-mark__seal::after { content: "QUALITY CHECK"; position: absolute; bottom: 9px; color: #873126; font: 600 .35rem/1 var(--mono); letter-spacing: .12em; }
.standard-mark__seal svg { width: 43px; height: 43px; margin-top: -8px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.standard-mark__seal b { position: absolute; right: -5px; bottom: 2px; display: grid; min-width: 29px; height: 29px; place-items: center; padding: 0 4px; border: 2px solid #fff7eb; border-radius: 50%; background: #a43b2c; color: #fff8ee; font: 700 .55rem/1 var(--mono); }
.standard-mark strong { color: #2b231d; font: 700 1.12rem/1.25 var(--display); }
.standard-mark small { max-width: 20ch; margin-top: 10px; color: #584b40; font-size: .86rem; font-weight: 500; line-height: 1.5; }
.standard-mark:nth-child(2n) .standard-mark__seal { color: #bc4a32; border-color: #bc4a32; }
.standard-mark:nth-child(3n) .standard-mark__seal { color: #8f2e27; border-color: #8f2e27; }
.standard-mark--signature { background: linear-gradient(145deg,#f2d8ca,#f8e8da); border-color: rgba(164,59,44,.6); }
.standard-mark--signature .standard-mark__seal { background: #a43b2c; color: #fff7eb; box-shadow: 0 0 0 6px rgba(164,59,44,.1); }
.standard-mark--signature .standard-mark__seal::before { border-color: rgba(255,247,235,.72); }
.standard-mark--signature .standard-mark__seal::after { color: #fff7eb; }

@media(max-width:1100px){
  .build-standard { grid-template-columns: 1fr; }
}
@media(max-width:820px){
  .build-standard__marks { grid-template-columns: repeat(2,1fr); }
}
@media(max-width:680px){
  .page-hero,.inner-page-hero,.quote-hero { background-position: 62% center; }
  .kerala-craft-feature { min-height: 650px; }
  .kerala-craft-feature__image { background-position: 58% center; }
  .build-standard { margin-inline: -8px; padding: 34px 20px; }
  .build-standard__marks { grid-template-columns: 1fr 1fr; gap: 8px; }
  .standard-mark { min-height: 225px; padding-inline: 8px; }
  .standard-mark__seal { width: 78px; height: 78px; }
  .standard-mark__seal svg { width: 36px; height: 36px; }
  .standard-mark__seal::after { bottom: 7px; font-size: .29rem; }
  .standard-mark strong { font-size: 1rem; }
  .standard-mark small { font-size: .78rem; line-height: 1.45; }
}
@media(max-width:480px){
  .build-standard__marks { grid-template-columns: 1fr; }
  .standard-mark { min-height: 225px; padding: 26px 18px; }
  .standard-mark__seal { width: 90px; height: 90px; }
  .standard-mark__seal svg { width: 42px; height: 42px; }
  .standard-mark strong { font-size: 1.15rem; }
  .standard-mark small { max-width: 28ch; font-size: .9rem; }
}
@media(prefers-reduced-motion:reduce){
  .kerala-craft-feature__image,.standard-mark { transition: none !important; transform: none !important; }
}

/* Homepage FAQ + free-plan CTA */
.nav-cta { white-space: nowrap; }
.home-faq {
  position: relative;
  padding: clamp(95px,10vw,155px) 0;
  background: #fffdf8;
  color: var(--ink);
}
.home-faq::before { content: ""; position: absolute; top: 0; left: 50%; width: 1px; height: 52px; background: rgba(176,130,63,.4); }
.home-faq__inner { max-width: 980px; }
.home-faq__head { margin-bottom: 55px; text-align: center; }
.home-faq__head .mono { margin-bottom: 22px; color: #9f3327; font-size: .72rem; font-weight: 600; }
.home-faq__head h2 { margin: 0; color: var(--ink); font-size: clamp(3rem,5.8vw,6rem); line-height: .98; }
.home-faq__head h2 em { color: var(--brass); }
.home-faq__head>p:last-child { margin: 22px 0 0; color: #65594e; font-size: 1.05rem; }
.home-faq__list { border-top: 1px solid rgba(35,30,25,.22); }
.home-faq__list details { border-bottom: 1px solid rgba(35,30,25,.22); }
.home-faq__list summary {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 4px;
  color: var(--ink);
  font: 600 clamp(1.03rem,1.4vw,1.2rem)/1.4 var(--body);
  cursor: pointer;
  list-style: none;
}
.home-faq__list summary::-webkit-details-marker { display: none; }
.home-faq__list summary i { position: relative; width: 25px; height: 25px; flex: 0 0 auto; border: 1.5px solid #a43b2c; border-radius: 50%; transition: transform .3s,background .3s; }
.home-faq__list summary i::before,.home-faq__list summary i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 9px; height: 1.5px; background: #a43b2c; transform: translate(-50%,-50%); }
.home-faq__list summary i::after { transform: translate(-50%,-50%) rotate(90deg); }
.home-faq__list details[open] summary { color: #8d3025; }
.home-faq__list details[open] summary i { background: #a43b2c; transform: rotate(45deg); }
.home-faq__list details[open] summary i::before,.home-faq__list details[open] summary i::after { background: #fff8ee; }
.home-faq__list details>div { animation: faq-answer-in .35s ease both; }
.home-faq__list details>div p { max-width: 72ch; margin: 0; padding: 0 52px 28px 4px; color: #564b41; font-size: 1.03rem; line-height: 1.75; }
@keyframes faq-answer-in { from { opacity: 0; transform: translateY(-6px); } }

.free-plan-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(110px,12vw,180px) 0;
  background: linear-gradient(135deg,#eee8dd,#f8f4ec);
  color: var(--ink);
  text-align: center;
}
.free-plan-cta::before { content: ""; position: absolute; z-index: -1; top: 0; left: 50%; width: 1px; height: 76px; background: rgba(35,30,25,.2); }
.free-plan-cta__motif { position: absolute; z-index: -2; inset: 0; opacity: .075; background: linear-gradient(90deg,#f1ece2 0%,transparent 38%,transparent 62%,#f1ece2 100%),url("images/kerala-timber-veranda.png") center 56% / cover no-repeat; filter: grayscale(1) sepia(.35); }
.free-plan-cta__content { display: flex; max-width: 920px; flex-direction: column; align-items: center; }
.free-plan-cta__mark { display: grid; width: 54px; height: 54px; place-items: center; margin-bottom: 20px; border: 1px solid #a43b2c; border-radius: 50%; color: #a43b2c; font: 700 .74rem/1 var(--mono); }
.free-plan-cta .mono { margin-bottom: 25px; color: #9f3327; font-size: .7rem; font-weight: 600; }
.free-plan-cta h2 { margin: 0; color: var(--ink); font-size: clamp(3.5rem,6.5vw,7rem); line-height: .94; }
.free-plan-cta h2 em { color: var(--brass); }
.free-plan-cta__content>p:not(.mono) { max-width: 66ch; margin: 30px auto 0; color: #584d43; font-size: 1.1rem; line-height: 1.7; }
.free-plan-cta__content>a { display: inline-flex; min-width: 310px; align-items: center; justify-content: space-between; gap: 25px; margin-top: 38px; padding: 19px 22px; border: 1px solid var(--espresso); border-radius: 99px; background: var(--espresso); color: var(--paper); font: 600 .76rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 14px 34px rgba(32,27,23,.18); transition: transform .3s,background .3s; }
.free-plan-cta__content>a:hover { transform: translateY(-4px); background: #a43b2c; }
.free-plan-cta__content>a span { color: var(--brass-soft); font-size: 1rem; }
.free-plan-cta__content>small { margin-top: 14px; color: #70655b; font-size: .78rem; }
@media(max-width:680px){
  .home-faq__head { text-align: left; }
  .home-faq__head h2 { font-size: clamp(3rem,13vw,4.7rem); }
  .home-faq__list summary { min-height: 68px; font-size: 1rem; }
  .home-faq__list details>div p { padding-right: 20px; font-size: .96rem; }
  .free-plan-cta h2 { font-size: clamp(3.3rem,14vw,5.2rem); }
  .free-plan-cta__content>p:not(.mono) { font-size: 1rem; }
  .free-plan-cta__content>a { width: 100%; min-width: 0; }
}
@media(prefers-reduced-motion:reduce){
  .home-faq__list details>div { animation: none !important; }
  .home-faq__list summary i,.free-plan-cta__content>a { transition: none !important; }
}

/* Footer social profiles */
.footer-socials { display: flex; align-items: center; justify-content: center; gap: 9px; margin-inline: auto; }
.footer-socials a { display: grid; width: 48px; height: 48px; place-items: center; margin: 0!important; border: 1px solid rgba(202,156,88,.42); border-radius: 50%; color: var(--brass-soft)!important; transition: transform .25s,background .25s,color .25s,box-shadow .25s!important; }
.footer-socials svg { width: 22px; height: 22px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.footer-socials .social-dot,.footer-socials .social-play { fill: currentColor; stroke: none; }
.footer-socials .footer-social--facebook svg path { fill: currentColor; stroke: none; }
.footer-socials a:hover,.footer-socials a:focus-visible { transform: translateY(-4px)!important; outline: 0; background: var(--brass-soft); color: var(--espresso)!important; box-shadow: 0 0 24px rgba(202,156,88,.28); }
@media(max-width:720px){.footer-socials{justify-content:flex-start;margin:0}.footer-socials a{width:52px;height:52px}}

/* Portfolio YouTube Shorts */
.portfolio-shorts { position: relative; margin-top: clamp(65px,8vw,105px); padding: clamp(38px,5vw,62px) 0 clamp(55px,7vw,85px); border-top: 1px solid rgba(35,30,25,.17); border-bottom: 1px solid rgba(35,30,25,.17); }
.portfolio-shorts__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 38px; }
.portfolio-shorts__head .mono { margin: 0 0 10px; color: var(--brass); font-size: .64rem; }
.portfolio-shorts__head h3 { margin: 0; color: var(--ink); font-size: clamp(2.5rem,4.6vw,5rem); line-height: .96; }
.portfolio-shorts__head h3 em { color: var(--brass); font-style: normal; }
.portfolio-shorts__controls { display: flex; gap: 8px; }
.portfolio-shorts__controls button { width: 50px; height: 50px; border: 1px solid rgba(35,30,25,.28); background: rgba(241,236,226,.7); color: var(--ink); font-size: 1rem; cursor: pointer; transition: transform .25s,background .25s,color .25s; }
.portfolio-shorts__controls button:hover,.portfolio-shorts__controls button:focus-visible { transform: translateY(-3px); outline: 0; background: var(--brass); color: var(--espresso); }
.portfolio-shorts__viewport { overflow-x: auto; overflow-y: visible; margin-inline: max(-7vw,calc((1240px - 100vw)/2)); padding: 25px calc(50% - min(145px,11vw)) 35px; scroll-padding-inline: calc(50% - min(145px,11vw)); scroll-snap-type: x mandatory; scrollbar-width: none; cursor: grab; }
.portfolio-shorts__viewport::-webkit-scrollbar { display: none; }
.portfolio-shorts__viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.portfolio-shorts__viewport:focus-visible { outline: 1px solid var(--brass); outline-offset: 5px; }
.portfolio-shorts__track { display: flex; width: max-content; gap: clamp(16px,2.2vw,30px); }
.portfolio-short { position: relative; width: clamp(205px,21vw,285px); aspect-ratio: 9/16; overflow: hidden; border: 2px solid rgba(176,130,63,.36); background: var(--espresso); box-shadow: 0 20px 48px rgba(32,27,23,.13); scroll-snap-align: center; transform: scale(.92); opacity: .68; transition: transform .42s cubic-bezier(.2,.75,.25,1),opacity .42s,border-color .42s,box-shadow .42s; }
.portfolio-short.is-active { z-index: 3; border-color: var(--brass); box-shadow: 0 30px 72px rgba(32,27,23,.25),0 0 0 5px rgba(176,130,63,.1); transform: scale(1); opacity: 1; }
.portfolio-short>img,.portfolio-short__player,.portfolio-short__player iframe,.portfolio-short__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.portfolio-short>img { object-fit: cover; }
.portfolio-short__player { z-index: 1; pointer-events: none; }
.portfolio-short__player iframe { border: 0; object-fit: cover; }
.portfolio-short__shade { z-index: 2; background: linear-gradient(180deg,rgba(23,19,15,.46),transparent 25%,transparent 60%,rgba(23,19,15,.86)); pointer-events: none; }
.portfolio-short__number { position: absolute; z-index: 4; top: 17px; left: 17px; margin: 0; padding: 7px 9px; background: rgba(32,27,23,.78); color: var(--brass-soft); font-size: .52rem; }
.portfolio-short__open { position: absolute; z-index: 5; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 10px; width: 100%; padding: 25px 20px; border: 0; background: transparent; color: var(--paper); cursor: pointer; }
.portfolio-short__open>span { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(241,236,226,.75); border-radius: 50%; background: rgba(32,27,23,.52); backdrop-filter: blur(5px); transition: transform .3s,background .3s; }
.portfolio-short__open svg { width: 36px; height: 36px; fill: none; stroke: var(--paper); stroke-width: 1.5; }
.portfolio-short__open svg path { fill: var(--paper); stroke: none; }
.portfolio-short__open b { font: 600 .62rem/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.portfolio-short__open:hover>span,.portfolio-short__open:focus-visible>span { transform: scale(1.1); background: var(--brass); }
.portfolio-short__open:focus-visible { outline: 2px solid var(--brass-soft); outline-offset: -5px; }
.portfolio-short.is-active .portfolio-short__open>span { opacity: .78; transform: scale(.88); }
.portfolio-shorts__progress { height: 2px; margin-top: 8px; overflow: hidden; background: rgba(35,30,25,.13); }
.portfolio-shorts__progress i { display: block; width: var(--shorts-progress,0%); height: 100%; background: var(--brass); transition: width .35s ease; }
body.shorts-modal-open { overflow: hidden; }
.shorts-lightbox[hidden] { display: none; }
.shorts-lightbox { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: 18px; }
.shorts-lightbox__backdrop { position: absolute; inset: 0; background: rgba(12,10,8,.93); backdrop-filter: blur(12px); }
.shorts-lightbox__dialog { position: relative; width: min(430px,calc(100vw - 36px)); height: min(765px,calc(100svh - 36px)); border: 1px solid rgba(202,156,88,.55); background: #000; box-shadow: 0 30px 100px #000; }
.shorts-lightbox__dialog>button { position: absolute; z-index: 3; top: 10px; right: 10px; display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(20,17,14,.78); color: #fff; font-size: 1.7rem; cursor: pointer; }
.shorts-lightbox__dialog>div,.shorts-lightbox__dialog iframe { width: 100%; height: 100%; }
.shorts-lightbox__dialog iframe { border: 0; }
@media(max-width:680px){
  .portfolio-shorts__head { align-items: flex-start; }
  .portfolio-shorts__head h3 { font-size: clamp(2.8rem,12vw,4rem); }
  .portfolio-shorts__controls button { width: 44px; height: 44px; }
  .portfolio-shorts__viewport { margin-inline:-20px; padding-inline:calc(50% - 34vw); scroll-padding-inline:calc(50% - 34vw); }
  .portfolio-short { width:68vw; max-width:280px; }
}
@media(prefers-reduced-motion:reduce){
  .footer-socials a,.portfolio-short,.portfolio-short__open>span,.portfolio-shorts__progress i { transition:none!important; }
  .portfolio-short { transform:none; opacity:1; }
  .portfolio-short__player { display:none; }
}

/* Readability safeguards for inner pages and small supporting labels. */
.contact-form label>span { font-size: .88rem; line-height: 1.45; }
.filters button { font-size: .8rem; }
.project-card__meta .eyebrow { font-size: .78rem; }
.project-facts span { font-size: .76rem; }
.project-nav { font-size: .82rem; }
.quote-hero__note span,.quote-direct small { font-size: .75rem; }
.construction-hero__rail { color: rgba(241,236,226,.72); font-size: .68rem; }
.construction-package__top b { font-size: .68rem; }
.construction-price span { color: rgba(241,236,226,.72); font-size: .72rem; }
.construction-steps span { font-size: .75rem; }
.construction-gallery figcaption { padding: 8px 10px; background: rgba(32,27,23,.92); font-size: .72rem; }
.site-footer--modern .footer-bottom { font-size: .78rem; }

@media(max-width:680px){
  .inner-page-body { padding-block: 58px 78px; }
  .inner-page-content { font-size: 1.08rem; line-height: 1.8; }
}

/* Homepage display scale: compact two-line titles without reducing body copy. */
.home .hero-copy h1 { max-width: 760px; font-size: clamp(3.4rem,5vw,5rem); line-height: .94; }
.home .section-head h2,
.home .about-section--modern .about-copy h2,
.home .kerala-craft-feature h2,
.home .process-head h2,
.home .portfolio-heading h2,
.home .renovation-heading h2,
.home .home-faq__head h2,
.home .free-plan-cta h2 { font-size: clamp(2.9rem,4.35vw,4.45rem); line-height: .98; }
.home .about-section--modern .about-copy h2 { max-width: 610px; }

/* Testimonials: retain the spotlight treatment with a more standard footprint. */
.home .testimonials-section { padding: clamp(82px,8vw,120px) 0; }
.home .testimonials-head h2 { font-size: clamp(2.9rem,4.2vw,4.35rem); line-height: .96; }
.home .testimonials-head>p { font-size: 1.05rem; }
.home .testimonial-showcase { margin-top: 52px; }
.home .testimonial-spotlight { grid-template-columns: 82px minmax(0,1fr); gap: 22px; min-height: 360px; padding: clamp(32px,4vw,52px); border-radius: 24px; }
.home .testimonial-quote-mark { font-size: clamp(4.8rem,7vw,7.5rem); }
.home .testimonial-spotlight blockquote { margin: 18px 0 26px; font-size: clamp(1.2rem,1.7vw,1.75rem); line-height: 1.45; }
.home .testimonial-controls { margin-top: 22px; }

@media(max-width:980px){
  .home .hero-copy h1 { font-size: clamp(3rem,7vw,4.25rem); }
  .home .section-head h2,
  .home .about-section--modern .about-copy h2,
  .home .kerala-craft-feature h2,
  .home .process-head h2,
  .home .portfolio-heading h2,
  .home .renovation-heading h2,
  .home .home-faq__head h2,
  .home .free-plan-cta h2 { font-size: clamp(2.7rem,6vw,3.8rem); }
}

@media(max-width:680px){
  .home .hero-copy h1 { font-size: clamp(2.1rem,9.2vw,2.8rem); line-height: .98; }
  .home .section-head h2,
  .home .about-section--modern .about-copy h2,
  .home .kerala-craft-feature h2,
  .home .process-head h2,
  .home .portfolio-heading h2,
  .home .renovation-heading h2,
  .home .home-faq__head h2,
  .home .free-plan-cta h2 { font-size: clamp(2.25rem,9.8vw,3rem); line-height: 1; }
  .home .testimonials-head { gap: 22px; }
  .home .testimonials-head h2 { font-size: clamp(2.3rem,10vw,3rem); line-height: 1; }
  .home .testimonials-head>p { font-size: 1rem; }
  .home .testimonial-showcase { margin-top: 38px; }
  .home .services-head h2 { font-size: clamp(1.9rem,8vw,2.3rem); line-height: 1.03; }
  .home .testimonials-section { padding: 64px 0; }
  .home .testimonial-spotlight { min-height: 390px; padding: 22px 18px; border-radius: 20px; }
  .home .testimonial-quote-mark { height: 48px; font-size: 4.2rem; }
  .home .testimonial-spotlight__content { min-height: 285px; }
  .home .testimonial-spotlight blockquote { min-height: 0; margin: 12px 0 20px; font-size: 1rem; line-height: 1.45; }
}
