:root{
  --g1:#0B1A13;--g2:#122A1F;--g3:#1B3A2D;--g4:#243D31;
  --brass:#C4A265;--brass-lt:#D4B97A;--brass-dk:#A8884E;
  --cream:#F5F0E8;--warm:#B8B0A4;--lt:#E2DCD2;--muted:#8A8478;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Cormorant Garamond',Georgia,serif;background:var(--g1);color:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden}

.dp{font-family:'Playfair Display',Georgia,serif}

#particles{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.6}

#gate{position:fixed;inset:0;background:var(--g1);z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem;transition:opacity .8s cubic-bezier(.25,.46,.45,.94)}
#gate.hide{opacity:0;pointer-events:none}
.gate-label{font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin-bottom:2rem}
.gate-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:300;color:var(--cream);line-height:1.2;margin-bottom:.6rem}
.gate-title em{font-family:'Playfair Display',Georgia,serif;font-style:italic;color:var(--brass-lt)}
.gate-sub{font-size:1rem;font-weight:300;font-style:italic;color:var(--warm);margin-bottom:3rem}
.gate-divider{width:40px;height:1px;background:var(--brass);opacity:.4;margin:0 auto 3rem}
.gate-input-wrap{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:280px}
.gate-input-wrap label{font-family:'Raleway',sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
#gateInput{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.4rem;font-weight:400;letter-spacing:.3em;text-align:center;color:var(--cream);background:rgba(255,255,255,.05);border:1px solid rgba(196,162,101,.3);padding:.9rem 1.2rem;width:100%;border-radius:2px;outline:none;transition:border-color .3s,background .3s}
#gateInput:focus{border-color:var(--brass);background:rgba(196,162,101,.06)}
#gateInput.error{border-color:#c0392b;animation:shake .35s ease}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
#gateBtn{font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--g1);background:var(--brass);padding:.9rem 3rem;border:none;cursor:pointer;transition:all .45s;border-radius:2px;width:100%}
#gateBtn:hover{background:var(--brass-lt);box-shadow:0 0 30px rgba(196,162,101,.15)}
.gate-error{font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.1em;color:#c0392b;opacity:0;transition:opacity .3s;margin-top:.2rem}
.gate-error.show{opacity:1}

#scrollProgress{position:fixed;top:0;left:0;width:3px;height:0%;background:linear-gradient(to bottom,var(--brass),var(--brass-lt));z-index:200;transition:height .05s linear;opacity:.7}

.grain{position:relative}
.grain::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-size:200px 200px}

.eq-divider{display:flex;align-items:center;justify-content:center;padding:2rem 2rem;background:transparent}
.eq-divider svg{width:28px;height:28px;fill:none;stroke:var(--brass);stroke-width:1.2;opacity:.45}
.eq-divider-line{flex:1;max-width:200px;height:2px;background:linear-gradient(to var(--dir),transparent,var(--brass));opacity:.35}
.eq-divider-line.left{--dir:right;margin-right:1.5rem}
.eq-divider-line.right{--dir:left;margin-left:1.5rem}

.rv{opacity:0;transform:translateY(32px);transition:opacity 1.1s cubic-bezier(.25,.46,.45,.94),transform 1.1s cubic-bezier(.25,.46,.45,.94)}
.rv.vis{opacity:1;transform:translateY(0)}
.d1{transition-delay:.18s}.d2{transition-delay:.36s}.d3{transition-delay:.54s}.d4{transition-delay:.72s}.d5{transition-delay:.9s}.d6{transition-delay:1.08s}

.sl{font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin-bottom:1rem}

nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(11,26,19,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(196,162,101,.08);transition:box-shadow .4s}
nav.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.3)}
.ni{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1.6rem}
.nl{font-family:'Raleway',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);line-height:1.6;text-decoration:none}
.nl a{color:var(--cream);text-decoration:none}
.menu-trigger{display:flex;align-items:center;gap:.85rem;background:none;border:none;color:var(--cream);cursor:pointer;font-family:'Raleway',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;padding:.5rem 0;transition:color .4s}
.menu-trigger:hover{color:var(--brass-lt)}
.mt-icon{display:inline-flex;flex-direction:column;align-items:flex-end;gap:6px;width:26px}
.mt-icon span{display:block;height:1px;background:var(--brass);transition:width .4s cubic-bezier(.25,.46,.45,.94),background .4s}
.mt-icon span:nth-child(1){width:26px}
.mt-icon span:nth-child(2){width:14px}
.menu-trigger:hover .mt-icon span:nth-child(2){width:26px}
.menu-trigger:hover .mt-icon span{background:var(--brass-lt)}

