:root{
  --bg:#050505;
  --panel:#0b0b0c;
  --text:#f4f1eb;
  --muted:rgba(244,241,235,.68);
  --soft:rgba(244,241,235,.48);
  --line:rgba(255,255,255,.13);
  --line2:rgba(255,255,255,.22);
  --container:min(1180px, calc(100vw - 48px));
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--bg)} body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.65;overflow-x:hidden} body.nav-open{overflow:hidden} img{display:block;max-width:100%} a{color:inherit;text-decoration:none} section{position:relative;scroll-margin-top:112px}.container{width:var(--container);margin-inline:auto;position:relative;z-index:2}.noise{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:.09;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:94px;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(22px,4vw,56px);background:linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.55), transparent);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px)}.brand{width:150px;flex:0 0 auto}.brand img,.footer-main img{width:100%;height:auto;filter:none;opacity:.92}.site-nav{display:flex;gap:26px;align-items:center}.site-nav a{font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(244,241,235,.72)}.site-nav a:hover{color:#fff}.nav-toggle{display:none;width:54px;height:54px;border:1px solid var(--line2);border-radius:999px;background:rgba(255,255,255,.04);align-items:center;justify-content:center;gap:7px;flex-direction:column}.nav-toggle span{width:19px;height:1px;background:#fff;display:block}.nav-open .nav-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.nav-open .nav-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
.hero{min-height:100svh;display:grid;align-items:center;overflow:hidden;padding:140px 0 82px}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.78) saturate(.8)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.58) 44%,rgba(0,0,0,.25)),linear-gradient(0deg,#050505 0%,transparent 32%,rgba(0,0,0,.5) 100%)}.hero-content{max-width:680px;margin-left:max(0px,calc((100vw - 1180px)/2));padding-right:18px}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.22em;color:var(--soft);margin:0 0 14px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}h1{font-size:clamp(4rem,10vw,8.8rem);letter-spacing:.12em;margin:0 0 20px}h2{font-size:clamp(2.5rem,5.8vw,5.2rem);letter-spacing:.02em;margin:0 0 24px}h3{font-size:1.42rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px}.lead{font-family:var(--serif);font-size:clamp(1.55rem,3vw,2.75rem);line-height:1.2;color:#fff;margin-bottom:18px}.muted,.text-block p,.section-head p,.process-text p,.closing-content p{color:var(--muted)}.hero-text{max-width:620px}.btn{display:inline-flex;margin-top:18px;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:1px solid rgba(244,241,235,.72);border-radius:999px;background:rgba(244,241,235,.92);color:#050505;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;transition:.25s ease}.btn:hover{transform:translateY(-2px);background:#fff}
.section{padding:112px 0}.two-col{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(34px,6vw,78px);align-items:center}.photo-frame{margin:0;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#111;box-shadow:0 30px 90px rgba(0,0,0,.44);position:relative}.photo-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) brightness(.88) contrast(1.03)}.photo-frame.landscape img{aspect-ratio:16/8;object-position:center}.photo-frame.portrait{justify-self:end;max-width:520px}.photo-frame.portrait img{aspect-ratio:4/5.25;object-position:center 18%}.text-block{max-width:580px}.text-block strong{color:#fff;font-weight:600}.short-lines{display:grid;gap:10px;margin-top:26px}.short-lines span{border-left:1px solid var(--line2);padding-left:16px;color:#fff}.intro-note{background:linear-gradient(180deg,#050505,#080808)}.about{background:radial-gradient(circle at 80% 12%, rgba(95,15,22,.18), transparent 30%),#050505}
.story-band{min-height:560px;display:grid;align-items:center;overflow:hidden;border-block:1px solid rgba(255,255,255,.08)}.story-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(.75)}.story-band-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.5) 60%,rgba(0,0,0,.72)),linear-gradient(0deg,#050505,transparent 30%,#050505)}.story-content{max-width:760px;margin-left:max(24px,calc((100vw - 1180px)/2));}.story-content p{max-width:680px;color:rgba(244,241,235,.76);font-size:1.04rem}.process{background:#050505}.process-card{min-height:650px;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:0 30px 100px rgba(0,0,0,.5);background:#111}.process-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:brightness(.72) saturate(.8)}.process-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.38) 60%,rgba(0,0,0,.15)),linear-gradient(0deg,rgba(0,0,0,.76),transparent 58%)}.process-text{position:absolute;left:clamp(24px,6vw,76px);bottom:clamp(28px,6vw,72px);z-index:2;max-width:590px}
.builds{background:linear-gradient(180deg,#050505,#080808)}.section-head{max-width:780px;margin-bottom:42px}.build-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.build-card{min-height:282px;padding:26px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transition:.25s ease}.build-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.28)}.logo-slot{height:86px;display:flex;align-items:center;margin-bottom:auto}.logo-slot img{width:170px;height:62px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1) contrast(1.05);opacity:.88}.build-card p{color:var(--muted);font-size:.95rem;margin:0}
.gallery{background:#050505}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-item{position:relative;margin:0;border:1px solid var(--line);border-radius:24px;background:#101010;overflow:hidden;min-height:460px;box-shadow:0 24px 72px rgba(0,0,0,.35)}.gallery-item img{width:100%;height:100%;min-height:460px;object-fit:cover;filter:saturate(.85) brightness(.84);transition:.6s ease}.gallery-item.contain img{object-fit:contain;object-position:center top;background:linear-gradient(180deg,#eceff0,#0a0a0a 92%);padding:0}.gallery-item .pos-top{object-position:center 18%}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.72))}.gallery-item figcaption{position:absolute;z-index:2;left:24px;bottom:22px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.closing{min-height:92svh;display:grid;align-items:center;overflow:hidden;padding:140px 0 110px}.closing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.68) saturate(.75)}.closing-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.42),rgba(0,0,0,.76)),linear-gradient(0deg,#050505 0%,transparent 24%,rgba(0,0,0,.54) 100%)}.closing-content{max-width:760px;text-align:center}.closing-content h2{font-size:clamp(3rem,7vw,7rem)}.closing-content p{max-width:650px;margin-inline:auto}.site-footer{background:#030303;border-top:1px solid var(--line);padding:34px 0}.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center}.footer-main{display:flex;align-items:center;gap:16px}.footer-main img{width:128px}.footer-main p,.footer-copy p{margin:0;color:rgba(244,241,235,.58);font-size:.84rem}.footer-copy{text-align:center}.footer-links{display:flex;justify-content:flex-end;gap:20px}.footer-links a{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(244,241,235,.72)}.footer-links a:hover{color:#fff}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.delay{transition-delay:.12s}
@media(max-width:1020px){.site-header{height:86px;padding:14px 22px}.brand{width:138px}.nav-toggle{display:flex}.site-nav{position:fixed;inset:0;z-index:99;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:96px 34px;background:rgba(3,3,3,.97);backdrop-filter:blur(18px);transform:translateX(100%);transition:.35s ease}.nav-open .site-nav{transform:none}.site-nav a{font-size:1.1rem;color:#fff}.nav-toggle{position:relative;z-index:101}.two-col{grid-template-columns:1fr}.reverse-mobile .photo-frame{order:-1;justify-self:start}.build-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-main,.footer-links{justify-content:center}}
@media(max-width:640px){:root{--container:calc(100vw - 34px)}section{scroll-margin-top:96px}.site-header{height:86px}.brand{width:132px}.hero{padding:126px 0 72px}.hero-img{object-position:62% center}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.64)),linear-gradient(0deg,#050505 0%,transparent 34%,rgba(0,0,0,.56))}.hero-content{padding-right:8px}h1{font-size:clamp(2.95rem,13vw,4.6rem);letter-spacing:.07em;line-height:1.02;max-width:100%}h2{font-size:clamp(2.25rem,10.5vw,3.8rem)}.section{padding:82px 0}.photo-frame{border-radius:20px}.photo-frame.landscape img{aspect-ratio:16/10}.photo-frame.portrait{max-width:100%}.story-band{min-height:600px}.story-content{margin-left:auto}.process-card{min-height:620px;border-radius:22px}.process-card>img{object-position:center}.process-card:after{background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.28) 74%,rgba(0,0,0,.18))}.process-text{left:24px;right:24px}.build-grid{grid-template-columns:1fr}.build-card{min-height:238px}.logo-slot{height:74px}.logo-slot img{width:158px;height:58px}.gallery-grid{grid-template-columns:1fr}.gallery-item{min-height:auto}.gallery-item img{height:auto;min-height:0;aspect-ratio:4/5.15}.gallery-item.contain img{aspect-ratio:4/5.25;object-fit:contain}.gallery-item figcaption{left:22px;bottom:20px}.closing{min-height:86svh;padding:112px 0 88px}.footer-main{flex-direction:column;gap:8px}.footer-links{flex-direction:column;gap:10px}.btn{width:100%;max-width:320px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.final-story{
  position:relative;
  overflow:hidden;
  padding:118px 0 108px;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.075), transparent 30%),
    radial-gradient(circle at 88% 28%, rgba(92,12,18,.16), transparent 34%),
    linear-gradient(180deg,#050505 0%,#090909 46%,#050505 100%);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.final-story:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);
  opacity:.25;
  pointer-events:none;
}
.final-story-inner{
  max-width:900px;
  text-align:center;
}
.final-story h2{
  max-width:820px;
  margin-inline:auto;
  margin-bottom:34px;
  font-size:clamp(2.45rem,5.8vw,5.7rem);
}
.final-story-copy{
  max-width:690px;
  margin:0 auto;
}
.final-story-copy p{
  color:rgba(244,241,235,.72);
  font-size:clamp(1rem,1.8vw,1.13rem);
  margin-bottom:18px;
}
.final-story-copy p:last-child{
  color:rgba(244,241,235,.9);
  font-family:var(--serif);
  font-size:clamp(1.2rem,2.3vw,1.55rem);
  line-height:1.45;
  margin-top:30px;
}
@media(max-width:640px){
  .final-story{padding:86px 0 82px;}
  .final-story-inner{text-align:left;}
  .final-story h2{margin-bottom:26px;}
}


/* Gallery manual slider */
.gallery{background:#050505;overflow:hidden}
.gallery .section-head{margin-bottom:30px}
.gallery-slider{position:relative;display:flex;align-items:center;gap:16px}
.gallery-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x mandatory;flex:1;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:6px}
.gallery-viewport::-webkit-scrollbar{display:none}
.gallery-track-manual{display:flex;gap:18px;width:max-content}
.gallery-slide-manual{position:relative;flex:0 0 clamp(230px,24vw,330px);aspect-ratio:4/5;margin:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#111;box-shadow:0 24px 72px rgba(0,0,0,.35);scroll-snap-align:start}
.gallery-slide-manual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.8) brightness(.86) contrast(1.04)}
.gallery-slide-manual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 42%,rgba(0,0,0,.78) 100%)}
.gallery-slide-manual figcaption{position:absolute;z-index:2;left:22px;bottom:20px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.9);white-space:nowrap}
.gallery-arrow{width:54px;height:54px;flex:0 0 54px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#fff;font-size:1.3rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.25s ease}
.gallery-arrow:hover{background:rgba(255,255,255,.12);transform:translateY(-1px)}
.gallery-arrow:disabled{opacity:.34;cursor:default;transform:none}
@media(max-width:640px){
  .gallery .section-head{margin-bottom:24px}
  .gallery-slider{gap:10px}
  .gallery-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:44px;height:44px;flex-basis:44px;background:rgba(5,5,5,.72);backdrop-filter:blur(6px)}
  .gallery-arrow.prev{left:10px}
  .gallery-arrow.next{right:10px}
  .gallery-arrow:hover{transform:translateY(-50%)}
  .gallery-slide-manual{flex-basis:72vw;border-radius:22px}
  .gallery-slide-manual figcaption{left:20px;bottom:18px;font-size:.7rem}
}
