:root{--ink:#171816;--paper:#f4f1eb;--white:#fff;--muted:#6e7069;--line:#17181629;--accent:#b38e61;--serif:"Helvetica Neue",Arial,sans-serif;--sans:Inter,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.6}img{object-fit:cover;width:100%;height:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(1280px,100% - 48px);margin:auto}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:.74rem;font-weight:600}h1,h2,h3{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-weight:300;line-height:1.08}h2{max-width:920px;font-size:clamp(2.5rem,5vw,5.6rem)}p{margin:0}.lead{color:#4d4f49;max-width:720px;font-size:clamp(1.1rem,1.5vw,1.4rem);line-height:1.55}.section{padding:clamp(88px,11vw,160px) 0}.button{background:var(--ink);color:#fff;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-height:52px;padding:0 25px;font-size:.82rem;font-weight:600;transition:all .25s;display:inline-flex}.button:hover{background:#343630}.button.light{color:var(--ink);background:#fff}.button.ghost{color:#fff;background:0 0;border-color:#ffffff8c}.button.ghost:hover{color:var(--ink);background:#fff}header{z-index:40;color:#fff;background:linear-gradient(#0c0d0c94,#0000);border-bottom:1px solid #fff3;transition:background .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;position:fixed;top:0;left:0;right:0}header.scrolled{-webkit-backdrop-filter:blur(18px);background:#121311eb}header nav.shell{width:calc(100% - 64px);max-width:1680px}nav{justify-content:space-between;align-items:center;height:94px;display:flex}.brand{align-items:center;height:78px;display:flex}.brand img{object-fit:contain;width:auto;height:68px;display:block}.links{align-items:center;gap:34px;font-size:.83rem;display:flex}.links a{opacity:.82;position:relative}.links a:not(.nav-cta):after{content:"";background:#d7b98e;height:1px;transition:right .25s;position:absolute;bottom:-7px;left:0;right:100%}.links a:not(.nav-cta):hover:after{right:0}.links a:hover{opacity:1}.nav-cta{border:1px solid #ffffff73;padding:11px 17px}.menu{color:#fff;background:0 0;border:0;font-size:1.5rem;display:none}.scroll-progress{background:#d7b98e;width:0;height:2px;position:absolute;bottom:-1px;left:0}.hero{color:#fff;background:#20231f;align-items:end;min-height:92svh;display:grid;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:-5%}.hero-bg img{will-change:transform;animation:18s ease-out both zoom}.hero-bg:after{content:"";background:linear-gradient(90deg,#070909ab,#0709091f 70%),linear-gradient(#0a0c0a33,#0a0c0a1a 45%,#0a0c0ab8);position:absolute;inset:0}@keyframes zoom{0%{transform:scale(1)}to{transform:scale(1.06)}}.hero-content{z-index:2;padding:155px 0 56px;position:relative}.hero h1{max-width:1080px;font-size:clamp(3.3rem,7.5vw,8rem)}.hero h1 em{color:#d7b98e;font-style:normal}.hero-bottom{justify-content:space-between;align-items:end;gap:30px;margin-top:35px;display:flex}.hero-copy{max-width:570px;font-size:clamp(1rem,1.5vw,1.3rem)}.actions{flex-wrap:wrap;gap:12px;display:flex}.trust{letter-spacing:.15em;text-transform:uppercase;opacity:.75;border-top:1px solid #ffffff40;margin-top:34px;padding-top:16px;font-size:.74rem}.intro-grid{grid-template-columns:.68fr 1.32fr;align-items:stretch;gap:6vw;display:grid}.intro-stage{background:#252722;min-height:540px;position:relative;overflow:hidden}.intro-stage img{transition:transform 1.2s}.intro-stage:hover img{transform:scale(1.035)}.intro-stage:after{content:"01";font-family:var(--serif);color:#ffffffd1;letter-spacing:-.08em;font-size:clamp(7rem,15vw,13rem);line-height:1;position:absolute;bottom:4px;left:28px}.intro-copy{flex-direction:column;justify-content:center;padding:45px 0;display:flex}.intro-copy h2{font-size:clamp(2.8rem,5.3vw,6.2rem)}.intro-copy .lead{margin-top:32px}.intro-points{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;padding-top:26px;display:grid}.intro-points b{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:.76rem;display:block}.intro-points span{color:var(--muted);font-size:.9rem}.portfolio{background:var(--ink);color:#fff;padding:105px 0;overflow:hidden}.portfolio-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:68px;display:flex}.portfolio h2{font-size:clamp(2.8rem,5vw,5.4rem)}.portfolio-intro{color:#b9bbb5;max-width:480px}.gallery-group{margin-top:62px}.gallery-group+.gallery-group{border-top:1px solid #ffffff1f;padding-top:58px}.gallery-title{justify-content:space-between;align-items:end;gap:25px;width:min(1280px,100% - 48px);margin:0 auto 24px;display:flex}.gallery-title h3{font-size:clamp(1.8rem,3vw,3.2rem)}.gallery-title p{color:#aeb0aa;max-width:430px}.gallery-nav{gap:7px;display:flex}.gallery-nav button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;width:43px;height:43px;font-size:1.3rem;transition:all .25s}.gallery-nav button:hover{color:#171816;background:#fff}.gallery{scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px;padding:0 max(24px,50vw - 640px) 22px;display:flex;overflow-x:auto}.gallery::-webkit-scrollbar{display:none}.shot{cursor:zoom-in;aspect-ratio:16/9;scroll-snap-align:center;flex:0 0 min(68vw,820px);position:relative;overflow:hidden}.shot:nth-child(2n){flex-basis:min(56vw,690px)}.shot img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.shot:hover img{filter:saturate(1.05);transform:scale(1.035)}.shot-label{letter-spacing:.13em;text-transform:uppercase;background:#0f100ec2;padding:7px 10px;font-size:.7rem;position:absolute;bottom:16px;left:18px}.lightbox{z-index:50;background:#080908f2;place-items:center;padding:50px;display:none;position:fixed;inset:0}.lightbox.open{display:grid}.lightbox img{width:auto;max-width:92vw;height:auto;max-height:88vh}.close{color:#fff;cursor:pointer;background:0 0;border:0;font-size:2rem;position:absolute;top:16px;right:22px}.usp{grid-template-columns:1.15fr .85fr;align-items:center;gap:7vw;display:grid}.usp-image{height:640px;overflow:hidden}.usp-image img{object-position:center;transition:transform 1s}.usp-image:hover img{transform:scale(1.03)}.usp .lead{margin:30px 0 48px}.principles{border-top:1px solid var(--line)}.principle{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr;gap:18px;padding:19px 0;transition:padding-left .3s,background .3s;display:grid}.principle:hover{background:#b38e6114;padding-left:14px}.principle b{font-weight:500}.principle span{color:var(--muted);font-size:.94rem}.services{background:#ded8cd;overflow:hidden}.services-head{grid-template-columns:1fr 1fr;align-items:end;gap:50px;margin-bottom:45px;display:grid}.services-ticker{white-space:nowrap;width:max-content;font-family:var(--serif);color:#1718161f;gap:50px;margin:0 0 45px;font-size:clamp(2rem,4.5vw,4.5rem);font-weight:300;animation:28s linear infinite ticker;display:flex}.services-ticker span:after{content:" ✦";color:#b38e616b}@keyframes ticker{to{transform:translate(-50%)}}.service-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.service{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:350px;padding:36px 28px;transition:transform .35s,background .35s,color .35s;display:flex;position:relative;overflow:hidden}.service:before{content:"";background:#20221f;height:0;transition:height .4s;position:absolute;inset:auto 0 0}.service:after{content:attr(data-number);font-family:var(--serif);color:#b38e6117;font-size:9rem;line-height:1;transition:all .5s;position:absolute;top:0;right:-8px;transform:translateY(15px)}.service>*{z-index:1;position:relative}.service:hover{color:#fff;transform:translateY(-12px)}.service:hover:before{height:100%}.service:hover:after{color:#d7b98e29;transform:translateY(-4px)rotate(-4deg)}.service .num{color:var(--accent);font-size:.75rem}.service h3{margin:50px 0 20px;font-size:1.8rem}.service p{color:#565852;font-size:.94rem;transition:color .35s}.service:hover p,.service:hover small{color:#c6c8c1}.service small{color:#787a74;margin-top:auto}.process-head{text-align:center}.process-head h2{margin:auto}.process{grid-template-columns:repeat(5,1fr);margin-top:70px;display:grid;position:relative}.process:before{content:"";background:var(--line);height:1px;position:absolute;top:23px;left:10%;right:10%}.process:after{content:"";background:var(--accent);width:0;height:1px;transition:width 1.8s;position:absolute;top:23px;left:10%}.process.visible:after{width:80%}.step{text-align:center;border-radius:2px;padding:62px 20px 30px;transition:transform .35s,background .35s,box-shadow .35s;position:relative}.step:hover{background:#fff;transform:translateY(-9px);box-shadow:0 24px 60px #1618151a}.step .n{background:var(--paper);border:1px solid var(--line);width:47px;height:47px;color:var(--accent);z-index:2;border-radius:50%;place-items:center;transition:all .35s;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%)}.step:hover .n{background:var(--accent);color:#fff;transform:translate(-50%)scale(1.14);box-shadow:0 0 0 8px #b38e611f}.step h3{margin:24px 0 15px;font-size:1.55rem}.step p{color:var(--muted);font-size:.9rem}.about{background:#e8e3d9}.about-grid{grid-template-columns:.78fr 1.22fr;align-items:center;gap:8vw;display:grid}.iris-portrait{aspect-ratio:1;isolation:isolate;width:min(100%,540px);margin:auto;position:relative}.portrait-slot{background:#000;border-radius:50%;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 1px #b38e618c,0 0 0 18px #b38e6114,0 34px 80px #20211e33}.portrait-slot:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 75px #0006}.portrait-slot img{object-fit:cover;object-position:center center;transition:transform 1s;transform:scale(1.03)}.iris-portrait:hover .portrait-slot img{transform:scale(1.07)}.iris-shutter{z-index:3;pointer-events:none;opacity:1;filter:drop-shadow(0 2px 2px #00000080);border-radius:50%;width:calc(100% + 2px);height:calc(100% + 2px);transition:opacity .24s;position:absolute;inset:-1px;overflow:hidden}.iris-plates{transform-origin:50px 50px;transform:rotate(-16deg)}.iris-disc{fill:#10110f}.iris-seam{fill:none;stroke:#caa97c61;stroke-width:.5px}.iris-portrait.iris-open .iris-shutter{opacity:0}.iris-portrait:after{content:"";z-index:4;opacity:0;pointer-events:none;border:1px solid #b38e61b8;border-radius:50%;transition:opacity .6s 1s,transform .8s 1s;position:absolute;inset:-9px;transform:scale(.93)}.iris-portrait.visible:after{opacity:1;transform:scale(1)}.about h2{margin:15px 0 35px}.about-copy{max-width:650px;font-size:1.18rem}.facts{border-top:1px solid var(--line);gap:40px;margin-top:40px;padding-top:25px;display:flex}.facts span{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:.75rem;display:block}.facts b{font-weight:500}.regions{grid-template-columns:.78fr 1.22fr;align-items:center;gap:7vw;display:grid}.regions .lead{margin-top:28px}.region-map{color:#fff;background:#1e211d;min-height:570px;position:relative;overflow:hidden}.region-map>img{opacity:.52;filter:saturate(.65);position:absolute;inset:0}.region-map:after{content:"";background:linear-gradient(120deg,#101210cc,#1012101f);position:absolute;inset:0}.map-label{z-index:2;color:#171816;letter-spacing:.04em;background:#f4f1ebed;padding:9px 13px;font-size:.76rem;transition:all .25s;position:absolute;box-shadow:0 8px 24px #0000002e}.map-label:hover{background:#d7b98e;transform:translateY(-4px)}.map-label:before{content:"";background:#b38e61;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.map-label.a{top:24%;left:18%}.map-label.b{top:36%;left:43%}.map-label.c{top:20%;left:66%}.map-label.d{top:59%;left:25%}.map-label.e{top:68%;left:58%}.map-label.f{top:48%;left:73%}.map-legend{z-index:2;color:#d7d8d2;max-width:360px;font-size:.78rem;position:absolute;bottom:25px;left:28px}.faq{border-top:1px solid var(--line);margin-top:65px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{cursor:pointer;justify-content:space-between;font-size:1.13rem;font-weight:500;list-style:none;display:flex}.faq summary:after{content:"+";font-size:1.5rem;font-weight:300}.faq details[open] summary:after{content:"−"}.faq p{color:var(--muted);max-width:760px;padding-top:15px}.contact{color:#fff;background:#121310;position:relative;overflow:hidden}.contact:before{content:"";opacity:.14;background:url(/assets/atmosphere-terrace-2.webp) 50%/cover;position:absolute;inset:0}.contact-grid{grid-template-columns:.82fr 1.18fr;align-items:start;gap:7vw;display:grid;position:relative}.contact h2{font-size:clamp(3rem,5.4vw,6rem)}.contact-info{color:#c4c5bf;margin-top:45px}.contact-info a{color:#fff;margin:8px 0;display:block}.form{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff12;border:1px solid #ffffff26;grid-template-columns:1fr 1fr;gap:20px;padding:clamp(28px,4vw,50px);display:grid;position:relative}.field{flex-direction:column;gap:7px;display:flex}.field.full{grid-column:1/-1}.field label{letter-spacing:.08em;text-transform:uppercase;color:#aeb0aa;font-size:.75rem}.field input,.field select,.field textarea{color:#fff;background:0 0;border:0;border-bottom:1px solid #ffffff52;outline:0;width:100%;padding:13px 0}.field select option{color:#111}.field textarea{resize:vertical;min-height:90px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#d7b98e}.checks{flex-wrap:wrap;grid-column:1/-1;gap:20px;font-size:.9rem;display:flex}.checks label{align-items:center;gap:8px;display:flex}.hp-field{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.form-privacy{color:#aeb0aa;grid-column:1/-1;font-size:.76rem;line-height:1.5}.form .button{color:#171816;background:#d7b98e;grid-column:1/-1;width:max-content}.form .button:disabled{opacity:.62;cursor:wait}.form-status{color:#d7b98e;grid-column:1/-1;display:none}.form-status.show{display:block}.form-status.error{color:#ffb4a8}.form-status a{text-decoration:underline}footer{color:#b4b5af;background:#050505;padding:38px 0;font-size:.8rem}.footer-review{border-bottom:1px solid #ffffff1f;grid-template-columns:245px 170px 1fr auto;align-items:center;gap:28px;margin-bottom:28px;padding-bottom:30px;display:grid}.footer-review .footer-logo{width:205px}.google-score{border-left:1px solid #ffffff24;padding-left:28px}.google-score strong{color:#fff;font-size:2rem;line-height:1;display:block}.google-score .stars{color:#d7b98e;letter-spacing:.08em;margin:7px 0 2px;font-size:1rem}.google-score span{font-size:.75rem}.review-carousel{align-items:center;min-height:90px;display:flex;position:relative}.review-slide{display:none}.review-slide.active{animation:.35s reviewIn;display:block}.review-slide blockquote{color:#f0f0ec;max-width:720px;margin:0;font-size:.95rem;line-height:1.55}.review-slide cite{color:#9fa19b;margin-top:7px;font-size:.76rem;font-style:normal;display:block}.review-controls{gap:6px;display:flex}.review-controls button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;width:38px;height:38px}.review-controls button:hover{color:#171816;background:#d7b98e}.review-write{color:#d7b98e;margin-top:8px;text-decoration:underline;display:inline-block}@keyframes reviewIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.footer-row{justify-content:space-between;align-items:center;gap:25px;display:flex}.footer-brand{align-items:center;gap:28px;display:flex}.footer-logo{width:205px;height:auto;display:block}.footer-links{flex-wrap:wrap;gap:22px;display:flex}.legal{border-top:1px solid var(--line);padding:70px 0}.legal-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.legal-link{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:0 0;padding:11px 16px}.legal-link:hover{border-color:var(--accent);color:var(--accent)}.legal-note{color:var(--muted);max-width:720px;margin-top:16px;font-size:.88rem}.legal-modal{z-index:80;background:#080908db;place-items:center;padding:24px;display:none;position:fixed;inset:0}.legal-modal.open{display:grid}.legal-panel{background:var(--paper);width:min(920px,100%);max-height:88vh;color:var(--ink);padding:clamp(28px,5vw,64px);position:relative;overflow:auto;box-shadow:0 30px 90px #00000059}.legal-panel h2{margin-bottom:30px;font-size:clamp(2.2rem,5vw,4.5rem)}.legal-panel h3{letter-spacing:-.02em;margin:28px 0 8px;font-size:1.25rem;font-weight:500}.legal-panel p,.legal-panel li{color:#4e504a;font-size:.94rem}.legal-panel p+p{margin-top:10px}.legal-panel ul{padding-left:20px}.legal-close{float:right;border:1px solid var(--line);background:var(--paper);cursor:pointer;z-index:2;width:42px;height:42px;font-size:1.6rem;position:sticky;top:0}.cookie-banner{z-index:70;color:#fff;background:#171816;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:none;position:fixed;bottom:24px;left:24px;right:24px;box-shadow:0 18px 65px #00000047}.cookie-banner.show{display:flex}.cookie-banner p{color:#d6d7d2;max-width:820px;font-size:.88rem}.cookie-banner b{color:#fff;margin-bottom:3px;display:block}.cookie-actions{flex-shrink:0;gap:10px;display:flex}.cookie-actions button{white-space:nowrap}.privacy-open{color:#d7b98e;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.review-slide .stars{color:#d7b98e;letter-spacing:.08em;font-size:1rem}.reveal{opacity:0;transition:opacity .85s,transform .85s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}.reveal.visible{opacity:1;transform:none}@media (max-width:900px){.shell{width:min(100% - 30px,1280px)}header nav.shell{width:calc(100% - 30px)}nav{height:80px}.brand{height:68px}.brand img{height:56px}.links{display:none}.menu{display:block}.links.open{background:#171816f7;flex-direction:column;align-items:flex-start;padding:25px;display:flex;position:absolute;top:80px;left:0;right:0}.hero-content{padding-bottom:42px}.hero-bottom{display:block}.hero .actions{margin-top:27px}.intro-grid,.usp,.services-head,.about-grid,.regions,.contact-grid{grid-template-columns:1fr}.intro-stage{min-height:420px}.gallery-title{width:calc(100% - 30px)}.shot,.shot:nth-child(2n){flex-basis:86vw}.service-grid{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr}.process:before,.process:after{width:1px;height:auto;inset:20px auto 20px 23px}.process:after{height:0}.process.visible:after{width:1px;height:calc(100% - 40px)}.step{text-align:left;padding:15px 20px 32px 76px}.step .n{left:23px;transform:translate(-50%)}.step:hover .n{transform:translate(-50%)scale(1.12)}.step h3{margin:0 0 8px}.usp-image{height:560px}.iris-portrait{width:min(82vw,500px)}.about-grid{gap:45px}.contact-grid{gap:65px}.region-map{min-height:500px}.footer-review{grid-template-columns:180px 145px 1fr}.footer-review .footer-logo{width:170px}.review-controls{grid-column:3;justify-self:end}.google-score{padding-left:20px}}@media (max-width:560px){.section{padding:76px 0}.brand img{height:52px}.hero{min-height:88svh}.hero h1{font-size:3.4rem}.hero-copy{font-size:1rem}.hero .button{width:100%}.trust{letter-spacing:.1em;font-size:.62rem}.intro-points{grid-template-columns:1fr}.portfolio{padding:78px 0}.portfolio-head{display:block}.portfolio-intro{margin-top:22px}.gallery-nav{display:none}.shot,.shot:nth-child(2n){flex-basis:91vw}.service-grid{grid-template-columns:1fr}.service{min-height:270px}.facts{flex-direction:column;gap:14px}.form{grid-template-columns:1fr;padding:27px 20px}.field,.field.full{grid-column:1}.footer-review{grid-template-columns:1fr;gap:18px}.footer-review .footer-logo{width:180px}.google-score{border-left:0;padding-left:0}.review-carousel{align-items:flex-start;min-height:140px}.review-controls{grid-column:1;justify-self:start}.footer-row,.footer-brand{flex-direction:column;align-items:flex-start}.footer-brand{gap:14px}.footer-logo{width:190px}.footer-links{flex-wrap:wrap}.lightbox{padding:20px}.map-label{font-size:.68rem}.map-label.c{left:55%}.map-label.f{left:59%}.cookie-banner{flex-direction:column;align-items:flex-start;bottom:12px;left:12px;right:12px}.cookie-actions{width:100%}.cookie-actions .button{width:100%;padding:0 12px}.legal-modal{padding:10px}.legal-panel{max-height:94vh;padding:22px}}@media (prefers-reduced-motion:reduce){.iris-shutter{display:none}.iris-portrait:after{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}.hero-bg img,.services-ticker{animation:none}.reveal{opacity:1;transition:none;transform:none}}.about .about-advice-copy{margin:28px 0 18px;font-size:1rem;line-height:1.65}
