/* TRI Studio — sunlit editorial gallery */

:root{
  --bg:#f2eee6;
  --surface:#faf7f1;
  --surface-deep:#e5ddd0;
  --ink:#242a2a;
  --muted:#657070;
  --line:#cec7ba;
  --quiet:#eae4d9;
  --accent:#425c59;
  --accent2:#d9c7a8;
  --font-display:"Syne", system-ui, sans-serif;
  --font-body:"Instrument Sans", system-ui, sans-serif;
  --font-mono:"JetBrains Mono", ui-monospace, monospace;
  --fs-2xs:.675rem;
  --fs-xs:.8125rem;
  --fs-sm:clamp(1rem,1.35vw,1.2rem);
  --fs-lg:clamp(2.7rem,5vw,5.3rem);
  --fs-hero:clamp(4.6rem,12vw,11.5rem);
  --nav-h:76px;
  --gutter:clamp(20px,5.1vw,76px);
}

*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:auto}
html,body{max-width:100%;overflow-x:clip}
section[id]{scroll-margin-top:calc(var(--nav-h) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.48;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2{margin:0;font-family:var(--font-display);font-weight:800;letter-spacing:-.06em;text-wrap:balance}
p{margin:0}

/* Navigation */
.nav{position:fixed;top:0;right:0;left:0;z-index:100;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);pointer-events:none;transition:background-color .35s ease,border-color .35s ease}
.nav::after{content:"";position:absolute;z-index:-1;inset:0;background:rgba(250,247,241,.96);border-bottom:1px solid var(--line)}
.nav-mark,.nav-links a{position:relative;color:var(--ink);pointer-events:auto}
.nav-mark{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.13em;text-transform:uppercase;font-weight:500}
.nav-logo{display:block;width:20px;height:38px;object-fit:contain;flex-shrink:0}
.nav-links{display:flex;gap:1.8em;font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase}
.nav-links a{padding:8px 0;transition:opacity .2s ease}
.nav-links a:hover{opacity:.63}
.nav-links a[aria-current="page"]{opacity:1}
.nav-links a[aria-current="page"]::before{content:"";position:absolute;right:0;bottom:2px;left:0;height:1px;background:currentColor}
.nav-links a:not(:last-child)::after{content:"/";position:absolute;right:-1.1em;opacity:.55}

/* Hero: retained Land image, made an editorial title plate */
.hero{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:520px;height:100svh;overflow:hidden;background:#d8cbb6}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,47,43,.42),rgba(42,47,43,.04) 58%,rgba(71,56,45,.13)),linear-gradient(0deg,rgba(23,31,29,.24),transparent 42%)}
.hero-content{position:relative;z-index:2;width:100%;padding:0 var(--gutter);text-align:center;color:#fcfaf4}
.hero-title{font-size:var(--fs-hero);line-height:.83;color:inherit}
.hero-title .mask{display:block;overflow:hidden}.hero-title .line{display:block}
.hero-sub{max-width:26ch;margin:1.7rem auto 0;font-size:var(--fs-sm);font-weight:500;line-height:1.25;letter-spacing:-.02em}
.hero-label,.hero-scroll{position:absolute;bottom:clamp(23px,4vw,48px);z-index:2;color:#fbf8f1;font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase}
.hero-label{left:var(--gutter)}
.hero-scroll{right:var(--gutter);display:flex;align-items:center;gap:.7em}
.hero-scroll-line{display:block;width:26px;height:1px;background:currentColor;opacity:.8}

/* Feature chapters */
.chapter{position:relative;display:flex;align-items:center;padding:48px 0;overflow:hidden;background:var(--surface);border-bottom:1px solid var(--line)}
.chapter:nth-of-type(odd){background:var(--bg)}
.chapter::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 62% at 83% 52%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 72%)}
.chapter-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:clamp(24px,3vw,48px);width:100%;max-width:1530px;margin:auto;padding:0 var(--gutter)}
.chapter-text{max-width:31ch}
.chapter-tag{margin-bottom:1.35rem;color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase}
.chapter-title{font-size:clamp(2.6rem,4.5vw,5rem);line-height:1;color:var(--accent)}
.chapter-title.mask{overflow:hidden}.chapter-title .line{display:inline-block}
.chapter-desc{max-width:29ch;margin-top:1.3rem;font-size:var(--fs-sm);line-height:1.36}
.chapter-media{position:relative;display:flex;align-items:center;justify-content:center;min-width:0}
.chapter-glow{display:none}
.chapter-media video{position:relative;z-index:1;border:1px solid rgba(43,48,46,.12)}
.chapter-media.portrait{background:transparent;width:min(100%,360px);justify-self:center;aspect-ratio:9/16}
.chapter-media.portrait video{width:100%;height:100%;aspect-ratio:9/16;object-fit:contain;border:0}
.chapter-media.landscape{aspect-ratio:16/9}
.chapter-media.landscape video{width:100%;height:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface-deep)}