.menu-overlay{position:fixed;inset:0;z-index:200;visibility:hidden;opacity:0;pointer-events:none;background:rgba(11,26,19,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:opacity .55s ease,visibility 0s linear .55s}
.menu-overlay.open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .55s ease}
.overlay-close{position:absolute;top:1.5rem;right:2rem;width:44px;height:44px;background:none;border:1px solid rgba(196,162,101,.35);border-radius:50%;cursor:pointer;z-index:3;transition:border-color .45s,transform .55s cubic-bezier(.25,.46,.45,.94),background .4s}
.overlay-close:hover{border-color:var(--brass);transform:rotate(90deg);background:rgba(196,162,101,.06)}
.overlay-close span{position:absolute;top:50%;left:50%;width:14px;height:1px;background:var(--brass-lt)}
.overlay-close span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg)}
.overlay-close span:nth-child(2){transform:translate(-50%,-50%) rotate(-45deg)}
.overlay-grid{position:relative;width:100%;height:100%;display:grid;grid-template-columns:42% 58%;align-items:stretch}
.overlay-aside{position:relative;height:100%;overflow:hidden}
.oa-image{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.5) saturate(.85);transform:scale(1.04);transition:transform 1.4s ease,filter 1.4s ease}
.menu-overlay.open .oa-image{transform:scale(1);filter:brightness(.55) saturate(.85)}
.overlay-aside::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(11,26,19,.15) 0%,transparent 30%,rgba(11,26,19,.45) 100%),linear-gradient(to bottom,rgba(11,26,19,.25),rgba(11,26,19,.6))}
.oa-meta{position:absolute;left:3rem;bottom:3rem;z-index:2;color:var(--warm);opacity:0;transform:translateY(20px);transition:opacity .7s ease .35s,transform .8s cubic-bezier(.25,.46,.45,.94) .35s}
.menu-overlay.open .oa-meta{opacity:1;transform:translateY(0)}
.oa-eyebrow{font-family:'Raleway',sans-serif;font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);margin-bottom:1.1rem}
.oa-line{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;color:var(--cream);line-height:1.85}
.overlay-links{display:flex;flex-direction:column;justify-content:center;padding:5rem 5rem 5rem 6rem;position:relative}
.overlay-links::before{content:'';position:absolute;left:0;top:18%;bottom:18%;width:1px;background:linear-gradient(to bottom,transparent,rgba(196,162,101,.25),transparent);opacity:0;transition:opacity .8s ease .2s}
.menu-overlay.open .overlay-links::before{opacity:1}
.ol-eyebrow{font-family:'Raleway',sans-serif;font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);margin-bottom:2.2rem;opacity:0;transform:translateY(15px);transition:opacity .55s ease .15s,transform .6s cubic-bezier(.25,.46,.45,.94) .15s}
.menu-overlay.open .ol-eyebrow{opacity:1;transform:translateY(0)}
.overlay-links ul{list-style:none;padding:0;margin:0 0 2.8rem 0}
.overlay-links li{overflow:hidden;margin:.2rem 0}
.overlay-links li a{display:inline-block;font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:400;font-style:italic;color:var(--cream);text-decoration:none;line-height:1.18;position:relative;padding:.1rem 0;opacity:0;transform:translateY(40px);transition:color .4s,opacity .55s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}
.menu-overlay.open .overlay-links li a{opacity:1;transform:translateY(0)}
.menu-overlay.open .overlay-links li:nth-child(1) a{transition-delay:.22s,.22s,.22s}
.menu-overlay.open .overlay-links li:nth-child(2) a{transition-delay:.29s,.29s,.29s}
.menu-overlay.open .overlay-links li:nth-child(3) a{transition-delay:.36s,.36s,.36s}
.menu-overlay.open .overlay-links li:nth-child(4) a{transition-delay:.43s,.43s,.43s}
.menu-overlay.open .overlay-links li:nth-child(5) a{transition-delay:.5s,.5s,.5s}
.menu-overlay.open .overlay-links li:nth-child(6) a{transition-delay:.57s,.57s,.57s}
.overlay-links li a::before{content:'';position:absolute;left:-1.6rem;top:50%;width:.9rem;height:1px;background:var(--brass);opacity:0;transform:scaleX(0);transform-origin:right;transition:opacity .4s,transform .5s cubic-bezier(.25,.46,.45,.94)}
.overlay-links li a:hover{color:var(--brass-lt)}
.overlay-links li a:hover::before{opacity:1;transform:scaleX(1)}
.overlay-links li a.active{color:var(--brass-lt)}
.overlay-links li a.active::before{opacity:1;transform:scaleX(1)}
.ol-reserve{font-family:'Raleway',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);text-decoration:none;border:1px solid var(--brass);padding:1.05rem 1.9rem;align-self:flex-start;display:inline-flex;align-items:center;gap:.9rem;opacity:0;transform:translateY(25px);transition:opacity .55s ease .68s,transform .65s cubic-bezier(.25,.46,.45,.94) .68s,background .45s,color .45s}
.menu-overlay.open .ol-reserve{opacity:1;transform:translateY(0)}
.ol-reserve:hover{background:var(--brass);color:var(--g1)}
.ol-reserve .ar{transition:transform .4s}
.ol-reserve:hover .ar{transform:translateX(4px)}
body.menu-open{overflow:hidden}

.page-hero{padding:10rem 2rem 6rem;background:var(--g3);text-align:center;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(196,162,101,.06) 0%,transparent 50%);pointer-events:none}
.page-hero-inner{max-width:760px;margin:0 auto;position:relative;z-index:1}
.page-hero-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:400;font-style:italic;color:var(--cream);margin-bottom:1rem}
.page-hero-sub{font-size:1.1rem;font-weight:300;font-style:italic;color:var(--warm);line-height:1.7}

.hero{min-height:100vh;background:var(--g3);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8rem 2rem 5rem;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:-5%;width:110%;height:110%;background-size:cover;background-position:center 30%;background-repeat:no-repeat;will-change:transform;animation:kenburns 25s ease-in-out infinite alternate}
@keyframes kenburns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.06) translate(-1%,-1%)}}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,26,19,.72) 0%,rgba(11,26,19,.5) 40%,rgba(11,26,19,.8) 100%),radial-gradient(ellipse at 25% 40%,rgba(196,162,101,.08) 0%,transparent 55%);pointer-events:none;z-index:1}
.hc{position:relative;z-index:2}
.hero-greeting{font-size:1.15rem;font-weight:300;font-style:italic;color:var(--warm);margin-bottom:1rem;opacity:0;transform:translateY(24px)}
.hl{font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--brass);margin-bottom:2.5rem;opacity:0;transform:translateY(24px)}
.hero h1{font-size:clamp(2.8rem,6vw,4.5rem);font-weight:300;color:var(--cream);line-height:1.15;opacity:0;transform:translateY(24px)}
.hero h1 em{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;color:var(--brass-lt);display:block}
.ht{font-size:1.2rem;font-weight:300;font-style:italic;color:var(--warm);margin-top:2.5rem;line-height:1.6;opacity:0;transform:translateY(24px)}
.hb{display:inline-block;margin-top:4rem;font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass);padding:1.1rem 3.2rem;text-decoration:none;transition:all .5s cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateY(24px);cursor:pointer;position:relative;overflow:hidden}
.hb::before{content:'';position:absolute;inset:0;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.hb:hover{color:var(--g1);box-shadow:0 0 40px rgba(196,162,101,.18)}
.hb:hover::before{transform:scaleX(1)}
.hb span{position:relative;z-index:1}
.hero-entrance .hero-greeting{animation:cinematic 1.4s cubic-bezier(.16,1,.3,1) .4s forwards}
.hero-entrance .hl{animation:cinematic 1.4s cubic-bezier(.16,1,.3,1) .7s forwards}
.hero-entrance h1{animation:cinematic 1.4s cubic-bezier(.16,1,.3,1) 1s forwards}
.hero-entrance .ht{animation:cinematic 1.4s cubic-bezier(.16,1,.3,1) 1.4s forwards}
.hero-entrance .hb{animation:cinematic 1.4s cubic-bezier(.16,1,.3,1) 1.8s forwards}
@keyframes cinematic{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hs{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);z-index:2;opacity:0;animation:cinematic 1.2s cubic-bezier(.16,1,.3,1) 2.4s forwards}
.hsl{width:1px;height:45px;background:linear-gradient(to bottom,var(--brass),transparent);animation:sp 2.8s ease-in-out infinite}
@keyframes sp{0%,100%{opacity:.3;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}
.hero-season{font-family:'Raleway',sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--brass);opacity:.7;margin-bottom:1.5rem;display:inline-block;border:1px solid rgba(196,162,101,.25);padding:.4rem 1.2rem;border-radius:1px}

.story{padding:8rem 2rem;background:var(--g2)}
.si{max-width:760px;margin:0 auto}
.scene-img{width:100%;max-width:760px;margin:3.5rem auto 0;position:relative;overflow:hidden;border-radius:2px}
.scene-img img{width:100%;display:block;height:360px;object-fit:cover;object-position:center;filter:brightness(.88) saturate(.95);transition:transform 8s cubic-bezier(.25,.46,.45,.94),filter 1.5s}
.scene-img:hover img{transform:scale(1.03);filter:brightness(.92) saturate(1)}
.scene-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 55%,var(--g2) 100%);pointer-events:none}
.sqm{display:block;font-family:'Playfair Display',Georgia,serif;font-size:3.5rem;color:var(--brass);line-height:1;margin-bottom:1rem}
.sq{font-size:clamp(1.4rem,2.8vw,1.9rem);font-weight:300;font-style:italic;color:var(--cream);line-height:1.6;margin-bottom:3rem}
.sdiv{width:60px;height:2px;background:var(--brass);margin-bottom:3rem}
.sbody{font-size:1.1rem;font-weight:300;color:var(--warm);line-height:2}
.sbody p+p{margin-top:1.8rem}
.sclose{font-family:'Playfair Display',Georgia,serif;font-size:1.2rem;font-weight:400;font-style:italic;color:var(--lt);margin-top:3rem}

