:root{--black:#070707;--soft-black:#0d0d0d;--anth:#171717;--gold:#c9a85f;--gold2:#e1c77f;--cream:#f3eee4;--white:#fff;--grey:#aaa;--line:rgba(255,255,255,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Manrope,Arial,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.site-header{height:88px;position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;z-index:50;border-bottom:1px solid transparent;transition:.3s;background:linear-gradient(to bottom,rgba(0,0,0,.72),transparent)}.site-header.scrolled{height:72px;background:rgba(7,7,7,.94);backdrop-filter:blur(15px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover}.brand span{display:flex;flex-direction:column;line-height:1.15}.brand strong{letter-spacing:.14em;font-size:.82rem}.brand small{font-size:.55rem;letter-spacing:.2em;color:var(--gold)}nav{display:flex;gap:25px;align-items:center}nav a{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}nav a:hover{color:var(--gold2)}.nav-cta{padding:11px 18px;border:1px solid var(--gold);color:var(--gold2)}.menu-button{display:none;color:#fff;background:none;border:0;font-size:1.5rem}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:130px 8vw 100px;isolation:isolate;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.82) 39%,rgba(0,0,0,.2) 72%,rgba(0,0,0,.7) 100%)}.hero-photo{position:absolute;inset:-4%;z-index:-4;background:url("assets/stefano-hero.jpg") center/cover no-repeat;animation:cinematicZoom 17s ease-in-out infinite alternate}.hero-glow{position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 68% 42%,rgba(201,168,95,.16),transparent 30%);animation:glowMove 8s ease-in-out infinite alternate}.hero-watermark{position:absolute;right:6vw;top:11%;z-index:-1;font-size:29vw;font-weight:800;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,168,95,.13);letter-spacing:-.08em}.hero-content{max-width:850px}.kicker,.section-label,.tag{color:var(--gold2);letter-spacing:.22em;text-transform:uppercase;font-size:.7rem;font-weight:800}.opening-line{font-size:1rem;letter-spacing:.05em;color:#ddd;margin:17px 0}.hero h1,.section h2,.statement h2,.client-preview h2,.portal h1{font-size:clamp(3.1rem,6.6vw,7.3rem);line-height:.93;letter-spacing:-.055em;margin:20px 0 30px;max-width:1100px}.hero h1 em,.section h2 em,.statement h2 em,.client-preview h2 em,.portal h1 em{font-family:"Playfair Display",serif;font-weight:700;color:var(--gold2)}.hero-role{text-transform:uppercase;letter-spacing:.12em;color:#dfc887;font-size:.74rem;font-weight:700;max-width:750px}.hero-copy{color:#ddd;max-width:610px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 23px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;cursor:pointer;transition:.25s}.button-gold{background:var(--gold);color:#090909}.button-gold:hover{background:var(--gold2);transform:translateY(-2px)}.button-outline{border-color:rgba(255,255,255,.36);background:rgba(0,0,0,.16)}.button-outline:hover{border-color:var(--gold);color:var(--gold2)}.sound-toggle{margin-top:26px;background:none;border:0;color:#bbb;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.sound-icon{width:32px;height:32px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center}.sound-toggle[aria-pressed=true]{color:var(--gold2)}.sound-toggle[aria-pressed=true] .sound-icon{border-color:var(--gold);box-shadow:0 0 18px rgba(201,168,95,.2)}.scroll-cue{position:absolute;bottom:30px;left:8vw;font-size:.6rem;letter-spacing:.25em;color:#bbb;display:flex;align-items:center;gap:12px}.scroll-cue span{width:50px;height:1px;background:var(--gold);animation:pulseLine 2s infinite}.hero-sequence{opacity:0;transform:translateY(16px);animation:heroIn .9s forwards}.seq-1{animation-delay:.25s}.seq-2{animation-delay:.8s}.seq-3{animation-delay:1.3s}.seq-4{animation-delay:1.9s}.seq-5{animation-delay:2.4s}
.section{padding:120px 8vw}.section-light{background:var(--cream);color:#121212}.section-dark{background:#0b0b0b}.section-label{margin-bottom:45px}.section-light .section-label{color:#856b34}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.section h2{font-size:clamp(2.7rem,5vw,5.7rem);margin:0}.story-copy{font-size:1.03rem;color:#333}.story-copy p:first-child{font-size:1.18rem}.story-copy blockquote{margin:35px 0 0;padding:25px 0 25px 25px;border-left:2px solid var(--gold);font-family:"Playfair Display";font-size:1.4rem;color:#151515}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:60px}.section-heading p{max-width:500px;color:#aaa}.section-light .section-heading p{color:#555}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.method-card{background:var(--soft-black);padding:45px 28px;min-height:280px}.method-card span,.service-index{color:var(--gold);font-size:.72rem;letter-spacing:.2em}.method-card h3{font-size:1.35rem;margin:65px 0 12px}.method-card p{color:#aaa}.numbers{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:70px}.numbers div{padding:42px;text-align:center;border-right:1px solid var(--line)}.numbers div:last-child{border:0}.numbers strong{font-size:3.4rem;color:var(--gold2);display:block}.numbers span{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;color:#aaa}.statement{padding:150px 8vw;background:var(--gold);color:#090909;text-align:center}.statement p{letter-spacing:.25em;font-size:.72rem;font-weight:800}.statement h2{font-size:clamp(2.7rem,5.3vw,6.2rem);margin:25px auto}.statement h2 em{color:#090909}.services-stack{display:flex;flex-direction:column;gap:18px}.service-panel{min-height:390px;padding:55px;display:grid;grid-template-columns:90px 1fr;align-items:end;border:1px solid var(--line);background:linear-gradient(135deg,#111,#090909);position:relative;overflow:hidden;transition:.35s}.service-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 40%,rgba(201,168,95,.12),transparent 35%);opacity:0;transition:.35s}.service-panel:hover{transform:translateY(-4px);border-color:rgba(201,168,95,.45)}.service-panel:hover:before{opacity:1}.service-panel>div{position:relative}.service-panel h3{font-size:clamp(2.2rem,4vw,4.5rem);margin:8px 0}.service-panel p:not(.tag){color:#aaa;max-width:650px}.service-panel a{display:inline-block;margin-top:15px;color:var(--gold2);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase}.legal-note{color:#777;font-size:.75rem;margin-top:30px}.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.local-grid>div>p{max-width:550px;color:#555;font-size:1.05rem}.local-cards{display:grid;gap:18px}.local-cards article{padding:35px;border:1px solid rgba(0,0,0,.15)}.local-cards h3{font-size:1.4rem}.local-cards p{color:#555}.client-preview{padding:150px 8vw;background:linear-gradient(110deg,rgba(0,0,0,.94),rgba(0,0,0,.68)),url("assets/stefano-hero.jpg") center/cover fixed}.client-preview-inner{max-width:900px}.client-preview h2{font-size:clamp(3rem,5.6vw,6rem)}.client-preview p:not(.section-label){color:#ccc;max-width:640px;font-size:1.05rem;margin-bottom:30px}.contact-section{padding:120px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#101010}.contact-intro h2{font-size:clamp(3.5rem,6vw,7rem);margin:10px 0}.contact-intro>p{color:#aaa}.direct-contacts{margin-top:40px;display:flex;flex-direction:column;gap:12px}.direct-contacts a{color:var(--gold2)}.contact-form{background:var(--cream);color:#111;padding:45px;display:grid;gap:18px}.contact-form label{display:grid;gap:7px;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:15px;border:1px solid #ccc;background:#fff;border-radius:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.privacy{display:flex!important;grid-template-columns:auto 1fr!important;align-items:start;text-transform:none!important;font-weight:500!important;letter-spacing:0!important}.privacy input{width:auto}.hidden{display:none}.contact-dock{position:fixed;right:22px;bottom:22px;z-index:60}.dock-main{width:62px;height:62px;border-radius:50%;padding:3px;background:#111;border:1px solid var(--gold);cursor:pointer;box-shadow:0 10px 35px rgba(0,0,0,.4)}.dock-main img{width:100%;height:100%;border-radius:50%;object-fit:cover}.dock-menu{position:absolute;right:0;bottom:75px;width:170px;display:grid;background:#111;border:1px solid var(--line);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.contact-dock.open .dock-menu{opacity:1;transform:none;pointer-events:auto}.dock-menu a{padding:13px 17px;border-bottom:1px solid var(--line);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.dock-menu a:hover{color:var(--gold2)}footer{padding:55px 8vw;background:#050505;border-top:1px solid var(--line);color:#777;display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;font-size:.72rem}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:50px;height:50px;border-radius:50%}.footer-brand div{display:flex;flex-direction:column}.footer-brand strong{color:#fff;letter-spacing:.13em}.footer-brand span{color:var(--gold);font-size:.58rem;letter-spacing:.15em}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
.portal-body{background:#0a0a0a}.portal-header{position:relative;background:#080808;border-bottom:1px solid var(--line)}.small-button{min-height:42px;padding:0 16px}.portal{min-height:100vh}.portal-hero{padding:110px 8vw 80px;display:grid;grid-template-columns:1fr 430px;gap:8vw;align-items:center;background:radial-gradient(circle at 15% 35%,rgba(201,168,95,.12),transparent 30%)}.portal h1{font-size:clamp(3rem,5.6vw,6rem)}.portal-hero>div>p:not(.kicker){color:#aaa;max-width:650px}.login-card{background:var(--cream);color:#111;padding:38px;display:grid;gap:17px}.login-card img{width:70px;height:70px;border-radius:50%;object-fit:cover}.login-card h2{font-size:2rem;margin:0}.login-card label{display:grid;gap:7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.login-card input{padding:14px;border:1px solid #bbb}.login-card small{color:#777}.dashboard{padding:80px 8vw}.dashboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.dashboard-head h2{font-size:3rem;margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dash-card{padding:30px;background:#111;border:1px solid var(--line);min-height:210px}.dash-card.featured{background:var(--gold);color:#090909}.dash-card span{font-size:.65rem;letter-spacing:.14em;font-weight:800}.dash-card h3{font-size:1.5rem;margin:35px 0 8px}.dash-card p{color:#999}.dash-card.featured p{color:#443710}.dash-card button{border:0;background:none;padding:0;font-weight:800;cursor:pointer}
@keyframes cinematicZoom{from{transform:scale(1)}to{transform:scale(1.075) translate3d(-.8%,.4%,0)}}@keyframes glowMove{from{transform:translateX(-2%);opacity:.65}to{transform:translateX(3%);opacity:1}}@keyframes heroIn{to{opacity:1;transform:none}}@keyframes pulseLine{0%,100%{transform:scaleX(.5);transform-origin:left}50%{transform:scaleX(1)}}
@media(max-width:1000px){nav{display:none;position:absolute;top:72px;left:0;right:0;padding:25px 5vw;background:#090909;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu-button{display:block}.split,.local-grid,.contact-section,.portal-hero{grid-template-columns:1fr}.method-grid{grid-template-columns:1fr 1fr}.section-heading{display:block}.section-heading p{margin-top:25px}.dashboard-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.site-header{height:72px;padding:0 20px}.brand img{width:42px;height:42px}.brand strong{font-size:.72rem}.hero{padding:120px 22px 90px;align-items:flex-end}.hero:after{background:linear-gradient(0deg,rgba(0,0,0,.98) 5%,rgba(0,0,0,.72) 62%,rgba(0,0,0,.2) 100%)}.hero-photo{background-position:64% center}.hero-watermark{font-size:55vw;right:-10%;top:16%}.hero h1{font-size:clamp(2.7rem,13vw,4.4rem)}.opening-line{font-size:.85rem}.hero-actions{display:grid}.button{width:100%}.sound-toggle{margin-bottom:10px}.scroll-cue{left:22px}.section,.contact-section{padding:85px 22px}.section-label{margin-bottom:28px}.split{gap:40px}.section h2{font-size:clamp(2.5rem,12vw,4rem)}.story-copy blockquote{font-size:1.2rem}.method-grid,.numbers,.form-row,.dashboard-grid{grid-template-columns:1fr}.numbers div{border-right:0;border-bottom:1px solid var(--line)}.statement{padding:100px 22px}.service-panel{min-height:330px;padding:30px;grid-template-columns:45px 1fr}.service-panel h3{font-size:2.3rem}.client-preview{padding:100px 22px;background-attachment:scroll}.contact-form{padding:26px}.contact-dock{right:14px;bottom:14px}footer{grid-template-columns:1fr;padding:45px 22px}.portal-hero{padding:90px 22px 60px}.dashboard{padding:60px 22px}.dashboard-head{align-items:flex-start;gap:20px}.dashboard-head h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo,.hero-glow,.hero-sequence,.scroll-cue span{animation:none}.hero-sequence{opacity:1;transform:none}.reveal{opacity:1;transform:none;transition:none}}