/* Overrides preserve the existing cinematic identity. */
html{scroll-padding-top:90px}
body{font-family:"Segoe UI",Arial,sans-serif}
:focus-visible{outline:3px solid #c7a66a;outline-offset:5px}
.skip-link{position:fixed;top:-80px;left:20px;z-index:210;background:#fff;color:#111;padding:15px}
.skip-link:focus{top:12px}
.nav{background:rgba(10,10,10,.94);min-height:72px;border-bottom:1px solid var(--line)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;padding:10px;cursor:pointer}
.hero{height:650svh}
.sticky{height:100svh}
.hero-poster{position:absolute;inset:0}
.hero-poster img{width:100%;height:100%;object-fit:cover}
canvas{background:transparent}
.hero h1{font-size:clamp(48px,8.4vw,120px);line-height:.98;max-width:1000px;overflow-wrap:normal}
.hero-copy{color:#f1f1ee;max-width:500px}
.shade{display:none}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;pointer-events:auto}
.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;border:1px solid #aaa;font-size:14px;cursor:pointer}
.primary{background:#f3f2ec;color:#111;border-color:#f3f2ec}
.secondary{color:#fff;background:rgba(0,0,0,.2)}
.hero-skip{font-size:13px;pointer-events:auto;border-bottom:1px solid #aaa;padding:12px 0}
.hero-ui{padding-bottom:38px}
.section-head{display:block}
.section-head p{margin-top:24px;max-width:650px}
.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.card{border:0;border-bottom:1px solid var(--line);border-radius:0;min-height:0;background:none;padding:32px 28px 32px 0}
.card h3{margin:18px 0 12px}
.point{padding:22px 16px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field label{font-size:13px;color:#444}
.contact-demo{background:#111;color:#fff;padding:16px 20px;border:0;border-radius:999px;cursor:pointer;text-align:left;width:fit-content}
.note{margin:0;font-size:13px;color:#555}
.note.success{border-left:3px solid #476b59;padding-left:14px}
.legal button{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.demo{position:static;border-radius:0;padding:10px 24px;background:#161616;text-align:center;font-size:11px;letter-spacing:.06em;margin-top:72px}
dialog{max-width:500px;width:calc(100% - 40px);background:#f2f0e9;color:#111;border:0;border-radius:16px;padding:30px}
dialog p{line-height:1.7;color:#444}dialog::backdrop{background:rgba(0,0,0,.7)}
.scene-detail{position:absolute;z-index:6;left:5vw;bottom:155px;max-width:510px;opacity:0;pointer-events:none;color:#f3f2ec;will-change:opacity,transform}
.scene-breath{padding:28px 32px;background:rgba(10,10,10,.73);backdrop-filter:blur(12px);border-left:2px solid rgba(255,255,255,.6);animation:scene-breathe 5s ease-in-out infinite}
.scene-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#c9c7c1;margin-bottom:18px}
.scene-detail h2{font-size:clamp(28px,3.2vw,46px);line-height:1.12;letter-spacing:-.035em;margin:0 0 20px;max-width:440px}
.scene-detail p{font-size:16px;line-height:1.7;color:#dddcd6;margin:0;max-width:410px}
@keyframes scene-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(max-width:840px){
 .nav{padding:12px 16px;gap:12px}.logo{font-size:11px;letter-spacing:.12em}.navcta{font-size:11px;padding:10px 12px;margin-left:auto}
 .menu-toggle{display:block;font-size:12px}
 .navlinks.open{display:flex;position:absolute;top:72px;left:0;right:0;background:#111;flex-direction:column;padding:24px;gap:0;border-bottom:1px solid var(--line)}
 .navlinks a{padding:15px 0}
}
@media(max-width:767px){
 .wrap{width:calc(100% - 40px)}.hero{height:400svh}.hero-ui{padding:52px 20px 24px}
 .hero h1{font-size:clamp(38px,10.3vw,76px);letter-spacing:-.055em;margin-top:14px;max-width:100%}
 .hero-copy{font-size:16px;max-width:330px}.eyebrow{letter-spacing:.12em}
 .hero-actions{gap:10px;margin-top:22px}.button{font-size:13px;padding:13px 17px}
 .intro,.section,.contact{padding:64px 0}.intro-grid,.contact-grid{gap:30px}.intro h2,.section-title{font-size:42px;line-height:1.04}
 .intro p{font-size:18px}.section-head{margin-bottom:30px}.services{grid-template-columns:1fr}.card{padding:26px 0}.card h3{font-size:24px}
 .process{grid-template-columns:1fr}.step{padding:22px 0;display:grid;grid-template-columns:30px 1fr;column-gap:14px}.step h3{margin:0}.step p{grid-column:2;margin-bottom:0}
 .project,.project.small{min-height:360px;border-radius:14px}.project-info{left:20px;right:20px}.project-info h3{font-size:25px}
 .contact h2{font-size:52px;line-height:1}.contact-meta{margin-top:25px}.area-box{gap:26px;padding:24px;border-radius:14px}
 .faq summary{font-size:18px;gap:16px}.progress-num{font-size:48px}
 .scene-detail{left:20px;right:20px;bottom:125px;max-width:none}.scene-breath{padding:22px 24px}.scene-detail h2{font-size:29px;margin-bottom:16px}.scene-detail p{font-size:14px;line-height:1.65}.scene-label{margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero{height:100svh}.progress-num,.hero-bottom .micro,.scene-detail{display:none}.scene-breath{animation:none}}

/* Black and gold throughout; the film is displayed at its original brightness. */
:root{--bg:#0c0b09;--panel:#14120f;--soft:#1c1812;--fg:#ead9b5;--muted:#bcae93;--line:rgba(199,166,106,.22);--paper:#10100d;--ink:#ead9b5;--gold:#c7a66a}
.nav{background:rgba(12,11,9,.96);color:var(--fg)}
.logo{color:var(--gold)}.navcta{border-color:var(--gold);color:var(--gold)}
.hero-ui{padding-top:112px}.hero-ui > div:first-child{width:fit-content;max-width:100%;text-shadow:0 2px 24px rgba(0,0,0,.75)}
.hero-ui .eyebrow{opacity:1;color:#ead9b5}.hero h1{color:#f5e7c9}
.primary,.submit,.contact-demo{background:var(--gold);color:#14110b;border-color:var(--gold);text-shadow:none}
.secondary{border-color:var(--gold);color:#f5e7c9;background:rgba(12,11,9,.5)}
.intro,.contact{background:var(--paper);color:var(--fg)}
.intro p,.contact p,.point span,.field label,.note{color:var(--muted)}
.eyebrow,.intro .eyebrow,.contact .eyebrow{color:var(--gold)!important;opacity:1}
.points{border:0;background:transparent}.point{background:transparent;grid-template-columns:1fr;padding:22px 0;border-bottom:1px solid var(--line)}
.card h3,.step h3{color:var(--gold)}.card .n{display:none}
.step{padding-top:34px}.step h3{margin:0 0 18px}.step p{margin:0}
.project,.project.small,.area-box{border-radius:0}.project img{filter:none}.project-info h3{color:#f5e7c9}.project-info p{color:#dfcba7}
.chip{border-color:var(--line);color:var(--fg)}
input,select,textarea{background:#17140f;border-color:#554a35;color:var(--fg);border-radius:4px}
.note.success{border-color:var(--gold)}
dialog{background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:4px}dialog p{color:var(--muted)}
dialog .button{color:var(--gold);background:transparent;border-color:var(--gold)}
.menu-toggle{color:var(--gold)}.navlinks.open{background:var(--bg)}
.scene-detail{bottom:8vh;max-width:470px;color:#f5e7c9}
.scene-breath{padding:24px 28px;background:rgba(12,11,9,.65);backdrop-filter:none;border-left:2px solid var(--gold)}
.scene-detail h2{font-size:clamp(28px,3vw,43px);margin-bottom:14px}.scene-detail p{color:#ead9b5;line-height:1.6}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.card{transition:opacity .8s ease var(--reveal-delay,0ms),transform .8s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),background .25s ease}
.card:hover{background:rgba(199,166,106,.035)}
footer{color:var(--muted)}
@media(max-width:767px){.hero-ui{padding-top:110px}.scene-detail{bottom:40px}.scene-breath{padding:22px}.step{grid-template-columns:1fr;gap:0}.step p{grid-column:1}.step h3{margin:0 0 10px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.scene-breath{animation:none}}
.logo{font-weight:600;letter-spacing:.22em}.navlinks{letter-spacing:.12em}.navlinks a{transition:color .25s}.navlinks a[aria-current],.navlinks a:hover{color:var(--gold)}
.section-title,.intro h2{font-weight:500;font-size:clamp(40px,5.8vw,80px);line-height:1.04;max-width:850px}
.section-head{margin-bottom:60px}.section-head .eyebrow,.intro .eyebrow{margin-bottom:20px}
.intro-grid{grid-template-columns:1.15fr .85fr}.services{column-gap:52px}.card{padding:34px 0}
.service-select{border:0;background:none;color:var(--gold);padding:18px 0 0;font-size:13px;cursor:pointer}
.card.is-selected{box-shadow:inset 2px 0 var(--gold);padding-left:20px;background:rgba(199,166,106,.05)}
.process{gap:20px;border:0}.step{border:0;border-top:1px solid var(--line);position:relative;padding:32px 0}
.step:before{content:"";position:absolute;top:-1px;left:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1s ease var(--reveal-delay,0ms)}
.step.is-visible:before{transform:scaleX(1)}
.comparison{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--panel);border:1px solid var(--line)}
.comparison img{display:block;width:100%;height:100%;object-fit:cover}
.comparison-after,.comparison-before{position:absolute;inset:0}.comparison-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.comparison-divider{position:absolute;left:var(--split);top:0;bottom:0;width:1px;background:var(--gold);pointer-events:none}
.comparison-divider span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;background:#111;border:1px solid var(--gold);border-radius:50%;color:var(--gold)}
.comparison-tag{position:absolute;bottom:22px;color:#f5e7c9;background:rgba(12,11,9,.7);padding:8px 12px;font-size:12px;pointer-events:none}.before-tag{left:20px}.after-tag{right:20px}
#comparison-slider{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.comparison:focus-within{outline:2px solid var(--gold);outline-offset:5px}
.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:64px 0 28px}.detail-heading h3{font-size:clamp(26px,3vw,40px);font-weight:500;letter-spacing:-.03em;margin:0}
.gallery-controls{display:flex;gap:10px}.gallery-controls button{background:none;border:1px solid var(--line);color:var(--gold);width:44px;height:44px;cursor:pointer;font-size:20px}.gallery-controls button:disabled{opacity:.3;cursor:default}
.detail-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:calc(42% - 12px);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;padding-bottom:18px}
.material{margin:0;min-width:0;scroll-snap-align:start}.material img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.material figcaption{padding:22px 0;border-bottom:1px solid var(--line)}.material h3{font-weight:500;color:var(--gold);font-size:25px;margin:0 0 10px}.material p{font-size:14px;color:var(--muted);margin:0}
@media(max-width:900px){.intro-grid{grid-template-columns:1fr}.process{gap:0}.detail-gallery{grid-auto-columns:70%}}
@media(max-width:767px){.section-head{margin-bottom:32px}.detail-gallery{grid-auto-columns:86%;gap:18px}.detail-heading{margin-top:40px}.comparison{aspect-ratio:4/3}.detail-heading h3{font-size:28px}.gallery-controls{gap:6px}.gallery-controls button{width:36px;height:36px}.services{gap:0}}
@media(prefers-reduced-motion:reduce){.step:before{transition:none;transform:scaleX(1)}.card{transition:none}}

/* Film viewfinder: thin light marks, no dark overlay over the image. */
.film-hud{position:absolute;inset:98px 28px 28px;z-index:4;pointer-events:none;color:#f5e7c9;font:10px/1.2 Consolas,monospace;letter-spacing:.12em;text-shadow:0 1px 4px #241b0e}
.film-hud:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(245,231,201,.035) 4px),repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgba(245,231,201,.025) 80px),repeating-linear-gradient(0deg,transparent 0,transparent 79px,rgba(245,231,201,.025) 80px);opacity:.4;pointer-events:none}
.film-corner{position:absolute;width:32px;height:32px;border-color:rgba(245,231,201,.72);border-style:solid;border-width:0}
.film-corner.tl{top:22px;left:0;border-top-width:1px;border-left-width:1px}.film-corner.tr{top:22px;right:0;border-top-width:1px;border-right-width:1px}.film-corner.bl{bottom:48px;left:0;border-bottom-width:1px;border-left-width:1px}.film-corner.br{bottom:48px;right:0;border-bottom-width:1px;border-right-width:1px}
.film-rec{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px}.film-rec i{width:7px;height:7px;background:#e85536;border-radius:50%;animation:rec-light 2s ease-in-out infinite}.film-rec time{margin-left:8px;color:#f5e7c9;font-variant-numeric:tabular-nums}
.film-format{position:absolute;right:0;top:0;font-size:9px}.film-timeline{position:absolute;bottom:0;left:0;right:0}.film-chapters{display:flex;justify-content:space-between;padding-bottom:12px;text-transform:uppercase;color:rgba(245,231,201,.7);gap:8px}.film-chapters .active{color:#e8c67e;text-shadow:0 0 8px rgba(231,194,118,.4)}
.film-ruler{height:22px;border-bottom:1px solid rgba(245,231,201,.5);background:repeating-linear-gradient(90deg,rgba(245,231,201,.5) 0,rgba(245,231,201,.5) 1px,transparent 1px,transparent 10px)}
.film-fill{position:absolute;bottom:0;left:0;right:0;height:2px;background:#e8c67e;transform:scaleX(0);transform-origin:left;box-shadow:0 0 8px rgba(232,198,126,.4)}.film-playhead{position:absolute;bottom:-5px;width:9px;height:9px;background:#e8c67e;transform:translateX(-50%) rotate(45deg)}
@keyframes rec-light{0%,100%{opacity:1}50%{opacity:.35}}
.hero-ui{padding-top:160px}.scene-detail{bottom:130px}
.intro{background:radial-gradient(ellipse at 90% 20%,rgba(94,39,24,.17),transparent 65%),#10100d}
.section#servicios{background:radial-gradient(ellipse at 0% 50%,rgba(94,39,24,.13),transparent 65%),var(--bg)}
.contact{background:radial-gradient(ellipse at 85% 100%,rgba(110,49,25,.22),transparent 65%),#10100d}
.project-numbers{padding:90px 0;background:radial-gradient(ellipse at 50% 80%,rgba(110,49,25,.2),transparent 70%),#0c0b09;border-top:1px solid var(--line)}
.numbers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.count-up{display:block;font-size:clamp(70px,9vw,130px);line-height:1;letter-spacing:-.06em;color:var(--gold);font-weight:300;font-variant-numeric:tabular-nums}.numbers-grid p{font-size:13px;color:var(--muted);margin:22px 0 0}
.transformation{height:320svh;position:relative}.transformation-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:#16120d}
.transformation-images,.transformation-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.transformation-images img{opacity:0}.transformation-images img:first-child{opacity:1}
.transformation-sticky:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,11,9,.66),transparent 55%,rgba(12,11,9,.6));pointer-events:none}
.transformation-copy{position:absolute;z-index:1;left:6vw;top:38%;max-width:500px}.transformation-copy h2{font-size:clamp(40px,5vw,75px);line-height:1.05;letter-spacing:-.04em;font-weight:400;margin:20px 0;color:#f5e7c9}.transformation-copy p{font-size:16px;color:#dfcba7}
.transformation-meter{position:absolute;z-index:1;right:7vw;top:20%;width:185px;color:var(--gold)}.meter-value{display:flex;align-items:baseline;justify-content:center;font-size:clamp(76px,9vw,130px);font-weight:300;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}.meter-value small{font-size:22px;margin-left:10px}.meter-caption{text-transform:uppercase;text-align:center;letter-spacing:.17em;font:10px Consolas,monospace;margin:20px 0 26px}
.meter-scale{height:40svh;position:relative;margin:auto;width:80px}.meter-track{position:absolute;left:8px;top:0;bottom:0;width:12px;border:1px solid rgba(199,166,106,.3);border-radius:12px;overflow:hidden}.meter-track i{display:block;position:absolute;inset:0;background:linear-gradient(0deg,#a86f3b,#e9c778);transform:scaleY(0);transform-origin:bottom;border-radius:12px}.meter-labels{position:absolute;inset:0 0 0 36px;display:flex;flex-direction:column;justify-content:space-between;font:10px Consolas,monospace;color:#d8c4a0}.stage-disclaimer{position:absolute;bottom:30px;left:6vw;z-index:1;font:10px Consolas,monospace;letter-spacing:.1em;color:#dfcba7}
.showcase{position:relative;padding:0;background:radial-gradient(ellipse at 80% 10%,rgba(104,46,26,.2),transparent 70%),var(--bg)}
.showcase-sticky{position:sticky;top:0;height:100svh;overflow:hidden}.showcase .detail-heading{position:absolute;top:108px;left:0;right:0;z-index:2;margin:0 auto;pointer-events:none}.showcase .gallery-controls{pointer-events:auto}.showcase .detail-heading h3{font-size:clamp(26px,3vw,40px)}
.showcase .detail-gallery{position:absolute;inset:0;display:flex;gap:0;padding:0;overflow:visible;scroll-snap-type:none;will-change:transform;outline:none}
.showcase .material{flex:0 0 100%;width:100%;height:100%;position:relative;opacity:1;transition:none;transform:none}.showcase .material img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover}.showcase .material figcaption{position:absolute;bottom:60px;left:6vw;max-width:550px;border:0;padding:28px;background:rgba(12,11,9,.68);border-left:1px solid var(--gold)}.showcase .material h3{font-size:clamp(32px,4vw,58px);margin:0 0 14px}.showcase .material p{color:#dfcba7;font-size:16px}.showcase .detail-heading{background:rgba(12,11,9,.65);padding:18px 24px;width:calc(100% - 12vw)}
@media(max-width:767px){.film-hud{inset:92px 16px 22px}.film-format{font-size:7px;max-width:115px;text-align:right}.film-chapters{font-size:7px;letter-spacing:.02em}.film-corner{width:20px;height:20px}.hero-ui{padding-top:148px}.scene-detail{bottom:104px}.project-numbers{padding:64px 0}.numbers-grid{gap:16px}.count-up{font-size:60px}.numbers-grid p{font-size:11px;line-height:1.5}.transformation-copy{left:24px;right:115px;top:35%}.transformation-copy h2{font-size:36px}.transformation-copy p{font-size:13px;line-height:1.6}.transformation-meter{right:18px;width:90px;top:28%}.meter-value{font-size:55px}.meter-value small{font-size:14px}.meter-caption{font-size:7px;letter-spacing:.06em}.meter-scale{height:35svh;width:50px}.meter-labels{left:30px}.showcase .detail-heading{top:94px;padding:15px 18px;width:calc(100% - 40px);gap:10px}.showcase .detail-heading h3{font-size:23px}.showcase .material figcaption{left:20px;right:20px;bottom:40px;padding:24px}.showcase .material h3{font-size:35px}}
@media(prefers-reduced-motion:reduce){.film-rec i{animation:none}.transformation{height:100svh}.showcase-sticky{position:relative;height:auto;padding-top:110px}.showcase .detail-heading{top:24px;position:absolute}.showcase .detail-gallery{position:relative;overflow-x:auto;transform:none!important;scroll-snap-type:x mandatory}.showcase .material{height:80svh;scroll-snap-align:start}.count-up{transition:none}}
@media(max-width:767px){.transformation-copy{background:rgba(12,11,9,.45);padding:18px;left:18px;right:116px}.transformation-copy h2{font-size:32px}.transformation-copy p{margin-bottom:0}}

/* Renovation measuring rail: repeating full / half / fine divisions. */
.film-timeline{bottom:8px;padding:0 12px}
.film-chapters{position:relative;height:26px;margin-bottom:8px;padding:0}
.film-chapters span{position:absolute;bottom:0;transform:translateX(-50%);white-space:nowrap;font-size:9px;letter-spacing:.14em;color:#c6bda9}
.film-chapters span:last-child{transform:translateX(-100%)}
.film-chapters span.active{color:#f0cf86;text-shadow:0 1px 4px #39260c}
.film-ruler{position:relative;height:36px;border:0;background:linear-gradient(0deg,rgba(14,12,8,.64),rgba(14,12,8,.08));border-bottom:1px solid rgba(222,206,171,.32)}
.measure-tick{position:absolute;bottom:0;width:1px;height:100%;color:rgba(236,218,180,.44)}
.measure-tick i{position:absolute;bottom:0;width:1px;background:currentColor;transition:color .16s;display:block}
.measure-tick.minor i{height:8px}.measure-tick.half i{height:16px}.measure-tick.major i{height:26px;width:1.5px}
.measure-tick small{position:absolute;bottom:30px;left:4px;font:8px Consolas,monospace;color:#dfceab;letter-spacing:.08em}
.measure-tick:last-of-type small{left:auto;right:5px}
.measure-tick.passed{color:#d5b373}.measure-tick.at-playhead{color:#fff0c4}
.measure-tick.at-playhead i{box-shadow:0 0 5px rgba(234,199,127,.4)}
.film-fill{height:2px;bottom:-1px;background:#d5b373;box-shadow:0 1px 7px rgba(213,179,115,.22)}
.film-playhead{width:28px;height:36px;bottom:-16px;background:none;transform:translateX(-50%) rotate(-28deg);filter:drop-shadow(0 2px 2px rgba(0,0,0,.45));z-index:2}
.hammer-head{position:absolute;top:0;left:0;width:28px;height:11px;background:linear-gradient(180deg,#f4d89f,#c59b53);clip-path:polygon(0 8%,27% 8%,27% 30%,67% 30%,85% 8%,100% 8%,88% 70%,71% 93%,68% 61%,27% 61%,27% 92%,0 92%)}
.hammer-handle{position:absolute;left:11px;top:7px;width:6px;height:27px;border-radius:1px 1px 2px 2px;background:linear-gradient(90deg,#9b7239,#e1b975 50%,#ba8d48);border-bottom:3px solid #6f5129}
@media(max-width:767px){.film-timeline{padding:0 6px;bottom:6px}.film-chapters span{font-size:6px;letter-spacing:0}.film-ruler{height:30px}.measure-tick.major i{height:20px}.measure-tick.half i{height:12px}.measure-tick.minor i{height:6px}.measure-tick small{bottom:24px;font-size:7px}.film-playhead{width:24px;height:31px;bottom:-14px;scale:.85}.film-chapters{margin-bottom:4px}}
@media(prefers-reduced-motion:reduce){.measure-tick i{transition:none}}

/* A fixed tape housing, extending brass strip, and travelling metal end hook. */
.film-fill{height:27px;bottom:0;background:linear-gradient(180deg,#d4b77d,#b99451);box-shadow:inset 0 1px rgba(255,242,213,.4),0 2px 4px rgba(0,0,0,.22);z-index:0}
.measure-tick{z-index:1}.measure-tick.passed{color:#332914}.measure-tick.at-playhead{color:#241a09}.measure-tick.at-playhead i{box-shadow:none}
.film-playhead{width:9px;height:33px;bottom:-3px;transform:translateX(-50%);filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));scale:1}
.tape-hook{position:absolute;inset:0;border:2px solid #d9c8a1;border-left:0;border-radius:0 2px 2px 0;background:linear-gradient(90deg,#8c7c5d,#e4d7b6);width:7px}
.tape-hook:before,.tape-hook:after{content:"";position:absolute;left:1px;width:2px;height:2px;border-radius:50%;background:#625238}.tape-hook:before{top:6px}.tape-hook:after{bottom:6px}
.tape-case{position:absolute;left:-10px;bottom:-5px;width:35px;height:36px;background:linear-gradient(140deg,#28241c,#15130e);border:1px solid #ad8a4a;border-radius:7px 9px 4px 5px;z-index:3;box-shadow:0 2px 5px rgba(0,0,0,.4)}
.tape-case i{position:absolute;inset:7px;border:1px solid #b7985e;border-radius:50%;background:radial-gradient(circle,#dbc28f 0 13%,#5d4d31 14% 22%,transparent 23%)}
.tape-case:after{content:"";position:absolute;right:-3px;bottom:9px;width:4px;height:12px;background:#b7985e;border-radius:1px}
@media(max-width:767px){.film-fill{height:21px}.film-playhead{height:27px;bottom:-3px;scale:1}.tape-case{width:29px;height:30px;bottom:-5px;left:-6px}.tape-case i{inset:6px}}

/* Light follows the pulled end; the older length stays a quieter brass. */
.film-fill{background:linear-gradient(90deg,#806535 0%,#a78549 48%,#cfaa60 77%,#f5d68e 94%,#fff1bd 100%)}
.tape-end-glow{position:absolute;bottom:-4px;width:90px;height:36px;transform:translateX(-100%);background:radial-gradient(ellipse at 95% 50%,rgba(255,229,164,.62),rgba(230,186,100,.2) 38%,transparent 74%);filter:blur(5px);pointer-events:none;z-index:2;opacity:0}
.tape-hook{box-shadow:0 0 7px rgba(255,226,157,.85),0 0 20px rgba(233,189,100,.55);border-color:#fff0bc;background:linear-gradient(90deg,#c2a366,#fff2c1)}
.measure-tick.passed i{filter:drop-shadow(0 0 calc(var(--end-light,0)*3px) rgba(255,235,185,.6))}
.measure-tick.passed small{color:#efd498}
/* Fine joinery lines open up as the service panel is approached. */
.card{position:relative}.card:before,.card:after{content:"";position:absolute;right:0;width:14px;height:14px;border-color:rgba(199,166,106,.38);border-style:solid;transition:width .4s,height .4s,border-color .4s}
.card:before{top:24px;border-width:1px 1px 0 0}.card:after{bottom:24px;border-width:0 1px 1px 0}.card:hover:before,.card:hover:after,.card:focus-within:before,.card:focus-within:after{width:26px;height:26px;border-color:var(--gold)}
.step:after{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border:1px solid var(--gold);background:var(--bg);transform:scale(0);transition:transform .5s ease var(--reveal-delay,0ms)}.step.is-visible:after{transform:scale(1)}
/* The comparison grip borrows the sight window of a spirit level. */
.comparison-divider span{font-size:0;width:52px;height:28px;border-radius:4px;background:linear-gradient(180deg,#201c13,#0d0c09);border:1px solid var(--gold);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.comparison-divider span:before{content:"";width:30px;height:10px;border:1px solid #b69860;border-radius:6px;background:linear-gradient(90deg,transparent 0 28%,#b69860 29% 31%,transparent 32% 68%,#b69860 69% 71%,transparent 72%)}
.comparison-divider span:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border:1px solid #ffdfa0;border-radius:50%;transform:translate(-50%,-50%);background:#9e793f}
.meter-track{overflow:visible}.meter-track:after{content:"";position:absolute;top:clamp(3px,var(--level-position,100%),calc(100% - 3px));left:50%;width:18px;height:4px;border:1px solid #ffdf99;background:#c5a05a;transform:translate(-50%,-50%);box-shadow:0 0 10px rgba(225,185,112,.3)}
.field input,.field textarea,.field select{transition:border-color .25s,box-shadow .25s}.field:focus-within label{color:var(--gold)}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold);outline:none}
.faq summary:after{transition:transform .35s;color:var(--gold)}.faq details[open] summary:after{content:"+";transform:rotate(45deg)}
.navcta,.primary,.submit{transition:background .25s,color .25s,border-color .25s}.navcta:hover{background:var(--gold);color:#17120a}.primary:hover,.submit:hover{background:#e2c287}
@media(max-width:767px){.tape-end-glow{width:54px;height:30px;bottom:-3px}.card:before,.card:after{right:2px}}
@media(prefers-reduced-motion:reduce){.card:before,.card:after,.step:after,.faq summary:after{transition:none}.step:after{transform:scale(1)}}
.film-ruler{background:none;box-shadow:none}
.measure-tick{color:rgba(248,230,187,.78)}
.measure-tick.major i{width:1px}

/* Material callouts, anchored directly to the project rather than boxed captions. */
.scene-detail{inset:0;bottom:0;left:0;right:0;max-width:none;width:100%;height:100%;background:none;border:0;will-change:opacity}
.material-callout{position:absolute;inset:0;pointer-events:none}
.callout-leader{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.callout-leader path{fill:none;stroke:#f2dca5;stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(48,32,10,.65))}
.callout-anchor{position:absolute;width:7px;height:7px;border-radius:50%;background:#e6bf72;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(221,179,97,.17),0 0 10px rgba(246,218,158,.38)}
.callout-label{position:absolute;max-width:27vw;font-size:clamp(15px,1.55vw,24px);font-weight:600;line-height:1.35;letter-spacing:.12em;text-transform:uppercase;color:#fff4d8;text-shadow:0 1px 3px rgba(31,20,5,.95),0 2px 14px rgba(31,20,5,.55);background:none;border:0;padding:0;opacity:0}
@media(max-width:767px){.scene-detail{inset:0;max-width:none;width:100%;height:100%}.callout-label{font-size:14px;letter-spacing:.09em;max-width:68vw}.callout-leader path{stroke-width:1}.callout-anchor{width:6px;height:6px}}
.callout-endmark{position:absolute;width:4px;height:4px;background:#fff4d8;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 5px rgba(239,209,148,.35);opacity:0}
.callout-label{font-size:clamp(24px,2.2vw,38px);font-weight:600;letter-spacing:.08em;color:#fff;-webkit-text-stroke:1px #000;paint-order:stroke fill;text-shadow:none}
.callout-anchor{width:9px;height:9px;animation:anchor-breathe 2.6s ease-in-out infinite}
.callout-anchor:after{content:"";position:absolute;inset:-5px;border:1px solid rgba(255,235,189,.65);border-radius:50%;animation:anchor-ring 2.6s ease-in-out infinite}
@keyframes anchor-breathe{0%,100%{transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 3px rgba(221,179,97,.15),0 0 7px rgba(246,218,158,.3)}50%{transform:translate(-50%,-50%) scale(1.18);box-shadow:0 0 0 5px rgba(221,179,97,.22),0 0 16px rgba(246,218,158,.65)}}
@keyframes anchor-ring{0%,100%{transform:scale(.9);opacity:.35}50%{transform:scale(1.25);opacity:.75}}
@media(max-width:767px){.callout-label{font-size:22px;max-width:74vw;letter-spacing:.055em}.callout-anchor{width:8px;height:8px}}
@media(prefers-reduced-motion:reduce){.callout-anchor,.callout-anchor:after{animation:none}}
.callout-leader path{stroke-linecap:round;stroke-linejoin:round}

.craft-section{padding:110px 0;background:radial-gradient(ellipse at 80% 0%,rgba(101,47,26,.13),transparent 65%),var(--bg);border-top:1px solid var(--line)}
.craft-wrap{width:calc(100% - 64px);max-width:1700px;margin:auto}
.craft-section .section-head{margin:0 0 44px}.craft-note{font-size:12px;color:var(--muted)}
.craft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;grid-auto-rows:clamp(210px,19vw,330px)}
.craft-tile{position:relative;min-width:0;margin:0;overflow:hidden;background:#191610;isolation:isolate}
.craft-wide{grid-column:span 2}.craft-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .85s cubic-bezier(.16,1,.3,1)}
.craft-tile:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(12,10,6,.8),rgba(12,10,6,.2) 28%,transparent 52%);z-index:1}
.craft-tile figcaption{position:absolute;z-index:2;bottom:24px;left:24px;right:24px;pointer-events:none}
.craft-tile h3{font-size:15px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#efcc86;margin:0 0 8px;line-height:1.3}
.craft-tile p{color:#fff;font-size:13px;line-height:1.5;margin:0;text-shadow:0 1px 3px #000}
.craft-tile:hover img,.craft-tile:focus-visible img{transform:scale(1.055)}
.craft-tile:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:900px){.craft-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:240px}.craft-wide{grid-column:span 2}.craft-wrap{width:calc(100% - 40px)}}
@media(max-width:600px){.craft-section{padding:64px 0}.craft-grid{grid-template-columns:1fr;grid-auto-rows:245px;gap:10px}.craft-wide{grid-column:span 1;min-height:245px}.craft-tile figcaption{left:20px;right:20px;bottom:20px}.craft-tile h3{font-size:14px}.craft-section .section-head{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.craft-tile img{transition:none}.craft-tile:hover img,.craft-tile:focus-visible img{transform:none}}
.callout-leader path{stroke:#fff;stroke-width:3;filter:drop-shadow(0 1px 1px #000)}
.callout-anchor{width:16px;height:16px;border:1px solid #000;background:#efd18b}
.callout-anchor:after{inset:-6px;border-width:1.5px}
.callout-endmark{width:7px;height:7px;background:#fff;border:1px solid #000;box-shadow:none}
@media(max-width:767px){.callout-leader path{stroke-width:2.5}.callout-anchor{width:13px;height:13px}.callout-endmark{width:6px;height:6px}}
/* Eight-image composition: two columns keep all rows filled. */
.craft-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(230px,22vw,360px)}
.craft-wide{grid-column:span 1}
@media(max-width:600px){.craft-grid{grid-template-columns:1fr;grid-auto-rows:245px}}
#quote-form .submit{margin-top:20px}
@media(max-width:767px){#quote-form .submit{margin-top:14px}}