.menu{padding:8rem 2rem;background:var(--g1)}
.menu-inner{max-width:880px;margin:0 auto;text-align:center}
.menu-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:400;color:var(--cream);margin-bottom:1rem}
.menu-sub{font-size:1.08rem;font-style:italic;font-weight:300;color:var(--warm);max-width:520px;margin:0 auto 5rem;line-height:1.7}
.mc{margin-bottom:3.5rem;text-align:left}
.mcl{font-family:'Raleway',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-lt);padding-bottom:1rem;border-bottom:1px solid rgba(196,162,101,.3);margin-bottom:1.8rem}
.mi{margin-bottom:0;padding:1.2rem 1.4rem;border-bottom:1px solid rgba(196,162,101,.06);cursor:default;transition:background .5s cubic-bezier(.25,.46,.45,.94),padding .5s cubic-bezier(.25,.46,.45,.94),box-shadow .5s;border-radius:2px;position:relative}
.mi:last-child{border-bottom:none}
.mi:hover,.mi.open{background:rgba(196,162,101,.04);padding-left:1.8rem;box-shadow:inset 0 0 30px rgba(196,162,101,.02)}
.mi-glow{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,transparent,var(--brass),transparent);opacity:0;transition:opacity .5s;border-radius:1px}
.mi:hover .mi-glow,.mi.open .mi-glow{opacity:.7}
.mn{font-size:1.35rem;font-weight:500;color:var(--cream);margin-bottom:.2rem;transition:color .4s,letter-spacing .6s}
.mi:hover .mn,.mi.open .mn{color:var(--brass-lt);letter-spacing:.02em}
.md{font-size:.98rem;font-weight:300;font-style:italic;color:var(--warm);max-height:0;overflow:hidden;opacity:0;transition:max-height .6s cubic-bezier(.25,.46,.45,.94),opacity .5s,margin .5s}
.mi:hover .md,.mi.open .md{max-height:3rem;opacity:1;margin-top:.2rem}
.mno{font-size:.95rem;font-style:italic;font-weight:300;color:var(--muted);text-align:center;margin-top:3rem}
.menu-photo{width:100%;max-width:880px;margin:3rem auto 0;position:relative;overflow:hidden;border-radius:2px;height:280px}
.menu-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%;filter:brightness(.85) saturate(.9)}
.menu-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,var(--g1) 100%);pointer-events:none}

.bar-section{position:relative;height:400px;overflow:hidden}
.bar-section img{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.7) saturate(.9)}
.bar-section::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,var(--g1) 0%,transparent 25%,transparent 75%,var(--g2) 100%);pointer-events:none}

.wine{padding:8rem 2rem;background:var(--g2);position:relative;overflow:hidden}
.wine::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 30%,rgba(196,162,101,.04) 0%,transparent 50%);pointer-events:none}
.wine-inner{max-width:960px;margin:0 auto;position:relative;z-index:1}
.wine-header{text-align:center;margin-bottom:5rem}
.wine-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;font-style:italic;color:var(--cream);margin-bottom:1rem}
.wine-sub{font-size:1.05rem;font-weight:300;font-style:italic;color:var(--warm);max-width:520px;margin:0 auto;line-height:1.7}
.wine-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.wine-col{display:flex;flex-direction:column;gap:2.5rem}
.wc{border-left:2px solid rgba(196,162,101,.2);padding-left:1.5rem}
.wc-label{font-family:'Raleway',sans-serif;font-size:.65rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--brass-lt);margin-bottom:1.2rem}
.wi{padding:.7rem 0;border-bottom:1px solid rgba(196,162,101,.05)}
.wi:last-child{border-bottom:none}
.wi-name{font-size:1.15rem;font-weight:500;color:var(--cream);margin-bottom:.15rem}
.wi-detail{font-family:'Raleway',sans-serif;font-size:.68rem;font-weight:400;letter-spacing:.08em;color:var(--brass);margin-bottom:.3rem}
.wi-note{font-size:.92rem;font-weight:300;font-style:italic;color:var(--warm);line-height:1.6}
.wine-img{position:relative;overflow:hidden;border-radius:2px;margin-top:2rem;height:320px}
.wine-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(.9)}
.wine-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,var(--g2) 100%);pointer-events:none}
.wine-note{font-size:.92rem;font-style:italic;font-weight:300;color:var(--muted);text-align:center;margin-top:3rem}

