/* Gilded Atelier: black space, antique gold, ivory reading surfaces; Cormorant Garamond + DM Sans. */
:root{--black:#090909;--ink:#151310;--ivory:#f7f2e8;--paper:#eee6d7;--gold:#c79a3b;--gold-pale:#e7c56d;--gold-deep:#806120;--line:rgba(199,154,59,.34);--muted:#b8ad9d;--red:#e5a7a1;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ivory);font:400 16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.skip-link{background:var(--gold);color:var(--black);left:1rem;padding:.6rem 1rem;position:fixed;top:-5rem;z-index:100}.skip-link:focus{top:1rem}.site-header{border-bottom:1px solid rgba(231,197,109,.17);background:rgba(9,9,9,.96);position:sticky;top:0;z-index:20}.nav-shell{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:auto;max-width:1500px;min-height:86px;padding:9px 4vw}.brand-mark{width:118px}.brand-mark img{height:67px;object-fit:contain;object-position:left center}.main-nav{display:flex;gap:2rem;margin-left:auto}.main-nav a,.nav-member-link,.menu-toggle{color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.main-nav a{padding:.8rem 0;position:relative}.main-nav a:after{background:var(--gold);bottom:.26rem;content:"";height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease);width:100%}.main-nav a:hover,.main-nav a.active,.nav-member-link:hover{color:var(--ivory)}.main-nav a:hover:after,.main-nav a.active:after{transform:scaleX(1)}.nav-member-link{border-left:1px solid var(--line);padding-left:2rem}.nav-member-link span,.text-link span,.service-row a span,.contact-line span{color:var(--gold);font-size:1.15em;margin-left:.3rem}.menu-toggle{background:transparent;border:0;color:var(--ivory);display:none}.eyebrow{color:var(--gold-pale);font-size:.68rem;font-weight:700;letter-spacing:.2em;margin:0 0 1rem;text-transform:uppercase}.hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:calc(100svh - 86px);overflow:hidden;position:relative}.hero-copy{align-self:center;max-width:660px;padding:10vw 7vw}.hero h1,.page-hero h1,.contact-layout h1,.portal-heading h1,.login-panel h1,.not-found h1{font:600 clamp(4rem,8vw,8.5rem)/.82 var(--serif);letter-spacing:-.06em;margin:0}.hero h1 em,.page-hero h1 em,.contact-layout h1 em,.portal-heading h1 em,.login-panel h1 em,.not-found h1 em,h2 em,.large-statement em{color:var(--gold-pale);font-weight:600}.hero-intro{color:var(--muted);font-size:1rem;max-width:410px;margin:2rem 0}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1.6rem}.button{align-items:center;border:1px solid transparent;display:inline-flex;font-size:.7rem;font-weight:700;justify-content:center;letter-spacing:.14em;min-height:48px;padding:0 1.4rem;text-transform:uppercase;transition:background .2s var(--ease),color .2s var(--ease),transform .16s var(--ease)}.button:active{transform:scale(.97)}.button-gold{background:var(--gold);color:var(--black)}.button-gold:hover{background:var(--gold-pale)}.button-outline{border-color:var(--gold);color:var(--gold-pale)}.button-outline:hover{background:var(--gold);color:var(--black)}.text-link{border-bottom:1px solid rgba(231,197,109,.4);color:var(--ivory);font-size:.72rem;font-weight:700;letter-spacing:.1em;padding-bottom:.45rem;text-transform:uppercase;transition:border-color .2s var(--ease),color .2s var(--ease)}.text-link:hover{border-color:var(--gold);color:var(--gold-pale)}.hero-art{background:radial-gradient(circle at 52% 45%,#2c271c 0, #090909 63%);min-height:560px;position:relative}.hero-art:before{background:linear-gradient(90deg,var(--black),transparent 16%,transparent 84%,var(--black));content:"";inset:0;position:absolute;z-index:1}.hero-art img{filter:drop-shadow(0 0 45px rgba(199,154,59,.18));height:100%;object-fit:contain;padding:10%;position:relative;width:100%;z-index:2}.hero-orbit{border:1px solid rgba(231,197,109,.23);border-radius:50%;height:68%;left:16%;position:absolute;top:16%;transform:rotate(-18deg);width:68%}.hero-side-note{bottom:4vw;color:var(--muted);font:600 .65rem/1.8 var(--sans);letter-spacing:.17em;position:absolute;right:3vw;text-align:right;text-transform:uppercase;z-index:3}.intro-band{background:var(--ivory);color:var(--ink);padding:9vw 16vw 8vw}.intro-band .eyebrow,.page-hero-services .eyebrow{color:var(--gold-deep)}.large-statement{font:600 clamp(2.7rem,5vw,5rem)/.94 var(--serif);letter-spacing:-.045em;margin:0 0 2rem;max-width:900px}.intro-band .text-link{color:var(--ink)}.service-promenade{display:grid;grid-template-columns:1fr .85fr 1fr}.promenade-card{min-height:620px;padding:5vw;position:relative}.promenade-card h2,.split-note h2,.story-layout h2,.membership-invitation h2{font:600 clamp(2.6rem,4vw,4.7rem)/.9 var(--serif);letter-spacing:-.05em;margin:0 0 2rem}.promenade-card .number{color:var(--gold);font:600 1rem var(--serif);position:absolute;right:2rem;top:2rem}.promenade-card-dark{background:#181510}.promenade-card-dark .text-link{bottom:4rem;position:absolute}.promenade-card-image{overflow:hidden;padding:0}.promenade-card-image img{height:100%;object-fit:cover;width:100%}.promenade-card-image .image-wash{background:linear-gradient(0deg,rgba(8,8,8,.75),transparent 50%);inset:0;position:absolute}.promenade-card-image p{bottom:3rem;font:600 2.5rem/.85 var(--serif);left:3rem;margin:0;position:absolute;z-index:2}.promenade-card-ivory{background:var(--paper);color:var(--ink)}.promenade-card-ivory .eyebrow{color:var(--gold-deep)}.promenade-card-ivory .text-link{bottom:4rem;color:var(--ink);position:absolute}.membership-invitation{align-items:end;background:linear-gradient(120deg,#0f0e0b 0,#221d11 100%);display:grid;gap:3rem;grid-template-columns:1.2fr .8fr;padding:10vw 12vw}.membership-invitation>div:last-child{color:var(--muted);max-width:400px}.membership-invitation .button{margin-top:1.6rem}.site-footer{background:#050505;padding:5rem 5vw 2rem}.footer-top{align-items:center;border-bottom:1px solid var(--line);display:grid;gap:2rem;grid-template-columns:auto 1fr auto;padding-bottom:4rem}.footer-crest{height:90px;object-fit:contain;width:90px}.footer-top h2{font:600 2.2rem/.85 var(--serif);letter-spacing:-.045em;margin:0}.footer-contact{display:grid;gap:.25rem;text-align:right}.footer-contact a{color:var(--muted);font-size:.73rem}.footer-contact a:hover{color:var(--gold-pale)}.footer-bottom{color:#6f685c;display:flex;font-size:.63rem;justify-content:space-between;letter-spacing:.09em;padding-top:1.5rem;text-transform:uppercase}.page-hero{align-items:end;display:grid;gap:4rem;grid-template-columns:1.1fr .55fr;min-height:550px;padding:8vw 10vw}.page-hero>p{border-left:1px solid var(--line);color:var(--muted);margin:0 0 1rem;padding-left:2rem}.page-hero-services{background:radial-gradient(circle at 78% 20%,#282111 0,transparent 28%),#0d0c0a}.page-hero-gallery{background:#19140d}.page-hero-about{background:linear-gradient(130deg,#100f0c,#272113)}.service-list{background:var(--ivory);color:var(--ink);padding:2rem 10vw 7vw}.service-row{align-items:center;border-bottom:1px solid rgba(21,19,16,.2);display:grid;gap:2.3rem;grid-template-columns:.25fr 1.15fr 1fr auto;padding:2.8rem 0}.service-row-no{color:var(--gold-deep);font:600 1.4rem var(--serif)}.service-row .eyebrow{color:var(--gold-deep);margin-bottom:.35rem}.service-row h2{font:600 2.25rem/.9 var(--serif);letter-spacing:-.04em;margin:0}.service-row>p{color:#635c51;font-size:.88rem;margin:0}.service-row>a{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.split-note{display:grid;grid-template-columns:.8fr 1.2fr}.split-note-art{align-items:center;background:#16130e;display:flex;justify-content:center;min-height:580px;overflow:hidden}.split-note-art img{filter:drop-shadow(0 0 24px rgba(199,154,59,.15));max-width:65%}.split-note>div:last-child{align-content:center;background:#272012;padding:9vw}.split-note>div:last-child>p:not(.eyebrow){color:var(--muted);max-width:500px}.gallery-grid{background:var(--ivory);color:var(--ink);display:grid;gap:1.5rem;grid-template-columns:1.35fr 1fr;padding:7vw}.gallery-grid figure{margin:0;min-height:360px;overflow:hidden;position:relative}.gallery-grid .gallery-main{grid-row:span 2;min-height:740px}.gallery-grid img{height:100%;object-fit:cover;transition:transform .7s var(--ease);width:100%}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-grid figcaption{background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);bottom:0;color:#fff;display:flex;flex-direction:column;gap:.2rem;left:0;padding:3rem 2rem 1.5rem;position:absolute;right:0}.gallery-grid figcaption span{color:var(--gold-pale);font-size:.65rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.gallery-grid figcaption strong{font:600 2rem/.9 var(--serif)}.gallery-close{background:var(--paper);color:var(--ink);padding:7vw 15vw}.gallery-close .text-link{color:var(--ink)}.story-layout{background:var(--ivory);color:var(--ink);display:grid;grid-template-columns:.7fr 1.3fr}.story-portrait{align-items:center;background:#1a1711;display:flex;justify-content:center;min-height:780px;overflow:hidden}.story-portrait img{filter:drop-shadow(0 0 20px rgba(199,154,59,.2));max-width:70%}.story-layout article{align-content:center;display:grid;padding:10vw}.story-layout article .eyebrow,.future-band .eyebrow{color:var(--gold-deep)}.story-layout article>p:not(.eyebrow){color:#5c554a;font-size:1rem;max-width:590px}.future-band{background:var(--paper);color:var(--ink);padding:9vw 15vw}.contact-layout{align-items:center;background:linear-gradient(145deg,#0b0b0a,#1e190f);display:grid;gap:7vw;grid-template-columns:1fr .8fr;min-height:calc(100svh - 86px);padding:8vw 11vw}.contact-lead{color:var(--muted);max-width:420px}.contact-card{background:var(--ivory);color:var(--ink);display:flex;flex-direction:column;padding:3rem}.contact-card .eyebrow{color:var(--gold-deep)}.contact-phone{font:600 clamp(2rem,4vw,3.3rem)/1 var(--serif);letter-spacing:-.04em;margin-bottom:2.5rem}.contact-line{border-top:1px solid #cfc4b3;font-size:.8rem;padding:1rem 0}.contact-small{color:#756c5d;font-size:.72rem;margin:2rem 0 0}.flash{font-size:.82rem;left:50%;max-width:560px;padding:1rem 1.5rem;position:fixed;text-align:center;top:96px;transform:translateX(-50%);z-index:30}.flash-success{background:#e2c46c;color:var(--black)}.flash-error{background:#4b1f1c;color:#ffe8e5}.portal-page{background:var(--ivory);color:var(--ink)}.portal-page .site-header{background:var(--black)}.portal-kicker{color:var(--gold-pale);font-size:.65rem;font-weight:700;letter-spacing:.17em;margin:0 0 0 auto;text-transform:uppercase}.login-layout{background:var(--ivory);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 86px)}.login-art{align-items:center;background:radial-gradient(circle at 50% 50%,#332a16,#090909 68%);display:flex;justify-content:center;overflow:hidden;position:relative}.login-art img{filter:drop-shadow(0 0 30px rgba(199,154,59,.22));max-width:58%;opacity:.85}.login-art p{bottom:8%;font:600 3.6rem/.82 var(--serif);left:10%;margin:0;position:absolute}.login-panel{align-content:center;display:grid;margin:auto;max-width:530px;padding:8vw}.login-panel h1{font-size:clamp(3.5rem,5vw,5.5rem)}.login-panel>p:not(.eyebrow){color:#665f55;max-width:430px}.form-stack{display:grid;gap:1.2rem;margin:2rem 0}.form-stack label,.profile-form label,.points-form label{display:grid;font-size:.7rem;font-weight:700;gap:.45rem;letter-spacing:.07em;text-transform:uppercase}.form-stack input,.profile-form input,.profile-form textarea,.points-form input,.points-form select{background:#fffdf9;border:1px solid #c9bda9;border-radius:0;color:var(--ink);font-size:.9rem;font-weight:400;letter-spacing:0;min-height:48px;padding:.75rem;text-transform:none}.form-stack input:focus,.profile-form input:focus,.profile-form textarea:focus,.points-form input:focus,.points-form select:focus{border-color:var(--gold);outline:2px solid rgba(199,154,59,.2)}.form-stack .button{justify-self:start;margin-top:.5rem}.form-helper{color:#6f675b;font-size:.72rem}.portal-layout{display:grid;grid-template-columns:270px 1fr;min-height:calc(100svh - 86px)}.portal-sidebar{background:#16130f;color:var(--ivory);padding:5rem 2.5rem}.portal-sidebar .eyebrow{margin-bottom:.3rem}.member-greeting{font:500 1.6rem/.9 var(--serif);margin:0 0 3rem}.member-greeting strong{color:var(--gold-pale);font-style:italic}.portal-sidebar nav{display:grid;gap:.25rem}.portal-sidebar nav a{border-bottom:1px solid rgba(231,197,109,.14);color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:.8rem 0;text-transform:uppercase}.portal-sidebar nav a:hover,.portal-sidebar nav a.active{color:var(--gold-pale)}.portal-content{background:var(--ivory);min-width:0;padding:7vw}.portal-heading{max-width:760px}.portal-heading h1{font-size:clamp(3.6rem,6vw,6.7rem)}.portal-heading>p:not(.eyebrow){color:#6b6358;max-width:570px}.status-grid{display:grid;gap:1.5rem;grid-template-columns:1.05fr .95fr;margin-top:4rem}.loyalty-card{background:linear-gradient(120deg,#14110b,#2f2512);color:var(--gold-pale);min-height:275px;padding:2rem;position:relative}.loyalty-card:after{border:1px solid rgba(231,197,109,.3);content:"";inset:10px;pointer-events:none;position:absolute}.loyalty-card-top{align-items:start;display:flex;font-size:.65rem;font-weight:700;justify-content:space-between;letter-spacing:.17em;position:relative;z-index:1}.loyalty-card-top img{height:64px;object-fit:contain;width:64px}.member-card-number{font:600 2.2rem/1 var(--serif);letter-spacing:.1em;margin:3.8rem 0 1.1rem;position:relative;z-index:1}.loyalty-card>div:last-child{display:flex;font-size:.58rem;font-weight:700;justify-content:space-between;letter-spacing:.12em;position:relative;text-transform:uppercase;z-index:1}.points-card{background:#fffdf8;padding:2rem}.points-card .eyebrow{color:var(--gold-deep)}.points-total{font:600 5rem/.78 var(--serif);letter-spacing:-.06em;margin:1.3rem 0 1rem}.points-card p:not(.eyebrow):not(.points-total):not(.points-caption){font-size:.85rem;margin:0}.tier-track{background:#ded4c5;height:4px;margin:1.6rem 0 .7rem}.tier-track span{background:var(--gold);display:block;height:100%}.points-caption{color:#786f62;font-size:.68rem;margin:0}.portal-section{margin-top:5rem}.section-head{align-items:end;display:flex;gap:2rem;justify-content:space-between;margin-bottom:1.5rem}.section-head h2{font:600 2.5rem/.9 var(--serif);letter-spacing:-.045em;margin:0}.section-head .eyebrow{color:var(--gold-deep);margin-bottom:.4rem}.data-table{border-top:1px solid #cfc5b6}.data-table-head,.data-row{display:grid;grid-template-columns:.35fr 1fr auto;gap:1rem}.data-table-head{color:#7a7163;font-size:.62rem;font-weight:700;letter-spacing:.12em;padding:.8rem 0;text-transform:uppercase}.data-row{border-top:1px solid #ddd4c6;font-size:.82rem;padding:1rem 0}.points-positive{color:#87661d}.points-negative{color:#a75047}.empty-state{background:#fffdf9;color:#6e665b;font-size:.88rem;margin:0;padding:2rem}.profile-form{background:#fffdf8;margin-top:4rem;padding:3rem}.form-grid{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.full-width{grid-column:1/-1}.profile-form textarea{min-height:120px;resize:vertical}.profile-form input:disabled{background:#e9e2d6;color:#736b5e}.care-note{border-left:2px solid var(--gold);margin:2rem 0;padding-left:1rem}.care-note span{color:var(--gold-deep);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.care-note p{color:#6f675b;font-size:.76rem;margin:.3rem 0}.staff-workbench{display:grid;gap:1.5rem;grid-template-columns:1fr .8fr;margin-top:4rem}.points-form{background:#16130f;color:var(--ivory);display:grid;gap:1rem;padding:2.5rem}.points-form .eyebrow{margin-bottom:0}.points-form h2{font:600 2.8rem/.85 var(--serif);margin:0 0 1rem}.points-form input,.points-form select{background:#251f16;border-color:#5e4a24;color:var(--ivory)}.points-form .button{justify-self:start;margin-top:.5rem}.staff-guide{background:#e9dfcf;padding:2.5rem}.staff-guide .eyebrow{color:var(--gold-deep)}.staff-guide p:not(.eyebrow){color:#62594c;font-size:.86rem}.staff-guide .text-link{color:var(--ink)}.member-search{background:transparent;border:0;border-bottom:1px solid #a99d8c;color:var(--ink);font-size:.8rem;padding:.5rem;width:260px}.member-search:focus{outline:2px solid rgba(199,154,59,.25)}.member-directory{border-top:1px solid #cfc5b6}.member-row{align-items:center;border-bottom:1px solid #dcd2c2;display:grid;gap:1rem;grid-template-columns:1.2fr 1fr auto;padding:1rem 0}.member-row div{display:grid;gap:.15rem}.member-row div:first-child strong{font:600 1.2rem/.95 var(--serif)}.member-row span{color:#6b6357;font-size:.7rem}.member-row>strong{color:var(--gold-deep);font-size:.75rem}.not-found{background:var(--ivory);color:var(--ink);min-height:70svh;padding:12vw}.not-found .eyebrow{color:var(--gold-deep)}.not-found .button{margin-top:2rem}
@media (max-width:900px){.nav-shell{min-height:76px}.brand-mark{width:100px}.brand-mark img{height:56px}.menu-toggle{display:block;margin-left:auto}.main-nav{background:var(--black);border-bottom:1px solid var(--line);display:none;left:0;margin:0;padding:1rem 4vw;position:absolute;right:0;top:76px}.main-nav.open{display:grid;gap:.4rem}.main-nav a{padding:.8rem 0}.nav-member-link{border-left:0;padding-left:0}.hero{grid-template-columns:1fr}.hero-copy{padding:6rem 7vw 4rem}.hero-art{min-height:410px}.hero-side-note{bottom:1.5rem}.service-promenade,.split-note,.story-layout,.login-layout{grid-template-columns:1fr}.promenade-card{min-height:450px;padding:4rem 8vw}.promenade-card-image{min-height:500px}.promenade-card-dark .text-link,.promenade-card-ivory .text-link{bottom:3rem}.membership-invitation,.contact-layout{grid-template-columns:1fr;padding:5rem 8vw}.footer-top{align-items:start;grid-template-columns:auto 1fr}.footer-contact{grid-column:1/-1;text-align:left}.page-hero{grid-template-columns:1fr;padding:6rem 8vw}.page-hero>p{margin:0;padding-left:1.2rem}.service-list{padding:1rem 8vw 5rem}.service-row{grid-template-columns:.18fr 1fr auto}.service-row>p{grid-column:2/-1}.gallery-grid{grid-template-columns:1fr;padding:8vw}.gallery-grid .gallery-main{grid-row:auto;min-height:520px}.gallery-grid figure{min-height:430px}.portal-layout{grid-template-columns:1fr}.portal-sidebar{padding:2rem 6vw}.portal-sidebar nav{display:flex;flex-wrap:wrap;gap:1rem}.portal-sidebar nav a{border-bottom:0;padding:0}.member-greeting{margin-bottom:1.2rem}.portal-content{padding:8vw}.status-grid,.staff-workbench{grid-template-columns:1fr}}
@media (max-width:590px){.nav-member-link{font-size:.58rem}.hero h1,.page-hero h1,.contact-layout h1,.portal-heading h1,.login-panel h1,.not-found h1{font-size:clamp(3.7rem,16vw,5.3rem)}.hero-actions{align-items:start;flex-direction:column}.intro-band,.gallery-close,.future-band{padding:5rem 8vw}.service-row{gap:1rem;grid-template-columns:.17fr 1fr}.service-row>a{grid-column:2}.split-note>div:last-child{padding:5rem 8vw}.story-layout article{padding:5rem 8vw}.story-portrait{min-height:430px}.contact-card{padding:2rem}.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:.4rem}.login-art{min-height:330px}.login-art p{font-size:2.8rem}.login-panel{padding:4rem 8vw}.portal-content{padding:3.5rem 6vw}.status-grid{margin-top:3rem}.profile-form{margin-left:-6vw;margin-right:-6vw;padding:2rem 6vw}.form-grid{grid-template-columns:1fr}.full-width{grid-column:auto}.data-table-head,.data-row{grid-template-columns:.55fr 1fr auto}.data-table-head span:nth-child(2),.data-row span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-head{align-items:start;flex-direction:column}.member-search{width:100%}.member-row{align-items:start;grid-template-columns:1fr auto}.member-row div:nth-child(2){display:none}.member-row>strong{padding-top:.3rem}.points-card,.loyalty-card{padding:1.5rem}.points-total{font-size:4.2rem}}
@media (prefers-reduced-motion:no-preference){.hero-copy,.page-hero>div,.portal-heading{animation:rise .6s var(--ease) both}.hero-art{animation:fade .8s var(--ease) both}.promenade-card,.service-row,figure{transition:transform .25s var(--ease)}.promenade-card:hover{transform:translateY(-4px)}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{from{opacity:0}to{opacity:1}}}