/* Archive grid */
.index{max-width:1530px;margin:auto;padding:64px var(--gutter)}
.index-heading{font-size:var(--fs-lg);line-height:.92;margin-bottom:clamp(34px,5vw,72px)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}
.card{display:block;min-width:0}
.card-media{position:relative;width:100%;aspect-ratio:16/9;background:transparent;overflow:hidden}
.card[data-orientation="portrait"] .card-media{aspect-ratio:9/16}
.card-media video{display:block;width:100%;height:100%;object-fit:cover}
.card-label{margin-top:.85rem;color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase}

/* Offer & contact */
.offer,.contact{max-width:1530px;margin:auto;border-top:1px solid var(--line)}
.offer{display:grid;grid-template-columns:1fr minmax(270px,.65fr);gap:clamp(48px,12vw,220px);padding:clamp(82px,13vh,170px) var(--gutter)}
.offer-title{font-size:var(--fs-lg);line-height:.91}
.offer-right{padding-top:.5rem}.offer-right p{max-width:31ch;margin-bottom:.9rem;font-size:var(--fs-sm);line-height:1.35}
.btn{display:inline-flex;align-items:center;justify-content:center;margin-top:1.5rem;padding:1.05em 1.45em;background:var(--ink);border:1px solid var(--ink);color:var(--surface);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.11em;text-transform:uppercase;transition:transform .2s ease,background-color .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px);background:transparent;color:var(--ink)}
.contact{padding:clamp(88px,15vh,190px) var(--gutter) clamp(40px,6vw,76px)}
.contact-title{max-width:10ch;font-size:clamp(3.5rem,8vw,9rem);line-height:.89;margin-bottom:.55em}
.contact-person{margin-bottom:.55rem;font-size:var(--fs-sm)}
.contact-mail{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:.18rem;font-family:var(--font-mono);font-size:clamp(.85rem,1.2vw,1.15rem);letter-spacing:.02em;transition:color .2s ease,border-color .2s ease}
.contact-mail:hover{color:var(--accent);border-color:var(--accent)}
.contact-address{max-width:42ch;margin-top:3rem;color:var(--muted);font-size:var(--fs-xs)}
.contact-copy{margin-top:.55rem;color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase}

/* JS reveal states */
.js .hero-title .line,.js .chapter-title .line{transform:translateY(110%);transition:transform .9s cubic-bezier(.16,1,.3,1)}
.js .hero-sub,.js .hero-label,.js .hero-scroll,.js .chapter-tag,.js .chapter-desc,.js .card{transition:opacity .7s ease,transform .7s ease}
.js .is-in .hero-title .line,.js .is-in .chapter-title .line{transform:none}
.js .is-in .hero-sub,.js .is-in .hero-label,.js .is-in .hero-scroll,.js .is-in .chapter-tag,.js .is-in .chapter-desc,.js .is-in .chapter-glow,.js .card.is-in{opacity:1}
.js .hero-sub,.js .hero-label,.js .hero-scroll,.js .chapter-tag,.js .chapter-desc,.js .chapter-glow{opacity:0}.js .card{opacity:0;transform:translateY(24px)}.js .card.is-in{transform:none}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

@media (max-width:768px){
  :root{--nav-h:62px;--gutter:20px}
  .nav{padding:0 var(--gutter)}.nav-links{gap:1em}.nav-links a{padding:7px 0}
  .hero{min-height:510px}.hero-overlay{background:linear-gradient(180deg,rgba(34,39,36,.28),rgba(36,42,38,.07) 42%,rgba(32,39,36,.5))}
  .hero-title{font-size:clamp(4.25rem,17vw,7.2rem)}.hero-sub{margin-top:1.45rem;font-size:1rem}.hero-label{bottom:24px}.hero-scroll{display:none}
  .chapter{padding:32px 0}.chapter::before{background:radial-gradient(80% 40% at 50% 75%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 70%)}
  .chapter-inner{grid-template-columns:1fr;gap:32px}.chapter-text{max-width:100%}.chapter-tag{margin-bottom:1rem}.chapter-title{font-size:clamp(3.2rem,14vw,5.4rem)}.chapter-desc{max-width:34ch;font-size:1rem}
  .chapter-media.portrait{aspect-ratio:9/16}.chapter-media.landscape video{width:100%}
  .index{padding:48px var(--gutter)}.index-heading{font-size:3.25rem;margin-bottom:28px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.card-label{margin-top:.65rem}
  .offer{grid-template-columns:1fr;gap:28px;padding:74px var(--gutter)}.offer-title{font-size:3.25rem}.offer-right{padding:0}.offer-right p{font-size:1rem}
  .contact{padding:82px var(--gutter) 40px}.contact-title{font-size:clamp(3.4rem,14vw,5.6rem)}.contact-address{margin-top:2.6rem}
  .js .chapter-media{transform:none}
}
@media (max-width:380px){.nav-links{gap:.75em;font-size:.61rem}.nav-links a:not(:last-child)::after{right:-.85em}.hero-title{font-size:17vw}}