.section-depth{opacity:0;transform:translateY(40px) scale(.99);transition:opacity 1.2s cubic-bezier(.25,.46,.45,.94),transform 1.2s cubic-bezier(.25,.46,.45,.94)}
.section-depth.vis{opacity:1;transform:translateY(0) scale(1)}

.res{padding:8rem 2rem;background:var(--g3);text-align:center;position:relative;overflow:hidden}
.res::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(196,162,101,.05) 0%,transparent 60%);pointer-events:none}
.ri{max-width:720px;margin:0 auto;position:relative;z-index:1}
.rt{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;font-style:italic;color:var(--cream);margin-bottom:1.2rem}
.rb{font-size:1.08rem;font-weight:300;font-style:italic;color:var(--warm);line-height:1.8;margin-bottom:3.5rem}
.res-book{position:relative;max-width:600px;margin:0 auto 2.5rem;padding:3rem 3rem 2.5rem;background:linear-gradient(135deg,rgba(196,162,101,.04) 0%,rgba(255,255,255,.02) 50%,rgba(196,162,101,.04) 100%);border:1px solid rgba(196,162,101,.18);border-radius:3px;box-shadow:0 2px 40px rgba(0,0,0,.2),inset 0 1px 0 rgba(196,162,101,.08)}
.res-book::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(to right,rgba(196,162,101,.2),transparent);border-radius:3px 0 0 3px}
.res-book::after{content:'';position:absolute;inset:8px;border:1px solid rgba(196,162,101,.08);border-radius:2px;pointer-events:none}
.res-book-orn{text-align:center;margin-bottom:1.8rem;font-family:'Playfair Display',Georgia,serif;font-size:1.6rem;color:var(--brass);opacity:.4;letter-spacing:.3em}
.res-widget{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.2rem}
.res-field{display:flex;flex-direction:column;text-align:left}
.res-field label{font-family:'Raleway',sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin-bottom:.6rem}
.res-field select,.res-field input{
font-family:'Cormorant Garamond',Georgia,serif;font-size:1.05rem;font-weight:400;
color:var(--cream);background:rgba(255,255,255,.03);
border:1px solid rgba(196,162,101,.2);padding:.9rem 1rem;
appearance:none;-webkit-appearance:none;border-radius:2px;
transition:border-color .4s,background .4s,box-shadow .4s;cursor:pointer;
width:100%;
}
.res-field select:hover,.res-field input:hover,.res-field select:focus,.res-field input:focus{
border-color:var(--brass);background:rgba(196,162,101,.05);outline:none;box-shadow:0 0 20px rgba(196,162,101,.06);
}
.res-field select{
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23C4A265' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
background-repeat:no-repeat;background-position:right 1rem center;background-size:10px 6px;
padding-right:2.5rem;
}
.res-field select option{background:var(--g2);color:var(--cream)}
.res-field input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(.7) sepia(.5) hue-rotate(10deg)}
.rc{display:inline-block;font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--g1);background:var(--brass);padding:1.1rem 3.5rem;text-decoration:none;transition:all .5s cubic-bezier(.25,.46,.45,.94);border:none;cursor:pointer;margin-top:1.5rem;position:relative;overflow:hidden}
.rc::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:translateX(-100%);transition:transform .6s}
.rc:hover{background:var(--brass-lt);box-shadow:0 0 40px rgba(196,162,101,.2)}
.rc:hover::before{transform:translateX(100%)}
.res-note{font-size:.88rem;font-style:italic;font-weight:300;color:var(--muted);margin-top:1.8rem}

.inf{padding:7rem 2rem;background:var(--g1)}
.ig{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;gap:0 3rem;text-align:center}
.idv{background:rgba(196,162,101,.12);width:1px;align-self:stretch}
.ib .sl{margin-bottom:1.5rem}
.ip{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:400;color:var(--cream);margin-bottom:.8rem;line-height:1.4}
.is{font-size:1rem;font-weight:300;font-style:italic;color:var(--warm);line-height:1.7}
.il{display:inline-block;margin-top:1rem;font-family:'Raleway',sans-serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--brass);text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:2px;transition:all .4s;cursor:pointer}
.il:hover{color:var(--brass-lt);border-color:var(--brass-lt)}

.pol{padding:8rem 2rem;background:var(--g4)}
.pol-i{max-width:1000px;margin:0 auto}
.pol-h{text-align:center;margin-bottom:5rem}
.pol-t{font-family:'Playfair Display',Georgia,serif;font-size:2.2rem;font-weight:400;color:var(--cream);margin-bottom:.6rem}
.pol-s{font-size:1.05rem;font-style:italic;font-weight:300;color:var(--warm)}
.pg{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.pc{background:rgba(255,255,255,.03);border-left:3px solid var(--brass);padding:2.5rem;transition:background .5s,box-shadow .5s,transform .5s}
.pc:hover{background:rgba(255,255,255,.06);box-shadow:0 4px 30px rgba(0,0,0,.15);transform:translateY(-2px)}
.pc h3{font-size:1.2rem;font-weight:500;color:var(--cream);margin-bottom:1rem}
.pc p{font-size:.95rem;font-weight:300;color:var(--warm);line-height:1.85}
.pc ul{list-style:none;padding:0;margin-top:.4rem}
.pc ul li{font-size:.95rem;font-weight:300;color:var(--warm);line-height:1.85;padding-left:1.2rem;position:relative}
.pc ul li::before{content:'·';position:absolute;left:0;color:var(--brass);font-weight:700;font-size:1.3rem;line-height:1.5}
.pf{font-size:.88rem;font-style:italic;font-weight:300;color:var(--muted);margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(196,162,101,.12)}

.pd{padding:8rem 2rem;background:var(--g2);text-align:center;position:relative;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}
.pd::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(18,42,31,.88) 0%,rgba(18,42,31,.78) 50%,rgba(18,42,31,.92) 100%);pointer-events:none}
.pd-i{max-width:680px;margin:0 auto;position:relative;z-index:1}
.pd-t{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:400;font-style:italic;color:var(--cream);margin-bottom:1.8rem}
.pd-b{font-size:1.08rem;font-weight:300;font-style:italic;color:var(--warm);line-height:1.8;margin-bottom:1.8rem}
.pd-d{font-size:1.02rem;font-weight:300;color:var(--lt);line-height:1.85;margin-bottom:3rem}
.pd-c{display:inline-block;font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass);padding:1.1rem 2.8rem;text-decoration:none;transition:all .5s cubic-bezier(.25,.46,.45,.94);cursor:pointer;position:relative;overflow:hidden}
.pd-c::before{content:'';position:absolute;inset:0;background:var(--brass);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.pd-c:hover{color:var(--g1);box-shadow:0 0 35px rgba(196,162,101,.15)}
.pd-c:hover::before{transform:scaleX(1)}
.pd-c span{position:relative;z-index:1}

.team-cinema{position:relative;background:var(--g1);overflow:hidden}
.team-cinema::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(36,61,49,.6) 0%,transparent 55%),radial-gradient(ellipse at 50% 100%,rgba(11,26,19,.85) 0%,transparent 50%);pointer-events:none;z-index:1}
.team-cinema::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(11,26,19,.5) 100%);pointer-events:none;z-index:1}

