:root{
  --paper:#f7f4ee;
  --paper2:#eee8dc;
  --ink:#191817;
  --muted:#6e665f;
  --gold:#aa7f43;
  --line:rgba(170,127,67,.33);
  --dark:#141211;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.12;background-image:radial-gradient(circle at 1px 1px,rgba(25,24,23,.22) 1px,transparent 0);background-size:14px 14px;mix-blend-mode:multiply}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:6px clamp(22px,5vw,72px);min-height:44px;opacity:0;transform:translateY(-12px);transition:opacity .7s ease,transform .7s ease,background .7s ease,border-color .7s ease;border-bottom:1px solid transparent}.site-header.visible{opacity:1;transform:none;background:rgba(247,244,238,.82);backdrop-filter:blur(18px);border-bottom-color:rgba(170,127,67,.12)}.brand{width:52px;display:block;line-height:0}.brand img{width:100%;height:auto;max-height:28px;object-fit:contain}nav{display:flex;gap:clamp(18px,3vw,38px);font-family:var(--serif);font-size:18px}nav a{position:relative}nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}nav a:hover::after{transform:scaleX(1)}.section{position:relative}.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;padding:clamp(28px,5vw,72px);gap:clamp(24px,5vw,72px);isolation:isolate}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 22%,rgba(255,255,255,.75),transparent 33%),linear-gradient(90deg,var(--paper) 0 55%,rgba(247,244,238,.18) 75%,transparent 100%);z-index:-1}.hero-copy{max-width:760px;padding-top:4vh}.eyebrow{margin:0 0 22px;text-transform:uppercase;letter-spacing:.28em;font-size:12px;color:var(--gold);font-weight:500}.hero h1{font-family:var(--serif);font-weight:400;line-height:.79;letter-spacing:-.065em;font-size:clamp(98px,15.6vw,220px);margin:0}.hero h1 span{display:block}.rule{width:96px;height:1px;background:var(--gold);margin:34px 0 28px}.claim{font-family:var(--serif);font-size:clamp(31px,3.7vw,54px);line-height:1.05;margin:0;letter-spacing:-.018em}.hero-image{height:min(82svh,900px);margin:0;align-self:end;overflow:hidden;border-radius:0;box-shadow:-34px 34px 80px rgba(42,30,18,.14);clip-path:polygon(0 6%,100% 0,100% 100%,8% 100%)}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:54% 42%;filter:saturate(.95) contrast(1.02)}.scroll{position:absolute;left:clamp(28px,5vw,72px);bottom:34px;width:44px;height:62px;display:grid;place-items:center}.scroll span{width:1px;height:46px;background:var(--gold);position:relative}.scroll span::after{content:"";position:absolute;bottom:0;left:50%;width:8px;height:8px;border-right:1px solid var(--gold);border-bottom:1px solid var(--gold);transform:translateX(-50%) rotate(45deg)}.presence{min-height:92svh;padding:clamp(90px,12vw,170px) clamp(24px,8vw,130px);display:grid;grid-template-columns:.35fr .85fr 1fr;gap:clamp(24px,5vw,72px);border-top:1px solid var(--line);background:linear-gradient(180deg,var(--paper),#fbfaf7)}.section-number{font-family:var(--serif);font-size:22px;color:var(--gold);letter-spacing:.08em}.presence-title h2,.portrait-copy h2,.craft-intro h2,.contact-copy h2{font-family:var(--serif);font-weight:400;line-height:.94;letter-spacing:-.035em;margin:0;font-size:clamp(56px,7vw,112px)}.presence-text{max-width:620px;align-self:end}.presence-text p,.portrait-copy p,.contact-copy p{margin:0 0 22px;color:#2d2a27}.lead{font-family:var(--serif);font-size:clamp(29px,3.4vw,48px);line-height:1.05;color:var(--ink)!important;letter-spacing:-.015em}.portrait{min-height:94svh;display:grid;grid-template-columns:.95fr 1.05fr;align-items:stretch;background:var(--dark);color:var(--paper)}.portrait-image{min-height:760px;overflow:hidden}.portrait-image img{width:100%;height:100%;object-fit:cover;object-position:49% 40%;filter:grayscale(.12) contrast(1.03) brightness(.82)}.portrait-copy{padding:clamp(70px,10vw,150px) clamp(34px,8vw,120px);align-self:center;max-width:800px}.portrait-copy p{color:rgba(247,244,238,.78);max-width:620px}.portrait-copy .eyebrow,.portrait-copy .section-number{color:#d2a367}.craft{padding:clamp(90px,12vw,170px) clamp(24px,8vw,130px);display:grid;grid-template-columns:.9fr 1fr;gap:clamp(38px,8vw,120px);background:var(--paper2)}.craft-intro h2{font-size:clamp(43px,5.2vw,82px);max-width:800px}.craft-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);align-self:center}.craft-grid article{min-height:200px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.craft-grid span{color:var(--gold);font-family:var(--serif);font-size:18px}.craft-grid h3{font-family:var(--serif);font-size:clamp(34px,3vw,48px);font-weight:400;margin:0;line-height:1}.contact{min-height:72svh;display:grid;grid-template-columns:.9fr 1.1fr;background:var(--dark);color:var(--paper)}.contact-image{background-image:linear-gradient(90deg,rgba(20,18,17,.75),rgba(20,18,17,.12)),url('assets/garaine-stage.jpg');background-size:cover;background-position:42% 58%;filter:grayscale(.15) contrast(1.08)}.contact-copy{padding:clamp(70px,10vw,140px) clamp(30px,8vw,120px);max-width:760px;align-self:center}.contact-copy p{color:rgba(247,244,238,.76);max-width:620px}.contact-copy .eyebrow,.contact-copy .section-number{color:#d2a367}.contact-links{margin-top:38px;display:grid;gap:12px;font-family:var(--serif);font-size:clamp(28px,3.2vw,46px);line-height:1.05}.contact-links a{width:max-content}.contact-links a:hover{color:#d2a367}.site-footer{padding:34px clamp(22px,8vw,130px);display:grid;grid-template-columns:170px 1fr 1.4fr;gap:32px;align-items:center;border-top:1px solid rgba(170,127,67,.18);font-size:13px;color:var(--muted)}.footer-logo{width:150px}.note{max-width:520px}/* CONTENT VISIBILITY FIX v06: content is visible even if hosted JS/IntersectionObserver behaves differently */
.reveal{opacity:1;transform:none;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (max-width:980px){.hero{grid-template-columns:1fr;gap:42px;padding-top:100px}.hero-image{height:58svh;align-self:auto;clip-path:polygon(0 0,100% 0,100% 96%,5% 100%)}.hero h1{font-size:clamp(82px,23vw,160px)}.presence,.craft{grid-template-columns:1fr}.presence-text{align-self:auto}.portrait{grid-template-columns:1fr}.portrait-image{min-height:58svh}.contact{grid-template-columns:1fr}.contact-image{min-height:42svh}.site-footer{grid-template-columns:1fr}.site-header{padding:10px 22px;min-height:50px}.brand{width:58px}.brand img{max-height:32px}nav{font-size:17px;gap:18px}.scroll{display:none}}
@media (max-width:640px){body{font-size:15px}.site-header nav{display:none}.hero{min-height:100svh;padding:96px 22px 34px}.hero-copy{padding-top:0}.eyebrow{font-size:10px;letter-spacing:.24em}.hero h1{font-size:clamp(72px,25vw,112px);letter-spacing:-.07em}.claim{font-size:32px}.hero-image{height:48svh;box-shadow:none}.presence,.portrait-copy,.craft,.contact-copy{padding:76px 22px}.presence-title h2,.portrait-copy h2,.craft-intro h2,.contact-copy h2{font-size:50px}.lead{font-size:30px}.craft-grid{grid-template-columns:1fr}.craft-grid article{min-height:140px}.contact-links{font-size:30px}.footer-logo{width:130px}.site-footer{padding:28px 22px}}


/* DOMAIN HEADER FIX v04: hard constraints for hosted/cached desktop rendering */
.site-header{height:42px!important;min-height:42px!important;max-height:42px!important;padding-top:4px!important;padding-bottom:4px!important;overflow:hidden!important;}
.site-header.visible{height:42px!important;min-height:42px!important;max-height:42px!important;}
.site-header .brand{width:46px!important;max-width:46px!important;height:30px!important;display:flex!important;align-items:center!important;line-height:0!important;overflow:hidden!important;}
.site-header .brand img{width:auto!important;height:auto!important;max-width:46px!important;max-height:26px!important;object-fit:contain!important;}
@media (max-width:980px){
  .site-header{height:46px!important;min-height:46px!important;max-height:46px!important;padding-top:6px!important;padding-bottom:6px!important;}
  .site-header .brand{width:50px!important;max-width:50px!important;height:32px!important;}
  .site-header .brand img{max-width:50px!important;max-height:28px!important;}
}


/* HARD HEADER FIX v05: uses small physical logo asset + defensive sizing */
html body header.site-header{
  height:42px!important; min-height:42px!important; max-height:42px!important;
  padding:4px clamp(22px,5vw,72px)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
html body header.site-header.visible{
  height:42px!important; min-height:42px!important; max-height:42px!important;
}
html body header.site-header a.brand{
  width:46px!important; height:30px!important; max-width:46px!important; max-height:30px!important;
  display:flex!important; align-items:center!important; justify-content:flex-start!important;
  overflow:hidden!important; flex:0 0 46px!important;
}
html body header.site-header a.brand img{
  width:46px!important; height:auto!important; max-width:46px!important; max-height:28px!important;
  object-fit:contain!important; display:block!important;
}
@media(max-width:980px){
  html body header.site-header{height:46px!important; min-height:46px!important; max-height:46px!important; padding:6px 22px!important;}
  html body header.site-header a.brand{width:50px!important; height:32px!important; flex-basis:50px!important;}
  html body header.site-header a.brand img{width:50px!important; max-width:50px!important; max-height:30px!important;}
}
