:root{--ink:#171813;--paper:#f3efe6;--soft:#ded8cc;--red:#d9362b;--white:#fff;--line:rgba(23,24,19,.16);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}svg{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav{height:92px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:50;background:rgba(243,239,230,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-weight:900;letter-spacing:-.02em}.brand img{width:51px;height:55px;object-fit:contain}.brand span{font-size:17px;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:.13em;margin-top:6px;font-weight:600;text-transform:uppercase}.nav nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.menu-toggle{display:none;background:none;border:0;width:48px;height:48px;border-radius:50%}.menu-toggle i{display:block;width:22px;height:2px;background:currentColor;margin:6px auto}.pill{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:0 25px;border:0;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.02em;transition:transform .25s,background .25s,color .25s}.pill:hover{transform:translateY(-2px)}.pill-dark{background:var(--ink);color:#fff}.pill-red{background:var(--red);color:#fff;box-shadow:0 14px 35px rgba(217,54,43,.25)}.pill-light{background:#fff;color:var(--ink)}.pill-outline{border:1px solid var(--line);background:transparent}.eyebrow{display:block;font-size:11px;font-weight:900;letter-spacing:.16em}.hero{height:calc(100svh - 92px);min-height:650px;position:relative;overflow:hidden;background:#222;color:#fff}.hero>img{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.22) 64%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.54),transparent 42%)}.hero-copy{position:absolute;left:6vw;top:50%;transform:translateY(-50%);max-width:900px}.hero h1,.page-hero h1,.project-hero h1,.quote-copy h1,.admin-intro h1{font-size:clamp(64px,10vw,150px);line-height:.78;letter-spacing:-.065em;margin:32px 0;font-weight:900}.hero h1 em,.lead em,.section-head em,.method em,.reviews em,.final-cta em,.page-hero em,.project-hero em,.gallery-intro em,.project-contact em,.quote-copy em,.admin-intro em{font-family:Georgia,serif;font-weight:400}.hero-copy>p{font-size:clamp(16px,1.5vw,22px);max-width:570px;line-height:1.5}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.text-link{font-size:13px;font-weight:800;display:flex;gap:12px;align-items:center}.hero-meta{position:absolute;left:6vw;right:6vw;bottom:28px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.35);padding-top:18px;font-size:11px;letter-spacing:.1em}.lead{padding:140px 6vw 100px;display:grid;grid-template-columns:1fr 2fr;gap:5vw}.lead h2,.section-head h2,.method h2,.reviews h2,.final-cta h2,.gallery-intro h2,.project-contact h2{font-size:clamp(50px,7vw,104px);line-height:.9;letter-spacing:-.055em;margin:0}.lead p,.gallery-intro p{font-size:18px;line-height:1.65;max-width:520px;margin:32px 0 0}.featured{background:var(--ink);color:#fff;padding:90px 0 70px}.featured-head{display:flex;align-items:end;justify-content:space-between;padding:0 6vw 45px}.featured-head h2{font-size:clamp(42px,6vw,84px);line-height:.9;margin:20px 0 10px;letter-spacing:-.05em}.featured-head p{margin:0;color:#c5c1b9}.rail-wrap{position:relative}.work-rail{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:0 6vw 24px;scrollbar-width:none;cursor:grab}.work-rail::-webkit-scrollbar{display:none}.work-rail:active{cursor:grabbing}.work-slide{position:relative;flex:0 0 min(72vw,950px);height:min(68vh,690px);margin:0;border-radius:var(--radius);overflow:hidden;scroll-snap-align:start;background:#2c2c29}.work-slide img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.work-slide:hover img{transform:scale(1.02)}.work-slide figcaption{position:absolute;top:20px;left:20px;background:rgba(255,255,255,.94);color:var(--ink);font-size:11px;font-weight:900;letter-spacing:.14em;padding:12px 17px;border-radius:999px}.work-slide[data-stage="dopo"] figcaption{background:var(--red);color:#fff}.swipe-cue{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:15px 6vw 0;font-size:10px;font-weight:900;letter-spacing:.15em}.swipe-track{height:2px;background:rgba(255,255,255,.22);position:relative;overflow:hidden}.swipe-track i{position:absolute;left:0;top:0;height:100%;width:30%;background:var(--red);transform:translateX(-100%);animation:swipe 2.2s infinite ease-in-out}@keyframes swipe{0%{transform:translateX(-100%)}75%,100%{transform:translateX(340%)}}.portfolio-preview{padding:140px 6vw}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:70px}.cards,.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 24px}.project-card figure{height:min(55vw,660px);margin:0;position:relative;overflow:hidden;border-radius:var(--radius);background:#d5d0c7}.project-card figure:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 38%)}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.project-card:hover img{transform:scale(1.035)}.project-card figure>span,.project-card figure>b{position:absolute;z-index:2;bottom:20px;color:#fff}.project-card figure>span{left:20px;display:flex;gap:7px;align-items:center;font-size:11px;font-weight:800}.project-card figure>b{right:20px;width:48px;height:48px;background:#fff;color:var(--ink);border-radius:50%;display:grid;place-items:center;font-size:0}.project-card figure>b svg{font-size:17px}.project-card>div{padding:22px 4px}.project-card small{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.project-card h3{font-size:clamp(28px,3vw,48px);line-height:1;margin:14px 0 12px;letter-spacing:-.04em}.project-card p{max-width:580px;line-height:1.55;color:#595a54;margin:0}.method{padding:140px 6vw;background:#ded8cc}.method>.eyebrow{margin-bottom:35px}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:80px}.method-grid article{padding:36px 40px 30px 0;border-right:1px solid var(--line)}.method-grid article+article{padding-left:40px}.method-grid article:last-child{border:0}.method-grid b{font-size:11px;color:var(--red)}.method-grid h3{font-size:34px;margin:50px 0 15px}.method-grid p{line-height:1.6;color:#55564f}.reviews{padding:140px 6vw}.stars,.review-grid span{color:var(--red);letter-spacing:.12em}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.review-grid article{background:#fff;padding:44px;border-radius:var(--radius)}.review-grid p{font-family:Georgia,serif;font-size:clamp(22px,2.3vw,35px);line-height:1.35}.review-grid small{font-size:10px;font-weight:900;letter-spacing:.12em}.final-cta{background:var(--ink);color:#fff;padding:120px 6vw;text-align:center}.final-cta h2{margin:35px 0 50px}.page-hero,.project-hero{padding:110px 6vw 90px}.page-hero p,.project-hero>p{font-size:18px;line-height:1.65;max-width:680px}.filters{padding:0 6vw 60px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}.filters button{white-space:nowrap;border:1px solid var(--line);background:transparent;border-radius:999px;padding:13px 20px;font-size:12px;font-weight:800}.filters button[aria-pressed=true]{background:var(--ink);color:#fff}.project-grid{padding:0 6vw 140px}.back{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;margin-bottom:70px}.back svg{transform:rotate(180deg)}.project-location{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;margin-top:35px}.project-gallery{background:var(--ink);color:#fff;padding:100px 0 70px}.gallery-intro{padding:0 6vw 60px;display:grid;grid-template-columns:1.4fr 1fr;gap:4vw;align-items:end}.gallery-intro p{margin:0;color:#c9c5bd}.project-contact{padding:120px 6vw;display:flex;justify-content:space-between;align-items:end;gap:40px}.quote-page,.admin-page{padding:110px 6vw 140px}.quote-copy,.admin-intro{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:5vw;margin-bottom:70px}.quote-copy p,.admin-intro p{font-size:18px;line-height:1.65}.quote-copy .eyebrow,.admin-intro .eyebrow{grid-column:1/-1}.quote-copy h1,.admin-intro h1{font-size:clamp(60px,9vw,128px);margin:20px 0 0}.quote-form,.admin-form{background:#fff;border-radius:var(--radius);padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.quote-form label,.admin-form label{font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.quote-form input,.quote-form select,.quote-form textarea,.admin-form input,.admin-form select,.admin-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #bab7b0;background:transparent;padding:16px 0 13px;margin-top:7px;outline:none;text-transform:none;letter-spacing:0;font-weight:500}.quote-form textarea,.admin-form textarea{resize:vertical}.wide{grid-column:1/-1}.quote-result{margin-top:32px;background:var(--ink);color:#fff;padding:40px;border-radius:var(--radius)}.quote-result pre{white-space:pre-wrap;font-family:inherit;line-height:1.6;background:#2a2b27;padding:24px;border-radius:20px}.quote-result>div{display:flex;gap:12px}.upload-box{border:1px dashed #aaa69e;border-radius:22px;padding:28px}.upload-box p{color:#666;font-size:13px}.upload-box input{border:0}.local-projects{margin-top:70px}.local-projects>div{display:grid;gap:12px;margin-top:20px}.local-projects article{background:#fff;border-radius:20px;padding:20px}.local-projects button{border:0;background:#eee8dc;border-radius:999px;padding:9px 15px}.mobile-cta{display:none}footer{background:#11120f;color:#fff;padding:70px 6vw 40px;display:grid;grid-template-columns:2fr 1fr auto;gap:50px;align-items:start}footer p{color:#aaa9a3;max-width:430px;line-height:1.6}.footer-brand{font-size:28px;font-weight:900}.footer-links{display:grid;gap:14px;font-size:13px}footer>span{font-size:11px;color:#aaa9a3}
@media(max-width:800px){:root{--radius:22px}.nav{height:74px;padding:0 18px}.brand img{width:43px;height:46px}.brand span{font-size:14px}.brand small{font-size:7px}.menu-toggle{display:block}.nav nav{display:none;position:fixed;inset:74px 0 auto;background:var(--paper);padding:35px 20px 45px;flex-direction:column;align-items:stretch;font-size:20px;border-bottom:1px solid var(--line)}.menu-open .nav nav{display:flex}.nav nav .pill{font-size:14px}.hero{height:calc(100svh - 74px);min-height:610px}.hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.06) 75%)}.hero-copy{left:20px;right:20px;top:auto;bottom:105px;transform:none}.hero h1{font-size:clamp(62px,20vw,92px);margin:20px 0}.hero-copy>p{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column;gap:18px;margin-top:26px}.hero-actions .pill{width:max-content}.hero-meta{left:20px;right:20px;bottom:22px}.hero-meta span{display:none}.lead{padding:90px 20px 65px;display:block}.lead>.eyebrow{margin-bottom:28px}.lead h2,.section-head h2,.method h2,.reviews h2,.final-cta h2,.gallery-intro h2,.project-contact h2{font-size:54px}.lead p{font-size:16px}.featured{padding:65px 0 45px}.featured-head{align-items:start;padding:0 20px 32px;display:block}.featured-head .pill{margin-top:25px}.work-rail{padding:0 20px 18px;gap:12px}.work-slide{flex-basis:84vw;height:62vh;min-height:460px;max-height:610px}.work-slide figcaption{top:14px;left:14px;padding:10px 14px}.swipe-cue{padding:12px 20px 0;gap:12px}.portfolio-preview,.method,.reviews{padding:90px 20px}.section-head{display:block;margin-bottom:42px}.section-head .pill{margin-top:25px}.cards,.project-grid{grid-template-columns:1fr;gap:45px}.project-card figure{height:118vw;max-height:570px}.project-card h3{font-size:34px}.method-grid,.review-grid{grid-template-columns:1fr}.method-grid article,.method-grid article+article{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.method-grid h3{margin:25px 0 12px}.review-grid article{padding:28px}.final-cta{padding:90px 20px}.page-hero,.project-hero{padding:80px 20px 65px}.page-hero h1,.project-hero h1,.quote-copy h1,.admin-intro h1{font-size:70px}.filters{padding:0 20px 45px}.project-grid{padding:0 20px 100px}.back{margin-bottom:55px}.gallery-intro{padding:0 20px 42px;display:block}.gallery-intro p{font-size:16px;margin-top:28px}.project-contact{padding:90px 20px;display:block}.project-contact .pill{margin-top:35px}.quote-page,.admin-page{padding:75px 20px 110px}.quote-copy,.admin-intro{display:block}.quote-copy p,.admin-intro p{font-size:16px}.quote-form,.admin-form{padding:25px 20px;grid-template-columns:1fr;gap:24px}.wide{grid-column:auto}.upload-box{padding:22px}.quote-result{padding:26px 20px}.quote-result>div{flex-direction:column}.mobile-cta{position:fixed;display:flex;left:14px;right:14px;bottom:13px;height:54px;border-radius:999px;background:var(--red);color:#fff;z-index:40;align-items:center;justify-content:center;gap:18px;font-size:13px;font-weight:900;box-shadow:0 15px 40px rgba(0,0,0,.3)}footer{padding:65px 20px 95px;grid-template-columns:1fr;gap:30px}.footer-links{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.swipe-track i{animation:none}.pill,.project-card img,.work-slide img{transition:none}}

/* Scroll-driven project story */
.story-intro{padding:120px 6vw 75px}.story-intro>div{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:28px 0}.story-intro h2{font-size:clamp(58px,8vw,116px);line-height:.9;letter-spacing:-.055em;margin:0}.story-intro h2 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}.story-intro p{max-width:450px;font-size:17px;line-height:1.65}.scroll-story{position:relative;--steps:7;background:var(--ink);color:#fff}.story-sticky{position:sticky;top:0;height:100svh;min-height:640px;display:grid;grid-template-columns:32% 68%;overflow:hidden;background:var(--ink);z-index:2}.story-info{padding:42px 12% 34px;display:flex;flex-direction:column;border-right:1px solid #ffffff22}.story-info>.eyebrow{font-size:9px;color:#b7b8b2}.story-count{margin-top:auto;display:flex;align-items:baseline;gap:15px}.story-count span:first-child{font-size:clamp(95px,10vw,160px);line-height:1;color:var(--red);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.07em}.story-count span:last-child{font-size:21px;color:#777970}.story-info h3{font-size:clamp(32px,3.6vw,56px);line-height:.95;letter-spacing:-.04em;margin:18px 0 42px;max-width:320px}.phase-track{display:grid;gap:23px;margin-bottom:auto;position:relative}.phase-track:before{content:"";position:absolute;left:3px;top:5px;bottom:5px;width:1px;background:#ffffff30}.phase{font-size:10px;color:#74786d;display:flex;align-items:center;gap:14px}.phase i{width:7px;height:7px;border:1px solid #71736c;border-radius:50%;background:var(--ink);position:relative}.phase.on{color:#fff}.phase.on i{background:var(--red);border-color:var(--red);box-shadow:0 0 0 5px #d9362b22}.scroll-prompt{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.14em;color:#9a9c94;padding-top:24px}.scroll-prompt>span{width:16px;height:26px;border:1px solid #74766f;border-radius:12px;position:relative}.scroll-prompt>span:after{content:"";position:absolute;left:6px;top:5px;width:2px;height:6px;background:var(--red);animation:scrollTick 1.5s infinite}.story-visual{position:relative;isolation:isolate;overflow:hidden;background:#1d1e1a}.story-pictures{position:absolute;inset:0;z-index:-1}.story-frame{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(5%) scale(1.035);transition:opacity .65s,transform 1.1s cubic-bezier(.2,.7,.2,1)}.story-frame.is-active{opacity:1;transform:none}.story-frame img{width:100%;height:100%;object-fit:cover}.story-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(#0006,transparent 28%,transparent 62%,#0009);z-index:-1;pointer-events:none}.visual-top,.visual-bottom{position:absolute;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center}.visual-top{top:28px;font-size:8px;letter-spacing:.14em}.visual-top span:first-child{background:var(--red);padding:10px 14px;font-weight:900}.visual-bottom{bottom:34px;font-size:11px}.visual-bottom span:last-child{font-size:9px;font-variant-numeric:tabular-nums}.story-progress{position:absolute;left:0;right:0;bottom:0;height:5px;background:#ffffff30}.story-progress span{display:block;width:0;height:100%;background:var(--red);transition:width .12s linear}.story-steps{position:relative;margin-top:-100svh;pointer-events:none}.story-step{height:75svh;min-height:460px}.story-step:last-child{height:100svh;min-height:640px}@keyframes scrollTick{50%{transform:translateY(7px);opacity:.4}}
.pill svg,.project-card figure>b svg,.mobile-cta svg{display:block;flex:0 0 auto;transform:none}.project-hero{padding:34px 6vw 36px;display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:start}.project-hero .back{margin:6px 0 0}.project-hero>div{max-width:1100px}.project-hero h1{font-size:clamp(52px,6vw,82px);margin:18px 0}.project-hero>div>p{margin:0;line-height:1.55}.project-location{margin-top:20px}.project-gallery{padding-top:30px}.project-gallery .gallery-intro{padding-bottom:28px;grid-template-columns:1fr 1fr}.project-gallery .gallery-intro h2{font-size:clamp(38px,4vw,60px)}
@media(max-width:800px){.story-intro{padding:78px 20px 48px}.story-intro>div{display:block;margin:23px 0}.story-intro h2{font-size:53px}.story-intro p{font-size:15px;margin-top:24px}.story-sticky{grid-template-columns:1fr;grid-template-rows:31% 69%;min-height:560px}.story-info{padding:20px;display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto 1fr auto;column-gap:16px;border-right:0}.story-info>.eyebrow{grid-column:1/3;font-size:8px}.story-count{grid-column:1;grid-row:2;margin:8px 0 0;display:block;align-self:center}.story-count span:first-child{font-size:66px;line-height:.9}.story-count span:last-child{display:block;font-size:12px;margin:7px 0 0 4px}.story-info h3{grid-column:2;grid-row:2;font-size:31px;margin:10px 0 5px;align-self:center}.phase-track{grid-column:1/3;grid-row:3;display:flex;justify-content:space-between;gap:4px;margin:12px 0 0}.phase-track:before{display:none}.phase{font-size:8px;gap:7px}.phase i{width:5px;height:5px}.scroll-prompt{display:none}.story-visual{border-top:1px solid #ffffff22}.visual-top,.visual-bottom{left:16px;right:16px}.visual-top{top:15px}.visual-bottom{bottom:22px;font-size:9px}.story-step{height:65svh;min-height:370px}.story-step:last-child{height:100svh;min-height:560px}.project-hero{padding:20px 20px 22px;display:block}.project-hero .back{margin:0 0 18px}.project-hero h1{font-size:38px;line-height:.92;margin:11px 0}.project-hero>div>p{font-size:13px;line-height:1.45;margin:0}.project-location{margin-top:13px}.project-gallery{padding-top:22px}.project-gallery .gallery-intro{padding-bottom:18px}.project-gallery .gallery-intro h2{font-size:32px}.project-gallery .gallery-intro p{font-size:12px;line-height:1.45;margin-top:10px}.detail-rail .work-slide{height:64svh;min-height:430px}}

/* Stable arrow icon: centered consistently on Safari and every screen size */
.arrow-icon{position:relative;display:inline-block;flex:0 0 20px;width:20px;height:20px;vertical-align:middle;pointer-events:none}
.arrow-icon:before{content:"";position:absolute;left:2px;top:9px;width:15px;height:2px;border-radius:2px;background:currentColor}
.arrow-icon:after{content:"";position:absolute;right:2px;top:6px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transform-origin:center}
.project-card figure>b .arrow-icon{width:22px;height:22px;flex-basis:22px}
.project-card figure>b .arrow-icon:before{top:10px}
.project-card figure>b .arrow-icon:after{top:7px}
.back .arrow-icon{transform:rotate(180deg)}

/* Home project: a real horizontal carousel. Every slide owns its image and copy. */
.home-story{background:var(--ink);color:#fff;padding:72px 0 42px;overflow:hidden}
.home-story-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:6vw;padding:0 6vw 24px;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overscroll-behavior-inline:contain}
.home-story-rail::-webkit-scrollbar{display:none}
.home-story-card{flex:0 0 88vw;height:min(76svh,760px);min-height:610px;display:grid;grid-template-columns:34% 66%;overflow:hidden;border:1px solid #ffffff20;border-radius:32px;background:#20211d;scroll-snap-align:start;scroll-snap-stop:always}
.home-story-info{padding:42px 11% 38px;display:flex;flex-direction:column;min-width:0}
.home-story-info>.eyebrow{font-size:9px;color:#b7b8b2}
.home-story-number{display:flex;align-items:baseline;gap:14px;margin-top:auto}
.home-story-number strong{font-size:clamp(92px,10vw,150px);line-height:.84;color:var(--red);letter-spacing:-.075em;font-variant-numeric:tabular-nums}
.home-story-number span{font-size:20px;color:#777970}
.home-story-phase{margin-top:28px;font-size:9px;font-weight:900;letter-spacing:.16em;color:#b7b8b2}
.home-story-info h3{font-size:clamp(34px,3.5vw,56px);line-height:.96;letter-spacing:-.045em;margin:12px 0 0;max-width:360px}
.home-story-card figure{position:relative;margin:0;min-width:0;overflow:hidden;background:#2b2c27}
.home-story-card figure:after{content:"";position:absolute;inset:0;background:linear-gradient(#0005,transparent 30%,transparent 65%,#0009);pointer-events:none}
.home-story-card img{width:100%;height:100%;object-fit:cover}
.home-story-card figcaption{position:absolute;inset:25px 25px auto;display:flex;justify-content:space-between;align-items:center;z-index:2;font-size:9px;letter-spacing:.14em}
.home-story-card figcaption b{background:var(--red);padding:10px 14px;border-radius:999px;font-size:9px}
.home-story-cue{display:grid;grid-template-columns:auto 1fr 26px;align-items:center;gap:18px;margin:14px 6vw 0;padding:12px 0;color:#fff;font-size:10px;font-weight:900;letter-spacing:.15em;cursor:pointer;-webkit-tap-highlight-color:transparent}
.home-story-track{height:3px;background:#ffffff2c;position:relative;overflow:hidden;border-radius:10px}
.home-story-track i{position:absolute;left:0;top:0;height:100%;width:22%;background:var(--red);border-radius:10px;transform:translateX(0);transition:transform .14s linear,width .14s linear}
.home-story-cue .arrow-icon{justify-self:end}

@media(max-width:800px){
  .story-intro{padding-bottom:40px}
  .home-story{padding:24px 0 34px}
  .home-story-rail{gap:12px;padding:0 20px 18px;scroll-padding-inline:20px}
  .home-story-card{flex-basis:calc(100vw - 40px);height:72svh;min-height:575px;max-height:680px;grid-template-columns:1fr;grid-template-rows:31% 69%;border-radius:24px}
  .home-story-info{padding:20px;display:grid;grid-template-columns:82px 1fr;grid-template-rows:auto 1fr auto;column-gap:15px}
  .home-story-info>.eyebrow{grid-column:1/3;font-size:8px}
  .home-story-number{grid-column:1;grid-row:2;display:block;align-self:center;margin:7px 0 0}
  .home-story-number strong{display:block;font-size:66px;line-height:.86}
  .home-story-number span{display:block;font-size:12px;margin:7px 0 0 4px}
  .home-story-phase{grid-column:2;grid-row:3;margin:0 0 2px;font-size:8px;align-self:end}
  .home-story-info h3{grid-column:2;grid-row:2;font-size:30px;align-self:center;margin:8px 0 0}
  .home-story-card figure{border-top:1px solid #ffffff20}
  .home-story-card figcaption{inset:15px 15px auto}
  .home-story-cue{grid-template-columns:auto 1fr 24px;gap:12px;margin:8px 20px 0;padding:10px 0;font-size:9px}
  .pill .arrow-icon,.mobile-cta .arrow-icon{width:18px;height:18px;flex-basis:18px}
  .pill .arrow-icon:before,.mobile-cta .arrow-icon:before{top:8px}
  .pill .arrow-icon:after,.mobile-cta .arrow-icon:after{top:5px}
}

.admin-gate{min-height:calc(100svh - 92px);display:grid;place-items:center;padding:60px 20px;background:linear-gradient(135deg,#ded8cc,var(--paper))}.admin-gate[hidden],.admin-page[hidden]{display:none}.pin-form{width:min(100%,480px);background:#fff;border-radius:var(--radius);padding:48px;box-shadow:0 24px 70px rgba(23,24,19,.12)}.pin-form h1{font-size:clamp(42px,7vw,72px);line-height:.9;letter-spacing:-.055em;margin:26px 0 20px}.pin-form>p{line-height:1.6;color:#595a54}.pin-form label{display:block;margin:34px 0 25px;font-size:11px;font-weight:900;letter-spacing:.11em}.pin-form input{display:block;width:100%;border:0;border-bottom:1px solid #bab7b0;background:transparent;padding:16px 0 13px;margin-top:7px;outline:none;font-size:28px;letter-spacing:.35em}.pin-form .pin-error{min-height:24px;margin:20px 0 0;color:var(--red);font-weight:700;font-size:13px}@media(max-width:800px){.admin-gate{min-height:calc(100svh - 74px)}.pin-form{padding:34px 24px}}

.upload-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.upload-preview img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.admin-form select{cursor:pointer}.admin-form label:has(select){background:#f6f2e9;border-radius:18px;padding:14px 18px}

/* Gestione progetti */
#customCategoryField[hidden]{display:none}.local-projects article{display:flex;align-items:center;justify-content:space-between;gap:20px}.local-projects article div{min-width:0}.local-projects article b{display:block;font-size:17px;margin-bottom:8px}.local-projects article p{margin:0;color:#666;line-height:1.5}.local-projects article button{flex:0 0 auto;background:#fee9e6;color:#a51f17;font-weight:800;cursor:pointer}.local-projects article button:hover{background:#f8d3ce}.local-projects article button:disabled{opacity:.55;cursor:wait}@media(max-width:600px){.local-projects article{align-items:flex-start;flex-direction:column}.local-projects article button{align-self:flex-end}}
.review-admin{margin-top:90px}.review-admin h2{font-size:clamp(40px,6vw,72px);line-height:1;margin:20px 0}.review-admin>p{margin:0 0 30px;color:#595a54}.review-admin .admin-form{margin-top:25px}.review-admin .local-projects article p{max-width:900px;white-space:pre-line}.review-admin #reviewStatus{line-height:1.5}

.origin-story{background:#272922;color:#f3efe6;padding:110px 6vw 0;overflow:hidden}.origin-top{display:grid;grid-template-columns:1.3fr 1fr;gap:20px 7vw;align-items:end;padding-bottom:80px}.origin-top .eyebrow{grid-column:1/-1;color:#e5a79c}.origin-top h2{font-size:clamp(54px,7vw,110px);letter-spacing:-.065em;line-height:.89;margin:0}.origin-top h2 em{font-family:Georgia,serif;font-weight:400}.origin-top p{font-size:clamp(17px,1.8vw,24px);line-height:1.48;max-width:580px;color:#dad5ca;margin:0}.origin-body{display:grid;grid-template-columns:1fr 1.6fr;border-top:1px solid rgba(255,255,255,.25)}.origin-mark{padding:60px 6vw 70px 0;border-right:1px solid rgba(255,255,255,.25)}.origin-mark>span{display:block;color:#e1493b;font-size:clamp(110px,20vw,300px);font-weight:900;line-height:.8;letter-spacing:-.09em;margin-bottom:45px}.origin-mark b{font-size:clamp(26px,3vw,45px);line-height:1;display:block;letter-spacing:-.04em}.origin-mark p{color:#bdbab0;line-height:1.6;max-width:300px}.origin-chapters{padding-left:5vw}.origin-chapters article{display:grid;grid-template-columns:85px 1fr;gap:30px;padding:36px 0;border-bottom:1px solid rgba(255,255,255,.25)}.origin-chapters article:last-child{border-bottom:0}.origin-chapters article>span{color:#e1493b;font-weight:900;font-size:12px;letter-spacing:.12em;padding-top:8px}.origin-chapters h3{font-size:clamp(26px,3vw,44px);margin:0 0 12px;letter-spacing:-.045em}.origin-chapters p{margin:0;color:#c8c6be;line-height:1.6;max-width:680px}.origin-end{margin:0 -6vw;padding:60px 6vw;background:#d9362b;display:flex;justify-content:space-between;align-items:center;gap:35px}.origin-end p{font-family:Georgia,serif;font-size:clamp(25px,3.4vw,48px);max-width:880px;line-height:1.18;margin:0}.origin-end .pill{flex:0 0 auto}@media(max-width:800px){.origin-story{padding:75px 20px 0}.origin-top{display:block;padding-bottom:48px}.origin-top h2{font-size:clamp(49px,12vw,76px);margin:24px 0}.origin-top p{font-size:17px}.origin-body{display:block}.origin-mark{border:0;padding:42px 0 25px}.origin-mark>span{font-size:130px;margin-bottom:25px}.origin-mark b{font-size:30px}.origin-chapters{padding:0}.origin-chapters article{grid-template-columns:55px 1fr;gap:14px;padding:30px 0}.origin-chapters h3{font-size:27px}.origin-chapters p{font-size:14px}.origin-end{margin:0 -20px;padding:42px 20px 100px;display:block}.origin-end .pill{margin-top:30px;max-width:100%}}

/* Storia a capitoli */
.story-experience{padding-top:120px;background:#1d211e}.story-experience .origin-top{display:block;max-width:1300px;padding-bottom:100px}.story-experience .origin-top h2{margin:30px 0;font-size:clamp(64px,10vw,155px);line-height:.86}.story-experience .origin-top p{margin-left:auto;max-width:570px;color:#c6c9c1}.story-layout{display:grid;grid-template-columns:minmax(240px,32%) minmax(0,1fr);border-top:1px solid #545852}.story-rail{border-right:1px solid #545852}.story-rail-inner{position:sticky;top:10vh;padding:60px 50px 70px 0;display:flex;flex-direction:column;min-height:75vh}.story-rail-inner>span{font-size:11px;letter-spacing:.17em;font-weight:900;color:#e3988b}.story-rail-inner strong{font-size:clamp(100px,14vw,200px);line-height:1;letter-spacing:-.1em;margin:45px 0 30px;white-space:nowrap}.story-rail-inner strong small{font-size:22px;letter-spacing:0;color:#aaa;font-weight:500}.story-line{width:100%;height:3px;background:#555b55;overflow:hidden}.story-line i{display:block;width:0;height:100%;background:#e1493b;transition:width .35s ease}.story-rail-inner>b{font-size:24px;line-height:1.15;margin-top:auto;letter-spacing:-.04em}.story-chapters{padding-left:min(7vw,100px)}.story-chapter{min-height:88vh;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid #545852;padding:80px 0;scroll-margin-top:5vh}.story-chapter:last-child{border:0}.story-chapter-top{display:flex;justify-content:space-between;gap:20px;color:#e3988b;font-size:11px;font-weight:900;letter-spacing:.13em}.story-chapter h3{font-size:clamp(55px,7.5vw,110px);line-height:.9;letter-spacing:-.07em;margin:40px 0}.story-chapter h3 em{font-family:Georgia,serif;font-weight:400;color:#d7c8b7}.story-chapter p{font-size:clamp(17px,1.7vw,23px);line-height:1.58;color:#d4d6d0;max-width:780px;margin:0}.story-reveal{opacity:0;transform:translateY(48px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}.story-reveal.is-visible{opacity:1;transform:none}@media(max-width:800px){.story-experience{padding-top:75px}.story-experience .origin-top{padding-bottom:60px}.story-experience .origin-top h2{font-size:clamp(56px,13vw,94px)}.story-experience .origin-top p{margin:0;font-size:17px}.story-layout{display:block}.story-rail{border:0;position:sticky;top:0;z-index:6;background:rgba(29,33,30,.96);backdrop-filter:blur(12px);margin:0 -20px;padding:0 20px;border-bottom:1px solid #545852}.story-rail-inner{position:static;min-height:0;padding:12px 0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;align-items:center}.story-rail-inner>span{font-size:9px}.story-rail-inner strong{font-size:25px;line-height:1;margin:0;text-align:right}.story-rail-inner strong small{font-size:12px}.story-line{grid-column:1/-1;height:2px}.story-rail-inner>b{display:none}.story-chapters{padding:0}.story-chapter{min-height:78svh;padding:75px 0 95px;scroll-margin-top:85px}.story-chapter h3{font-size:clamp(52px,12vw,86px);margin:34px 0}.story-chapter p{font-size:17px}.story-chapter-top{font-size:10px}.story-experience .origin-end{padding-bottom:105px}}@media(prefers-reduced-motion:reduce){.story-reveal{opacity:1;transform:none;transition:none}.story-line i{transition:none}}

.story-experience .story-reveal{opacity:1;transform:none}.story-experience.story-animate .story-reveal:not(.is-visible){opacity:0;transform:translateY(48px)}@media(prefers-reduced-motion:reduce){.story-experience.story-animate .story-reveal:not(.is-visible){opacity:1;transform:none}}