.kaizen-panel{position:relative;min-height:560px;display:flex;align-items:center;justify-content:center;padding:8rem 2rem;overflow:hidden;border-bottom:1px solid rgba(196,162,101,.1)}
.kp-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.32) saturate(.7) contrast(1.05);transform:scale(1.04);transition:transform 1.6s ease,filter 1.4s ease}
.kaizen-panel.vis .kp-bg{transform:scale(1)}
.kp-veil{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(11,26,19,.55) 0%,rgba(11,26,19,.85) 70%,rgba(11,26,19,.95) 100%),linear-gradient(to bottom,rgba(18,42,31,.4),rgba(11,26,19,.6))}
.kp-inner{position:relative;z-index:2;max-width:720px;text-align:center;padding:0 1rem}
.kaizen-eyebrow{font-family:'Raleway',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--brass);display:flex;align-items:center;justify-content:center;gap:1.1rem;margin-bottom:2rem}
.kaizen-eyebrow::before,.kaizen-eyebrow::after{content:'';width:42px;height:1px;background:linear-gradient(to right,transparent,rgba(196,162,101,.7),transparent)}
.kaizen-mark{margin-bottom:2rem}
.kaizen-mark .kr{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:400;color:var(--cream);letter-spacing:.03em;line-height:1;text-shadow:0 0 40px rgba(196,162,101,.25),0 4px 14px rgba(0,0,0,.5)}
.kaizen-body{font-family:'Cormorant Garamond',serif;font-size:clamp(1.1rem,1.5vw,1.32rem);font-weight:300;line-height:1.95;color:var(--warm)}
.kaizen-body em{font-style:italic;color:var(--brass-lt);font-weight:400}
.kaizen-rule{width:80px;height:1px;background:linear-gradient(to right,transparent,var(--brass),transparent);margin:2.5rem auto 0;opacity:.85}

.team-stage{position:relative;z-index:2;max-width:1040px;margin:0 auto;padding:6rem 2rem 7rem}

.chapter-eyebrow{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin:4.5rem auto 3.2rem;max-width:520px}
.chapter-eyebrow:first-child{margin-top:1rem}
.ce-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(196,162,101,.5),transparent)}
.ce-label{font-family:'Raleway',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--brass);white-space:nowrap}

.profile{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:center;padding:1rem 0}
.profile-right{grid-template-columns:1.2fr 1fr}
.profile-portrait{display:flex;justify-content:center}
.profile-right .profile-portrait{order:2}
.profile-text{text-align:left}
.profile-right .profile-text{order:1}
.profile .team-name{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,3.4vw,2.8rem);font-weight:400;color:var(--cream);margin-bottom:.4rem}
.profile .team-role{font-family:'Raleway',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin-bottom:2rem}
.profile-quote{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(1.35rem,2.1vw,1.85rem);font-weight:400;color:var(--brass-lt);line-height:1.4;margin:0 0 2.2rem;padding:0 0 0 1.6rem;border-left:1px solid rgba(196,162,101,.45);position:relative}
.profile-quote .pq-mark{font-family:'Playfair Display',Georgia,serif;font-size:3.2rem;line-height:.6;color:var(--brass);opacity:.55;position:absolute;left:.4rem;top:.6rem}
.profile .team-bio{max-width:none;margin:0;font-size:1.05rem;line-height:1.9}
.profile .team-bio p+p{margin-top:1.3rem}

.connector-moment{display:flex;align-items:center;justify-content:center;gap:1.4rem;max-width:560px;margin:1rem auto;padding:1.5rem 0}
.cm-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(196,162,101,.55),transparent)}
.cm-symbol{width:74px;height:38px;flex-shrink:0}
.cm-symbol svg{display:block;width:100%;height:100%;filter:drop-shadow(0 0 10px rgba(196,162,101,.25))}
.cm-amp{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.6rem;color:var(--brass-lt);line-height:1;flex-shrink:0}
.cm-est{font-family:'Raleway',sans-serif;font-size:.55rem;letter-spacing:.4em;text-transform:uppercase;color:var(--brass);opacity:.7;flex-shrink:0}

/* Vintage Middleburg: square oil-painting frames with carved gilt */
.portrait-frame{width:260px;padding-top:0}
.frame-badge{display:none}
.frame-flourish{display:none}

