
:root{--ink:#151513;--ink-soft:#22221f;--paper:#f3f0e9;--white:#fcfaf5;--gold:#b99a61;--gold-light:#d8c39b;--muted:#706c64;--line:rgba(21,21,19,.15);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.75;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}::selection{background:var(--gold);color:#fff}img,video{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.wrap{width:min(1320px,calc(100% - 9vw));margin-inline:auto}.section{padding:clamp(112px,11.5vw,188px) 0}main>section:not(.hero){position:relative}main>section:not(.hero):not(.dark):not(.category-showcase):after{content:'';position:absolute;left:4.5vw;right:4.5vw;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);pointer-events:none}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.01;text-wrap:balance}h2{font-size:clamp(46px,5.7vw,86px);letter-spacing:-.048em;margin:0 0 clamp(48px,6.5vw,92px);max-width:1020px}.label,.eyebrow{text-transform:uppercase;letter-spacing:.26em;font-size:10px;font-weight:600;color:var(--gold);margin:0 0 30px}.label:before,.eyebrow:before{content:'';display:inline-block;width:42px;height:1px;background:currentColor;vertical-align:middle;margin-right:16px}
#header{position:fixed;z-index:50;inset:0 0 auto;height:96px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid transparent;transition:height .5s var(--ease),background .5s,border-color .5s}#header.scrolled{height:72px;background:rgba(18,18,16,.94);border-color:#ffffff1c;backdrop-filter:blur(18px)}.brand{font:500 29px var(--serif);letter-spacing:-.04em;position:relative;z-index:52}.brand span{color:var(--gold-light);font-style:italic}nav{display:flex;align-items:center;gap:clamp(18px,2vw,34px);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}nav>a{position:relative;padding:8px 0}nav>a:after{content:'';position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--gold);transition:right .35s var(--ease)}nav>a:hover:after{right:0}.langs{display:flex;gap:2px;margin-left:8px;padding:4px;border:1px solid #ffffff3b;border-radius:30px}.langs button{width:35px;height:27px;padding:0;border:0;border-radius:20px;background:none;color:#fff;opacity:.55;cursor:pointer;font-size:9px;letter-spacing:.08em;transition:.25s}.langs button.active{opacity:1;background:var(--gold);color:#171612}#menu{display:none;width:42px;height:42px;background:none;border:0;color:#fff;position:relative;z-index:52;cursor:pointer;font-size:0}#menu:before,#menu:after{content:'';position:absolute;left:9px;width:24px;height:1px;background:currentColor;transition:.35s var(--ease)}#menu:before{top:16px}#menu:after{top:25px}#menu.open:before{transform:translateY(4.5px) rotate(45deg)}#menu.open:after{transform:translateY(-4.5px) rotate(-45deg)}
.hero{height:100svh;min-height:720px;position:relative;color:#fff;display:flex;align-items:flex-end;isolation:isolate}.hero video,.shade{position:absolute;inset:0;height:100%;object-fit:cover}.hero video{z-index:-2}.shade{z-index:-1;background:linear-gradient(90deg,rgba(6,6,5,.88) 0%,rgba(6,6,5,.28) 68%,rgba(6,6,5,.2)),linear-gradient(0deg,rgba(6,6,5,.78),transparent 60%)}.hero-copy{padding-bottom:clamp(70px,10vh,120px)}.hero h1{font-size:clamp(62px,9.4vw,148px);max-width:1150px;letter-spacing:-.055em;margin:14px 0 24px;text-wrap:balance}.hero-copy>p:not(.eyebrow){max-width:660px;font-size:clamp(16px,1.4vw,20px);color:#ffffffc9}.actions{display:flex;gap:12px;margin-top:38px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:55px;padding:0 28px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.35s var(--ease)}.gold{background:var(--gold);color:#151513}.gold:hover{background:var(--gold-light);transform:translateY(-2px)}.outline{border-color:#ffffff70;color:#fff}.outline:hover{background:#fff;color:var(--ink)}
.split{display:grid;grid-template-columns:1.2fr .65fr;gap:clamp(50px,10vw,150px);align-items:start}.split h2{margin:0}.split p{font-size:17px;color:var(--muted);margin:0 0 22px}.feature{position:relative;background:var(--ink);color:#fff}.feature>img{height:min(82vh,900px);object-fit:cover;opacity:.88}.feature>div{position:absolute;right:4vw;bottom:0;width:min(630px,47vw);background:rgba(18,18,16,.94);backdrop-filter:blur(12px);padding:clamp(45px,6vw,90px)}.feature h2{font-size:clamp(42px,4.4vw,68px);margin-bottom:26px}.feature div p:last-child{color:#c6c0b5}
.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.cards article{padding:clamp(32px,3.4vw,54px);min-height:310px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:transform .55s var(--ease),background .55s var(--ease),box-shadow .55s var(--ease)}.cards article:hover{background:var(--white);transform:translateY(-7px);box-shadow:0 28px 80px #16151016}.cards b,.steps b{color:var(--gold);font:italic 500 18px var(--serif)}.cards h3,.steps h3{font-size:clamp(24px,2vw,31px);margin:62px 0 14px}.cards p,.steps p{color:var(--muted);font-size:14px}.dark{background:var(--ink);color:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff2b}.steps article{padding:54px 34px;min-height:320px;border-right:1px solid #ffffff21;transition:background .45s var(--ease)}.steps article:hover{background:#ffffff07}.steps article:last-child{border-right:0}.steps p{color:#aaa49a}
.portfolio-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);gap:1px}.portfolio-strip figure{height:clamp(480px,68vw,820px);margin:0;position:relative;overflow:hidden;background:#181816}.portfolio-strip img{height:100%;object-fit:cover;transition:transform 1.2s var(--ease),opacity .5s}.portfolio-strip figure:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,10,9,.85))}.portfolio-strip figure:hover img{transform:scale(1.035)}.portfolio-strip figcaption{position:absolute;z-index:2;left:clamp(24px,3vw,52px);right:clamp(24px,3vw,52px);bottom:clamp(28px,4vw,60px);color:#fff;display:flex;align-items:center;gap:18px}.portfolio-strip figcaption span{color:var(--gold-light);font:italic 500 16px var(--serif)}.portfolio-strip figcaption strong{font:500 clamp(29px,3.4vw,53px) var(--serif);letter-spacing:-.035em}
.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px}.gallery-head h2{margin-bottom:0}.gallery-head>p{max-width:360px;color:var(--muted);font-size:14px;margin-bottom:5px}.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:70px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery img{height:440px;object-fit:cover;transition:transform 1s var(--ease)}.gallery figure:hover img{transform:scale(1.025)}.gallery .tall{grid-row:span 2}.gallery .tall img{height:892px}.gallery .wide{grid-column:1/-1}.gallery figcaption{position:absolute;left:0;bottom:0;background:rgba(17,17,15,.9);color:#fff;padding:13px 18px;font-size:9px;text-transform:uppercase;letter-spacing:.17em}.gallery video{max-height:780px;background:#111}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:25px 45px 25px 0;font-family:var(--serif);font-size:clamp(21px,2vw,28px);list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:8px;color:var(--gold);font-family:var(--sans);font-weight:300}details[open] summary:after{content:'−'}.videos{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:24px}.benefits{border-top:1px solid var(--line)}.benefits div{display:grid;grid-template-columns:80px 1fr;padding:27px 0;border-bottom:1px solid var(--line);color:var(--gold);font-size:12px;align-items:center}.benefits span{color:var(--ink);font:500 clamp(24px,3vw,40px) var(--serif)}.area{display:grid;grid-template-columns:1.2fr .8fr;background:#e5ddd0}.area img{height:min(75vh,760px);object-fit:cover}.area div{padding:8vw 6vw;align-self:center}.area h2{font-size:clamp(42px,4.7vw,70px);margin-bottom:28px}.faq{max-width:1050px;margin-left:auto}.faq p{max-width:800px;color:var(--muted);padding:0 0 22px}.contact{background:var(--ink-soft);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(70px,10vw,150px)}.contact h2{font-size:clamp(48px,5.7vw,82px)}.contact p{color:#bdb6aa}.contact a{color:#fff}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact label{display:flex;flex-direction:column;font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#aaa}.contact label.full{grid-column:1/-1}.contact input,.contact textarea{background:none;border:0;border-bottom:1px solid #ffffff3b;color:#fff;padding:14px 2px;font:300 16px var(--sans);outline:none;border-radius:0}.contact input:focus,.contact textarea:focus{border-color:var(--gold)}.contact button{justify-self:start}.contact #status{grid-column:1/-1;font-size:13px;color:var(--gold-light)}footer{background:#10100f;color:#8d8981;padding:48px 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:10px;letter-spacing:.08em}footer .brand{color:#fff}footer p:last-child{text-align:right}.wa{position:fixed;right:24px;bottom:24px;width:54px;height:54px;border-radius:50%;background:#b99a61;color:#181815;display:grid;place-items:center;font-weight:600;font-size:11px;z-index:25;box-shadow:0 10px 35px #0004;transition:.3s}.wa:hover{transform:translateY(-4px)}
.category-showcase{background:var(--ink);color:#fff}.category-showcase .gallery-head>p{color:#aaa49a}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#ffffff1c;margin-top:clamp(55px,7vw,95px)}.category-card{height:clamp(470px,50vw,720px);padding:0;border:0;position:relative;overflow:hidden;background:#171715;color:#fff;text-align:left;cursor:pointer}.category-card>img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .7s}.category-card:hover>img,.category-card:focus-visible>img{transform:scale(1.035);filter:brightness(.92)}.category-card:focus-visible{outline:2px solid var(--gold-light);outline-offset:-7px}.category-shade{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(8,8,7,.88))}.category-copy{position:absolute;z-index:2;left:clamp(25px,3.5vw,58px);right:clamp(25px,3.5vw,58px);bottom:clamp(28px,4vw,62px);display:grid}.category-copy small{color:var(--gold-light);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.category-copy strong{font:500 clamp(36px,4.3vw,68px) var(--serif);letter-spacing:-.045em;line-height:1.05;margin:9px 0 20px}.category-copy em{font-style:normal;font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:12px}.category-copy em:after{content:'→';color:var(--gold-light);font-size:16px;transition:transform .3s}.category-card:hover em:after{transform:translateX(6px)}.gallery-disclaimer{max-width:720px;margin:35px 0 0 auto;color:#918c84;font-size:12px;text-align:right}
.category-showcase{padding-top:clamp(130px,13vw,210px);padding-bottom:clamp(120px,12vw,195px)}.category-showcase .gallery-head{align-items:flex-start}.category-showcase .gallery-head>p{line-height:1.85;margin-top:52px}.category-grid{margin-top:clamp(70px,8vw,115px)}.category-card{height:clamp(500px,50vw,760px);isolation:isolate}.category-card:before{content:'';position:absolute;z-index:3;inset:14px;border:1px solid transparent;transition:border-color .55s var(--ease)}.category-card:hover:before,.category-card:focus-visible:before{border-color:#d8c39b66}.category-card>img{transition:transform 1.15s var(--ease),filter .75s var(--ease),opacity .55s var(--ease)}.category-card:hover>img,.category-card:focus-visible>img{transform:scale(1.045);filter:brightness(.88) saturate(.9)}.category-shade{inset:30% 0 0;background:linear-gradient(transparent,rgba(8,8,7,.92))}.category-copy{z-index:4;left:clamp(30px,3.8vw,64px);right:clamp(30px,3.8vw,64px);bottom:clamp(34px,4.5vw,72px);transition:transform .55s var(--ease)}.category-card:hover .category-copy{transform:translateY(-7px)}.category-copy strong{font-size:clamp(38px,4.5vw,72px);letter-spacing:-.048em;line-height:1.02;margin:11px 0 23px}.gallery-disclaimer{margin-top:42px;line-height:1.8}.lazy-media{opacity:.3!important;filter:blur(7px)!important}.lazy-media.media-loaded{opacity:1!important;filter:none!important}
body.gallery-open{overflow:hidden}.lightbox[hidden]{display:none}.lightbox{position:fixed;z-index:100;inset:0;background:rgba(10,10,9,.98);color:#fff;display:grid;grid-template-rows:auto minmax(0,1fr) 112px;opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}.lightbox.open{opacity:1;visibility:visible}.lightbox-bar{height:78px;padding:0 clamp(18px,3vw,48px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff1c}.lightbox-bar>div{display:flex;align-items:baseline;gap:20px}.lightbox-bar p{font:500 clamp(20px,2vw,28px) var(--serif);margin:0}.lightbox-bar span{font-size:10px;color:var(--gold-light);letter-spacing:.15em}.lightbox-close,.lightbox-nav{border:1px solid #ffffff38;background:rgba(20,20,18,.55);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.3s}.lightbox-close:hover,.lightbox-nav:hover,.lightbox-close:focus-visible,.lightbox-nav:focus-visible{background:var(--gold);color:var(--ink);border-color:var(--gold);outline:0}.lightbox-close{width:45px;height:45px;border-radius:50%;font-size:26px;font-weight:200}.lightbox-stage{min-height:0;position:relative;display:grid;place-items:center;padding:22px clamp(65px,8vw,125px);overflow:hidden;touch-action:pan-y}.lightbox-stage img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;opacity:0;transform:scale(.985);transition:opacity .3s var(--ease),transform .45s var(--ease);box-shadow:0 24px 90px #0007}.lightbox-stage img.visible{opacity:1;transform:scale(1)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;font-size:20px}.lightbox-nav.prev{left:clamp(12px,2.4vw,40px)}.lightbox-nav.next{right:clamp(12px,2.4vw,40px)}.lightbox-thumbs{display:flex;gap:9px;align-items:center;overflow-x:auto;padding:12px clamp(16px,3vw,48px) 18px;border-top:1px solid #ffffff16;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.lightbox-thumb{flex:0 0 76px;width:76px;height:76px;padding:0;border:1px solid transparent;background:#262622;cursor:pointer;opacity:.5;transition:.25s;overflow:hidden}.lightbox-thumb img{width:100%;height:100%;object-fit:cover}.lightbox-thumb.active{opacity:1;border-color:var(--gold)}.lightbox-thumb:hover,.lightbox-thumb:focus-visible{opacity:1;outline:1px solid var(--gold-light)}
.lightbox-stage #lightbox-image{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center;box-shadow:none;filter:drop-shadow(0 24px 45px #0008)}
.reveal{opacity:0;transform:translateY(42px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.gallery img,.btn,.category-card img,.lightbox,.lightbox-stage img{transition:none}}
@media(max-width:980px){.section{padding:90px 0}.wrap{width:calc(100% - 48px)}#menu{display:block}nav{position:fixed;inset:0;background:rgba(18,18,16,.985);flex-direction:column;justify-content:center;gap:24px;font-size:14px;transform:translateX(100%);transition:transform .5s var(--ease)}nav.open{transform:none}.langs{margin:18px 0 0}.langs button{width:45px;height:34px}.split,.contact-grid{grid-template-columns:1fr;gap:42px}.feature>img{height:650px}.feature>div{position:relative;right:auto;width:100%;padding:60px 24px}.cards{grid-template-columns:1fr 1fr}.portfolio-strip{grid-template-columns:1fr}.portfolio-strip figure{height:72vw;min-height:520px}.steps{grid-template-columns:1fr 1fr}.steps article:nth-child(2){border-right:0}.gallery-head{display:block}.gallery-head>p{margin-top:30px}.category-grid{grid-template-columns:1fr}.category-card{height:70vw;min-height:520px}.gallery{grid-template-columns:1fr}.gallery .tall,.gallery .wide{grid-row:auto;grid-column:auto}.gallery .tall img,.gallery img{height:520px}.area{grid-template-columns:1fr}.area img{height:560px}footer{grid-template-columns:1fr;gap:12px}footer p:last-child{text-align:left}}
@media(max-width:620px){.wrap{width:calc(100% - 32px)}#header{height:76px;padding:0 16px}.hero{min-height:650px}.hero h1{font-size:clamp(50px,16vw,74px)}.hero-copy{padding-bottom:52px}.hero-copy>p:not(.eyebrow){font-size:15px}.actions{flex-direction:column;align-items:stretch}.btn{width:100%}.cards,.steps{grid-template-columns:1fr}.cards article{min-height:230px}.cards h3,.steps h3{margin-top:34px}.portfolio-strip figure{height:118vw;min-height:430px}.category-card{height:115vw;min-height:430px}.gallery-disclaimer{text-align:left}.lightbox{grid-template-rows:auto minmax(0,1fr) 92px}.lightbox-bar{height:66px}.lightbox-bar>div{display:block}.lightbox-bar p{font-size:20px}.lightbox-bar span{display:block;margin-top:2px}.lightbox-stage{padding:14px 12px 70px}.lightbox-nav{top:auto;bottom:12px;width:46px;height:46px}.lightbox-nav.prev{left:calc(50% - 54px)}.lightbox-nav.next{right:calc(50% - 54px)}.lightbox-thumb{flex-basis:60px;width:60px;height:60px}.steps article{min-height:230px;border-right:0;border-bottom:1px solid #ffffff21}.gallery{margin-top:45px}.gallery img,.gallery .tall img{height:370px}.videos{grid-template-columns:1fr}.benefits div{grid-template-columns:52px 1fr}.area img{height:390px}.contact form{grid-template-columns:1fr}.contact label.full,.contact #status{grid-column:auto}footer{padding:40px 16px}.wa{right:16px;bottom:16px;width:50px;height:50px}}
@media(max-width:980px){.section{padding:clamp(92px,12vw,122px) 0}.category-showcase{padding-top:clamp(108px,14vw,145px);padding-bottom:clamp(102px,13vw,138px)}.category-showcase .gallery-head>p{margin-top:34px;max-width:560px}.category-grid{margin-top:62px}}
@media(max-width:620px){.section{padding:82px 0}h2{margin-bottom:52px}.label,.eyebrow{margin-bottom:23px}.category-showcase{padding-top:94px;padding-bottom:88px}.category-grid{margin-top:46px}.category-card{min-height:450px}.category-copy{left:26px;right:26px;bottom:34px}.gallery-disclaimer{margin-top:30px}.cards article{padding:34px 26px}.steps article{padding:38px 26px}}