.team-avatar{width:240px;height:240px;border-radius:2px;background:radial-gradient(ellipse at 50% 28%,#2a4a3b 0%,#16291f 55%,#0a1a13 100%);box-shadow:
  /* deep inner shadow vignette like old varnish */
  inset 0 6px 20px rgba(0,0,0,.55),
  inset 0 -10px 30px rgba(0,0,0,.6),
  inset 0 2px 4px rgba(0,0,0,.4),
  /* dark inner liner */
  0 0 0 2px #0a1812,
  /* inner gold fillet */
  0 0 0 3px #B89352,
  0 0 0 4px #8a6a30,
  /* dark linen mat */
  0 0 0 5px #1a1208,
  /* main carved gilt frame, varied tones for old patina */
  0 0 0 9px #C4A265,
  0 0 0 12px #9C7F3D,
  0 0 0 15px #C4A265,
  0 0 0 18px #7d6230,
  0 0 0 22px #B89352,
  /* outer dark edge */
  0 0 0 24px #1a1208,
  0 0 0 25px rgba(196,162,101,.4),
  /* drop shadow as if hung on wall */
  0 30px 50px rgba(0,0,0,.55),
  0 12px 22px rgba(0,0,0,.4)}
.team-avatar::before{content:'';position:absolute;inset:0;border-radius:2px;border:none;background:
  /* aged varnish glow + corner darkening like museum oil */
  radial-gradient(ellipse at 50% 35%,transparent 30%,rgba(20,15,5,.35) 100%),
  linear-gradient(135deg,rgba(255,220,150,.06),transparent 40%);
  pointer-events:none;z-index:2;mix-blend-mode:multiply}
.team-avatar::after{content:'';position:absolute;inset:0;border-radius:2px;background:radial-gradient(ellipse at 30% 18%,rgba(255,235,180,.12),transparent 60%);pointer-events:none;z-index:2}
.team-avatar-img{position:absolute;inset:0;width:100%;height:100%;border-radius:2px;object-fit:cover;object-position:center 25%;filter:saturate(.78) contrast(1.12) brightness(.88) sepia(.18);z-index:0}
.team-avatar-letter{font-size:5.5rem;font-family:'Playfair Display',Georgia,serif;font-style:italic;color:#D4B97A;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.tg-mono span{font-size:7rem}

/* Engraved brass nameplate */
.frame-eyebrow{margin-top:1.6rem;display:inline-flex;font-family:'Cormorant SC','Cormorant Garamond',serif;font-style:normal;font-size:.62rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:#1B3A2D;background:linear-gradient(180deg,#E2C988 0%,#C4A265 38%,#9C7F3D 70%,#C4A265 100%);padding:.42rem 1.4rem .38rem;gap:0;border:1px solid rgba(0,0,0,.35);border-radius:1px;box-shadow:0 2px 5px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,245,220,.55),inset 0 -1px 0 rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,245,220,.18);text-shadow:0 1px 0 rgba(255,245,220,.4),0 -1px 0 rgba(0,0,0,.25);position:relative;align-items:center;justify-content:center}
.frame-eyebrow::before{content:'';position:absolute;left:6px;top:50%;width:3px;height:3px;border-radius:50%;background:#5a4720;box-shadow:0 0 0 1px rgba(255,245,220,.35);transform:translateY(-50%)}
.frame-eyebrow::after{content:'';position:absolute;right:6px;top:50%;width:3px;height:3px;border-radius:50%;background:#5a4720;box-shadow:0 0 0 1px rgba(255,245,220,.35);transform:translateY(-50%)}
.frame-eyebrow span{position:relative}

.portrait-link:hover .team-avatar,
.tg-link:hover .team-avatar{box-shadow:
  inset 0 6px 20px rgba(0,0,0,.55),
  inset 0 -10px 30px rgba(0,0,0,.55),
  inset 0 2px 4px rgba(0,0,0,.4),
  0 0 0 2px #0a1812,
  0 0 0 3px #C4A265,
  0 0 0 4px #8a6a30,
  0 0 0 5px #1a1208,
  0 0 0 9px #D4B97A,
  0 0 0 12px #9C7F3D,
  0 0 0 15px #D4B97A,
  0 0 0 18px #7d6230,
  0 0 0 22px #C4A265,
  0 0 0 24px #1a1208,
  0 0 0 25px rgba(212,185,122,.55),
  0 36px 60px rgba(0,0,0,.6),
  0 14px 26px rgba(0,0,0,.45)}
.portrait-link:hover .team-avatar-img,
.tg-link:hover .team-avatar-img{filter:saturate(.85) contrast(1.14) brightness(.92) sepia(.15)}

@media (max-width:980px){
  .portrait-frame{width:220px}
  .team-avatar{width:200px;height:200px}
}

.team-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:3.5rem 3rem;max-width:1200px;margin:0 auto;padding:2rem 2rem 4rem;position:relative;z-index:2}
.tg-card{display:flex;flex-direction:column;align-items:center;text-align:center}
.tg-link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;width:100%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.tg-link:hover{transform:translateY(-6px)}
.tg-frame{transform:scale(.92);transform-origin:center top;transition:filter .45s}
.tg-link:hover .tg-frame{filter:drop-shadow(0 0 24px rgba(196,162,101,.35))}
.tg-meta{margin-top:1.6rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.tg-name{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(1.6rem,2.4vw,2.1rem);color:var(--cream);margin:0;line-height:1.05;letter-spacing:.005em;text-shadow:0 0 30px rgba(196,162,101,.18)}
.tg-role{font-family:'Raleway',sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--brass)}
.tg-cta{margin-top:1.4rem;opacity:.85;transition:opacity .35s,gap .35s}
.tg-link:hover .tg-cta{opacity:1}
.tg-mono{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 32%,#1f3a2d 0%,#142a20 60%,#0d1f17 100%)}
.tg-mono span{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:400;font-size:5.4rem;color:var(--brass-lt);text-shadow:0 0 30px rgba(196,162,101,.4);line-height:1}
@media (max-width:980px){.team-gallery{grid-template-columns:1fr;gap:4rem;max-width:480px}.tg-frame{transform:scale(1)}}

.bio-page{position:relative;background:var(--g1);padding:9rem 2rem 6rem;max-width:920px;margin:0 auto;overflow:hidden}
.bio-back{max-width:920px;margin:0 auto 2.5rem}
.bio-back-link{font-family:'Raleway',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);text-decoration:none;display:inline-flex;align-items:center;gap:.7rem;transition:color .35s,gap .35s}
.bio-back-link:hover{color:var(--brass-lt);gap:1rem}
.bio-back-link .ar{transition:transform .35s}
.bio-back-link:hover .ar{transform:translateX(-3px)}
.bio-hero{text-align:center;margin-bottom:4rem}
.bio-hero-eyebrow{font-family:'Raleway',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--brass);margin-bottom:1.4rem;display:flex;align-items:center;justify-content:center;gap:1rem}
.bio-hero-eyebrow::before,.bio-hero-eyebrow::after{content:'';width:42px;height:1px;background:linear-gradient(to right,transparent,rgba(196,162,101,.7),transparent)}
.bio-hero-name{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(2.6rem,5.5vw,4.4rem);font-weight:400;color:var(--cream);margin:0 0 .6rem;line-height:1;text-shadow:0 0 40px rgba(196,162,101,.2)}
.bio-hero-role{font-family:'Raleway',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--brass)}
.bio-hero-rule{width:80px;height:1px;background:linear-gradient(to right,transparent,var(--brass),transparent);margin:2rem auto 0;opacity:.85}
.bio-portrait{display:flex;justify-content:center;margin:0 auto 4rem}
.bio-frame{position:relative;width:280px;text-align:center}
.bio-frame-inner{position:relative;width:280px;height:280px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 32%,#1f3a2d 0%,#142a20 60%,#0d1f17 100%);box-shadow:0 0 0 1px rgba(212,185,122,.85),0 0 0 6px var(--g1),0 0 0 7px rgba(196,162,101,.7),0 0 0 11px rgba(11,26,19,.7),0 0 0 12px rgba(196,162,101,.28),0 0 60px rgba(196,162,101,.22),0 24px 56px rgba(0,0,0,.5),inset 0 2px 6px rgba(212,185,122,.18),inset 0 -10px 24px rgba(0,0,0,.45)}
.bio-frame-inner::before{content:'';position:absolute;inset:14px;border-radius:50%;border:1px dashed rgba(196,162,101,.4);pointer-events:none;z-index:2}
.bio-frame-inner::after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 20%,rgba(212,185,122,.18),transparent 50%);pointer-events:none;z-index:2}
.bio-frame-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.92) contrast(1.04) brightness(.96)}
.bio-frame-caption{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1rem;color:var(--brass-lt);letter-spacing:.06em;margin-top:1.4rem}
.bio-frame-caption span{position:relative;padding:0 1.2rem}
.bio-frame-caption span::before,.bio-frame-caption span::after{content:'';position:absolute;top:50%;width:30px;height:1px;background:linear-gradient(to right,transparent,rgba(196,162,101,.55),transparent)}
.bio-frame-caption span::before{right:100%}.bio-frame-caption span::after{left:100%}
.bio-quote{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(1.3rem,2.1vw,1.85rem);font-weight:400;color:var(--brass-lt);line-height:1.45;max-width:680px;margin:0 auto 5rem;padding:2rem 1rem;text-align:center;position:relative;border-top:1px solid rgba(196,162,101,.35);border-bottom:1px solid rgba(196,162,101,.35)}
.bio-quote .bq-mark{font-family:'Playfair Display',Georgia,serif;font-size:3.5rem;line-height:1;color:var(--brass);opacity:.55;display:block;margin-bottom:.4rem}
.bio-quote .bq-attr{font-family:'Raleway',sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);font-style:normal;margin-top:1.4rem;opacity:.85}
.bio-body{max-width:680px;margin:0 auto}
.bio-chapter{margin-bottom:3.5rem}
.bio-chapter:last-child{margin-bottom:0}
.bio-chapter .chapter-eyebrow{margin:0 auto 2rem}
.bio-chapter p{font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:300;line-height:1.95;color:var(--warm);margin:0}
.bio-chapter p+p{margin-top:1.3rem}
.bio-chapter p em{font-style:italic;color:var(--brass-lt);font-weight:400}
.bio-cta{margin-top:5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}
.bio-cta .tcta-eyebrow{width:100%;max-width:520px}
.bio-back-link-foot{margin-top:.5rem;opacity:.85}

.team-cta{margin-top:6rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2rem}
.tcta-eyebrow{display:flex;align-items:center;justify-content:center;gap:1.4rem;width:100%;max-width:520px}
.tcta-eyebrow .ce-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(196,162,101,.5),transparent)}
.tcta-eyebrow .ce-label{font-family:'Raleway',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--brass);white-space:nowrap}
.team-reserve{font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--brass);text-decoration:none;border:1px solid var(--brass);padding:1.15rem 2.4rem;display:inline-flex;align-items:center;gap:1rem;transition:background .45s,color .45s,box-shadow .45s,transform .45s}
.team-reserve:hover{background:var(--brass);color:var(--g1);box-shadow:0 0 30px rgba(196,162,101,.25);transform:translateY(-2px)}
.team-reserve .ar{transition:transform .4s}
.team-reserve:hover .ar{transform:translateX(5px)}
.portrait-frame{position:relative;width:240px;margin:0 auto 2rem;padding-top:2rem}
.frame-badge{position:absolute;top:0;left:50%;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:3;background:radial-gradient(circle at 30% 25%,#3a5a48 0%,#1B3A2D 55%,#0B1A13 100%);box-shadow:0 0 0 1px rgba(196,162,101,.85),0 0 0 4px rgba(11,26,19,.85),0 0 0 5px rgba(196,162,101,.35),0 0 30px rgba(196,162,101,.28),0 6px 18px rgba(0,0,0,.45),inset 0 1px 2px rgba(212,185,122,.45),inset 0 -2px 4px rgba(0,0,0,.4)}
.frame-badge::before{content:'';position:absolute;inset:5px;border-radius:50%;border:1px solid rgba(196,162,101,.45);background:radial-gradient(circle at 50% 30%,rgba(212,185,122,.12),transparent 70%)}
.frame-badge svg{width:26px;height:26px;display:block;position:relative;z-index:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
.team-avatar{width:180px;height:180px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 32%,#1f3a2d 0%,#142a20 60%,#0d1f17 100%);position:relative;overflow:hidden;box-shadow:0 0 0 1px rgba(212,185,122,.85),0 0 0 5px var(--g1),0 0 0 6px rgba(196,162,101,.65),0 0 0 9px rgba(11,26,19,.7),0 0 0 10px rgba(196,162,101,.22),0 0 45px rgba(196,162,101,.18),0 18px 40px rgba(0,0,0,.4),inset 0 2px 6px rgba(212,185,122,.18),inset 0 -10px 24px rgba(0,0,0,.45)}
.team-avatar::before{content:'';position:absolute;inset:10px;border-radius:50%;border:1px dashed rgba(196,162,101,.38);pointer-events:none}
.team-avatar::after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 20%,rgba(212,185,122,.18),transparent 50%);pointer-events:none}
.team-avatar-letter{font-family:'Playfair Display',Georgia,serif;font-size:4rem;font-weight:400;font-style:italic;color:var(--brass-lt);opacity:.92;position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.5),0 0 24px rgba(196,162,101,.25)}
.team-avatar-img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 28%;filter:saturate(.92) contrast(1.04) brightness(.96);z-index:0}
.portrait-link{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.portrait-link .portrait-frame{transition:transform .55s cubic-bezier(.25,.46,.45,.94)}
.portrait-link:hover .portrait-frame{transform:translateY(-4px)}
.portrait-link:hover .team-avatar{box-shadow:0 0 0 1px rgba(212,185,122,.95),0 0 0 5px var(--g1),0 0 0 6px rgba(196,162,101,.85),0 0 0 9px rgba(11,26,19,.7),0 0 0 10px rgba(196,162,101,.32),0 0 70px rgba(196,162,101,.32),0 22px 50px rgba(0,0,0,.5),inset 0 2px 6px rgba(212,185,122,.22),inset 0 -10px 24px rgba(0,0,0,.45)}
.portrait-link:hover .team-avatar-img{filter:saturate(1) contrast(1.06) brightness(1.02)}
.portrait-cta{display:flex;align-items:center;justify-content:center;gap:.85rem;margin-top:1.4rem;padding:0 .4rem;font-family:'Raleway',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);opacity:.92;transition:color .4s,opacity .4s,letter-spacing .4s}
.portrait-cta .pc-line{flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(196,162,101,.45),transparent);max-width:48px}
.portrait-cta .pc-label{white-space:nowrap}
.portrait-cta .pc-arrow{transition:transform .4s;color:var(--brass-lt)}
.portrait-link:hover .portrait-cta{color:var(--brass-lt);opacity:1;letter-spacing:.36em}
.portrait-link:hover .pc-arrow{transform:translateX(5px)}
.portrait-link:focus-visible{outline:none}
.portrait-link:focus-visible .portrait-cta{color:var(--cream)}
.frame-flourish{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:90px;pointer-events:none;z-index:1}
.frame-flourish-l{left:-8px}
.frame-flourish-r{right:-8px}
.frame-eyebrow{font-family:'Cormorant Garamond',serif;font-size:.95rem;font-style:italic;color:var(--brass-lt);text-align:center;margin-top:1.4rem;letter-spacing:.06em;display:flex;align-items:center;justify-content:center;gap:.8rem}
.frame-eyebrow::before,.frame-eyebrow::after{content:'';width:34px;height:1px;background:linear-gradient(to right,transparent,rgba(196,162,101,.65),transparent)}
.team-name{font-family:'Playfair Display',Georgia,serif;font-size:1.8rem;font-weight:400;color:var(--cream);margin-bottom:.4rem}
.team-role{font-family:'Raleway',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:1.5rem}
.team-bio{font-size:1.02rem;font-weight:300;color:var(--warm);line-height:1.85;max-width:380px;margin:0 auto}
.team-bio p+p{margin-top:1.2rem}

footer{padding:6rem 2rem 3.5rem;background:var(--g1);border-top:1px solid rgba(196,162,101,.08)}
.fi{max-width:1000px;margin:0 auto}
.ft{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:4.5rem}
.fb{font-family:'Raleway',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-bottom:1.2rem}
.ftg{font-size:1.02rem;font-style:italic;font-weight:300;color:var(--warm);line-height:1.7;max-width:320px}
.fc h4{font-family:'Raleway',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:1.2rem}
.fc p,.fc a{font-size:.98rem;font-weight:300;color:var(--warm);line-height:1.75;text-decoration:none;display:block}
.fc a{transition:color .4s;cursor:pointer}.fc a:hover{color:var(--cream)}
.fbot{border-top:1px solid rgba(196,162,101,.06);padding-top:2rem;display:flex;justify-content:space-between;align-items:center}
.fcp{font-family:'Raleway',sans-serif;font-size:.62rem;letter-spacing:.1em;color:rgba(226,220,210,.25)}
.fso{display:flex;gap:1.5rem}
.fso a{font-family:'Raleway',sans-serif;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warm);text-decoration:none;transition:color .4s;cursor:pointer}
.fso a:hover{color:var(--brass)}

@media(max-width:900px){
.overlay-grid{grid-template-columns:1fr}
.overlay-aside{display:none}
.overlay-links{padding:5rem 2rem 3rem 2.5rem;justify-content:flex-start;padding-top:6rem}
.overlay-links li a{font-size:clamp(1.9rem,7vw,2.6rem)}
.overlay-close{top:1rem;right:1.2rem}
.menu-trigger{font-size:.65rem;letter-spacing:.24em}
.ig{grid-template-columns:1fr;gap:3rem}.idv{display:none}
.pg{grid-template-columns:1fr}
.wine-layout{grid-template-columns:1fr}
.kaizen-panel{padding:5.5rem 1.5rem;min-height:480px}
.team-stage{padding:4rem 1.5rem 5rem}
.profile,.profile-right{grid-template-columns:1fr;gap:2.4rem;text-align:center}
.profile-text,.profile-right .profile-text{text-align:center;order:2}
.profile-right .profile-portrait{order:1}
.profile-quote{padding:0;border-left:none;border-top:1px solid rgba(196,162,101,.35);border-bottom:1px solid rgba(196,162,101,.35);padding:1.4rem .6rem;margin:1.5rem auto 2rem;max-width:90%}
.profile-quote .pq-mark{display:none}
.chapter-eyebrow{margin:3rem auto 2.4rem;gap:1rem}
.connector-moment{gap:1rem;padding:1rem 0}
.cm-est{display:none}
.team-cta{margin-top:4rem;gap:1.6rem}
.ft{grid-template-columns:1fr;gap:2.5rem}
.fbot{flex-direction:column;gap:1rem;text-align:center}
.res-widget{grid-template-columns:1fr}
.res-book{padding:2rem 1.5rem 1.5rem}
}
@media(max-width:600px){
.hero{padding:8rem 1.5rem 5rem}
.page-hero{padding:8rem 1.5rem 4rem}
.story,.menu,.res,.pol,.inf,.pd,.wine{padding:5.5rem 1.5rem}
.pc{padding:1.8rem}
#scrollProgress{width:2px}
.scene-img img{height:220px}
.team-avatar{width:140px;height:140px}
.team-avatar-letter{font-size:2.5rem}
}
@media(prefers-reduced-motion:reduce){
.rv{transition:none!important;opacity:1!important;transform:none!important}
.hero-entrance .hero-greeting,.hero-entrance .hl,.hero-entrance h1,.hero-entrance .ht,.hero-entrance .hb,.hs{animation:none!important;opacity:1!important;transform:translateY(0)!important}
.hsl{animation:none!important}
.scene-img img{transition:none!important}
#particles{display:none!important}
.hero-bg{animation:none!important}
.section-depth{opacity:1!important;transform:none!important;transition:none!important}
}
