@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Limelight&family=Josefin+Sans:wght@400;500;600&display=swap');
:root{--ink:#161816;--black:#101310;--gold:#d6b979;--cream:#f5f0e5;--muted:#b6b7ab;--line:#b99a5945}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{ -webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}p{margin:0 0 24px}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.06;margin:0 0 24px}h2{font-size:clamp(42px,4.6vw,66px)}h3{font-size:32px}h1 em,h2 em{font-weight:400;color:var(--gold)}.wrap{max-width:1320px;margin:auto;padding:0 64px}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin-bottom:22px;color:#89703f}.dark .eyebrow{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 25px;border:1px solid var(--gold);background:var(--gold);color:var(--black);font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:.2s}.btn:hover{background:#e8ce97;transform:translateY(-2px)}.btn.outline{background:transparent;color:var(--cream);border-color:#a2a28b80}.btn.outline:hover{border-color:var(--gold);color:var(--gold)}.text-link{font-size:14px;border-bottom:1px solid #a2864d;padding-bottom:7px;display:inline-block}.text-link span{padding-left:30px}.dark{background:var(--black);color:var(--cream)}.header{height:105px;background:var(--black);color:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px}.monogram{font-family:Georgia,serif;font-size:28px;width:42px;height:46px;display:grid;place-items:center;color:var(--gold);border:1px solid var(--gold);outline:1px solid var(--line);outline-offset:4px}.brand-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;letter-spacing:.12em;line-height:1.05}.brand-name small{font-family:'Limelight',Georgia,serif;display:block;font-size:10px;letter-spacing:.3em;margin-bottom:5px}.nav{display:flex;gap:25px;align-items:center}.nav>a{font-size:14px}.nav>a:hover,.nav>a[aria-current=page]{color:var(--gold)}.nav .btn{color:var(--ink);font-size:12px;padding:12px 18px}.menu-toggle{display:none}.hero{position:relative;min-height:665px;display:grid;grid-template-columns:48% 52%;background:var(--black);overflow:hidden}.hero-copy{position:relative;z-index:2;padding:79px 0 72px 9.4%;}.hero h1{font-size:clamp(68px,6.8vw,102px);line-height:.95;letter-spacing:-.025em;color:var(--cream);margin-bottom:27px}.hero-copy>p:not(.eyebrow){max-width:360px;color:#c4c4b9;line-height:1.8}.hero-copy .eyebrow{color:var(--gold);display:flex;align-items:center;gap:15px}.hero-copy .eyebrow:before{content:'';width:36px;height:1px;background:var(--gold)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-photo{position:relative;margin:25px 28px 25px 8px;min-height:600px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:48% 46%;position:absolute;filter:brightness(.86)}.hero-photo:after{content:'';position:absolute;inset:12px;border:1px solid #dfc18880;pointer-events:none}.photo-label{position:absolute;bottom:30px;left:30px;right:30px;color:white;font-size:11px;letter-spacing:.17em;text-transform:uppercase;z-index:1;display:flex;justify-content:space-between}.hero-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101310b0,transparent 45%);z-index:1}.hero-foot{display:flex;align-items:center;gap:18px;color:var(--gold);font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;margin-top:44px}.hero-foot:before{content:'✧';font-size:28px}.ribbon{padding:21px 24px;display:flex;justify-content:center;align-items:center;gap:45px;color:#735c30;border-bottom:1px solid #d7cdb9;font-size:12px;letter-spacing:.18em;text-transform:uppercase}.ribbon i{font-style:normal;color:#b79a61}.section{padding:105px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.framed{padding:12px;border:1px solid #b69a5c;position:relative}.framed img{width:100%;aspect-ratio:1.13;object-fit:cover}.image-note{font-size:12px;text-transform:uppercase;letter-spacing:.16em;margin-top:15px;color:#7c705b}.body-copy{color:#64675e;max-width:490px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:38px}.section-heading h2{margin:0}.deco-rule{display:flex;align-items:center;gap:20px;color:var(--gold);margin-bottom:30px}.deco-rule:before,.deco-rule:after{content:'';height:1px;background:var(--line);flex:1}.center{text-align:center}.center p{margin-left:auto;margin-right:auto}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.benefits{padding:80px 0;background:#eae3d6}.benefit{padding:5px 28px 10px;border-left:1px solid #c9b991}.benefit .number{font-family:'Cormorant Garamond',Georgia,serif;color:#9c7e46;font-size:30px;display:block;margin-bottom:18px}.benefit p{color:#67665c;margin-bottom:0}.event-card{border:1px solid #c9b99160;background:#f8f4ed}.event-card img{width:100%;height:260px;object-fit:cover}.event-card .card-copy{padding:28px}.event-card h3{font-size:32px;margin-bottom:12px}.event-card p{color:#64675e}.tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#856c39;display:block;margin-bottom:12px}.event-card .text-link{margin-top:2px}.notice{font-size:14px;color:#6b6c62;border-left:2px solid #bda16b;padding:10px 18px;margin-top:28px}.ball-feature{display:grid;grid-template-columns:1fr 1fr;min-height:550px}.ball-feature>img{width:100%;height:100%;object-fit:cover}.ball-copy{padding:70px 70px;background:#20271f;position:relative}.ball-copy h2{font-size:64px}.ball-copy p:not(.eyebrow){color:#c3c7bb}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}.gallery-button{padding:0;border:0;background:none;position:relative;overflow:hidden}.gallery-button img{width:100%;height:310px;object-fit:cover;transition:transform .4s}.gallery-button:hover img{transform:scale(1.035)}.gallery-button:after{content:'↗';position:absolute;bottom:14px;right:14px;background:#131813b0;color:#fff;width:34px;height:34px;display:grid;place-items:center}.gallery-caption{font-size:13px;color:#6b6c62;margin-top:17px}.join-band{padding:78px 0;background:#e8d9c8}.join-band .wrap{display:flex;justify-content:space-between;gap:45px;align-items:center}.join-band h2{margin:0 0 16px}.join-band p{margin:0;color:#6b6257}.join-band .btn{background:var(--ink);color:var(--cream);border-color:var(--ink);white-space:nowrap}.footer{padding:65px 0 25px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:55px}.footer .brand{margin-bottom:24px}.footer p{color:#a5aa9c;max-width:300px;font-size:14px}.footer h3{font-family:'Limelight',Georgia,serif;font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold)}.footer-links{display:grid;gap:8px;font-size:14px}.footer-bottom{border-top:1px solid var(--line);padding-top:23px;margin-top:42px;display:flex;justify-content:space-between;color:#959e8e;font-size:12px}.page-heading{padding:75px 0 65px}.page-heading h1{font-size:clamp(58px,7vw,90px);margin-bottom:20px}.page-heading .lead{max-width:640px;color:#c3c7bb;font-size:18px}.detail-list{list-style:none;padding:0;margin:0}.detail-list li{padding:20px 0;border-bottom:1px solid #cfc4ae;display:flex;justify-content:space-between;gap:25px}.details{border-bottom:1px solid #cfc4ae;padding:20px 0}.details summary{font-size:19px;cursor:pointer}.details p{padding-top:15px;margin:0;color:#65675c}.form{display:grid;gap:18px}.form label{display:grid;gap:7px;font-size:14px}.form input,.form select,.form textarea{width:100%;border:1px solid #c9bfa9;border-radius:0;background:#fffaf2;padding:13px;color:var(--ink)}.form textarea{min-height:140px;resize:vertical}.form .btn{justify-self:start}.form-note{font-size:13px;color:#66695c}.small-card{border:1px solid #c9b991;padding:30px}.small-card h3{margin-bottom:12px}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.resource-grid a{border:1px solid #c9b991;padding:25px;display:flex;justify-content:space-between;font-size:19px}.resource-grid a:hover{background:#e8dfcf}dialog{padding:12px;background:var(--black);border:1px solid var(--gold);color:white;max-width:min(1000px,92vw);max-height:90vh}dialog::backdrop{background:#000d}dialog img{max-height:74vh;margin:auto;object-fit:contain}dialog button{display:block;margin:0 0 10px auto;background:none;color:white;border:1px solid #aaa;padding:6px 15px}dialog p{margin:12px 6px 4px;font-size:14px}.skip{position:fixed;top:-100px;background:var(--gold);padding:12px;z-index:50}.skip:focus{top:0}:focus-visible{outline:3px solid #b98d36;outline-offset:5px}.fan{width:76px;height:43px;margin:0 auto 22px;color:var(--gold)}
@media(min-width:1600px){.hero-copy{padding-left:max(10%,calc((100vw - 1320px)/2))}.hero{min-height:740px}.hero-photo{min-height:690px}}@media(max-width:1100px){.nav{gap:16px}.nav>a{font-size:13px}.header{padding:0 30px}.brand-name{font-size:23px}.wrap{padding:0 36px}.hero-copy{padding-left:36px}.hero h1{font-size:76px}.hero-actions .btn{padding:13px 16px;gap:16px}.split{gap:45px}.ball-copy{padding:55px 38px}.event-card img{height:210px}}@media(max-width:850px){.header{height:88px}.menu-toggle{display:block;border:1px solid var(--line);background:transparent;color:var(--cream);padding:8px 13px}.nav{display:none;position:absolute;top:88px;left:0;right:0;padding:25px 30px;background:var(--black);flex-direction:column;align-items:stretch;border-bottom:1px solid var(--gold)}.nav.open{display:flex}.nav>a{font-size:16px;padding:7px 0}.hero{grid-template-columns:1fr 1fr;min-height:580px}.hero h1{font-size:63px}.hero-copy{padding-top:65px;padding-bottom:45px}.hero-photo{min-height:520px;margin-right:18px}.hero-copy>p:not(.eyebrow){font-size:15px;max-width:280px}.hero-copy .eyebrow{font-size:10px;letter-spacing:.15em}.hero-photo img{object-position:54%}.hero-foot{font-size:17px}.photo-label{font-size:9px;left:24px;right:24px}.ribbon{gap:20px;font-size:10px}.section{padding:75px 0}.three{gap:18px}.benefit{padding:0 15px}.event-card .card-copy{padding:20px}.event-card h3{font-size:28px}.event-card p{font-size:15px}.ball-copy h2{font-size:48px}.gallery-button img{height:240px}.footer-top{gap:30px}.footer .brand-name{font-size:20px}}
@media(max-width:600px){.wrap{padding:0 24px}.header{padding:0 24px}.brand-name{font-size:22px}.monogram{width:33px;height:38px;font-size:23px}.hero{display:flex;flex-direction:column}.hero-copy{padding:48px 24px 34px}.hero h1{font-size:60px;line-height:1}.hero-copy>p:not(.eyebrow){max-width:340px;font-size:16px}.hero-actions{gap:10px}.hero-actions .btn{font-size:11px;padding:14px 17px}.hero-foot{margin-top:25px}.hero-photo{height:340px;min-height:340px;margin:0 15px 15px}.hero-photo img{object-position:center 37%}.ribbon{gap:15px;font-size:9px;letter-spacing:.1em;flex-wrap:wrap;padding:17px 15px}.ribbon i:nth-of-type(2),.ribbon span:last-child{display:none}.section{padding:62px 0}.split{grid-template-columns:1fr;gap:35px}.three{grid-template-columns:1fr;gap:25px}.benefits{padding:55px 0}.benefit{padding:0 0 0 24px}.benefit .number{margin-bottom:8px}.benefit h3{margin-bottom:12px}.section-heading{align-items:start;flex-direction:column;gap:24px}.event-card img{height:260px}.ball-feature{grid-template-columns:1fr}.ball-feature>img{height:320px}.ball-copy{padding:45px 24px}.ball-copy h2{font-size:52px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-grid .gallery-button:first-child{grid-column:1 / -1}.gallery-button img{height:190px}.gallery-grid .gallery-button:first-child img{height:260px}.join-band{padding:52px 0}.join-band .wrap{flex-direction:column;align-items:start;gap:27px}.join-band h2{font-size:42px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1 / -1}.footer-bottom{flex-direction:column;gap:10px}.page-heading{padding:50px 0}.page-heading h1{font-size:60px}.resource-grid{grid-template-columns:1fr}.detail-list li{flex-direction:column;gap:4px}.reverse-mobile>div{order:-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.tag,.photo-label,.nav .btn,.hero-copy .eyebrow,.image-note,.ribbon{font-size:12px}.ribbon{letter-spacing:.12em}@media(max-width:600px){.ribbon{gap:10px;letter-spacing:.04em}.hero-copy .eyebrow{letter-spacing:.1em}.hero-copy .eyebrow:before{width:22px}.photo-label{letter-spacing:.08em}.hero-actions .btn{font-size:12px}}

/* A darker Gatsby salon: authentic Deco wallpaper, theatrical type and gilt frames. */
:root{--ink:#f1e5cf;--black:#0c100e;--cream:#f6ecd9;--gold:#d8b571;--muted:#c3b9a3;--line:#d1aa5d55}
body{background:#121813;color:var(--cream)}
h1,h2,.brand-name{font-family:'Limelight',Georgia,serif;font-weight:400;letter-spacing:.015em}
h1 em,h2 em{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;letter-spacing:0;color:#e8c581!important}
h2{font-size:clamp(36px,3.4vw,49px);line-height:1.18}
h3{font-size:34px;color:#efd5a2}
.hero h1{font-size:clamp(46px,4.2vw,65px);line-height:1.17;letter-spacing:.005em}
.hero h1 em{font-size:1.3em;line-height:.75}
.hero{background-image:linear-gradient(90deg,#080e0bee 0%,#10180feb 45%,#111711f2 100%),url('/assets/gatsby-salon-wallpaper.png');background-size:auto,560px}
.hero-copy{padding-top:90px}
.hero-photo{outline:1px solid #d0aa6660;outline-offset:5px}
.hero-photo:after{inset:13px;border:1px solid #e7c786a0;box-shadow:inset 0 0 0 5px #11140e55}
.hero-copy>p:not(.eyebrow){color:#d0c7b5}
.hero-foot{color:#dcb773}
.header{background:#090d0b;box-shadow:0 4px 0 #0e140f,0 5px 0 #a88a4945}
.brand-name{font-size:24px;letter-spacing:.08em}
.brand-name small{color:#d5bc89}
.monogram{color:#edcc87;box-shadow:inset 0 0 0 3px #0b100d,inset 0 0 0 4px #9d814855}
.btn{color:#171b12;background:linear-gradient(135deg,#ead5a0,#c7a260);border-color:#e0c184;box-shadow:inset 0 0 0 3px #d9b975,inset 0 0 0 4px #8c713966}
.btn:hover{background:#ecd5a1}.btn.outline{background:#10160da0;box-shadow:inset 0 0 0 3px #151c13,inset 0 0 0 4px #a3854140;border-color:#bda269;color:#efdfbe}
.ribbon{background:#cbb179;color:#1d2418;border-top:4px double #121b11;border-bottom:4px double #121b11}.ribbon i{color:#4c421e}
.section{background:#131a15;border-bottom:1px solid #b5934930}
.section:nth-of-type(even){background:#101511}
.body-copy,.event-card p,.benefit p,.notice,.gallery-caption,.details p,.form-note{color:#c5c5b5}
.eyebrow,.tag,.image-note{color:#d6b579}
.section h2 em{color:#e2be7c!important}
.text-link{border-bottom-color:#b89a60;color:#e5c791}
.framed{border:4px double #b7995d;padding:13px;box-shadow:0 16px 50px #0006}
.image-note{margin-top:20px}
.benefits,.page-heading,.join-band,.ball-copy,.footer{background-color:#101810;background-image:linear-gradient(#09120cea,#09120ce8),url('/assets/gatsby-salon-wallpaper.png');background-size:auto,520px}
.benefits{border-top:4px double #a989475e;border-bottom:4px double #a989475e}
.benefits .wrap{background:#101911c9;padding-top:36px;padding-bottom:36px;border-top:1px solid #c09c4c65;border-bottom:1px solid #c09c4c65}
.benefit{border-left-color:#be9b565c}.benefit .number{color:#cfaa68}
.event-card{background:#1b261e;border:1px solid #b595515e;box-shadow:0 9px 25px #0003}.event-card .card-copy{border:1px solid #b5955140;margin:9px;padding:25px}
.event-card img{filter:brightness(.92)}
.ball-copy{background-image:linear-gradient(#111b0fdc,#111b0fec),url('/assets/gatsby-salon-wallpaper.png');border:1px solid #c3a365;outline:1px solid #c3a36566;outline-offset:-14px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ball-copy h2{font-size:clamp(35px,3.4vw,49px);line-height:1.2}.ball-copy .btn{margin-top:10px}
.fan{height:52px;width:90px}.ball-copy .eyebrow{color:#ebca8a}
.small-card{border:4px double #aa8c4e;background:linear-gradient(#121b13e8,#121b13e8),url('/assets/gatsby-salon-wallpaper.png') center/440px;padding:35px}
.detail-list li,.details{border-color:#af94534d}.detail-list strong{color:#eed5a6}
.gallery-button{border:1px solid #b7985e;padding:6px;background:#080e09}.gallery-button:after{background:#d8ba79;color:#12180e}
.join-band{background-color:#221613;background-image:linear-gradient(#261712df,#1d1410e8),url('/assets/gatsby-salon-wallpaper.png');border-block:4px double #b99852;padding:90px 0}
.join-band h2{color:#f5dfb7}.join-band p{color:#d4c5b0}.join-band .eyebrow{color:#d6b579}.join-band .btn{background:linear-gradient(135deg,#ead5a0,#c7a260);color:#131a0f;border-color:#d9b975}
.footer{background-image:linear-gradient(#080e0bf5,#080e0beb),url('/assets/gatsby-salon-wallpaper.png')}.footer p,.footer-bottom{color:#b9bcae}
.page-heading{border-bottom:4px double #b99b575f;position:relative}.page-heading:after{content:'';position:absolute;inset:15px;border:1px solid #c4a35b45;pointer-events:none}
.page-heading h1{font-size:clamp(44px,5.2vw,76px);line-height:1.2}.page-heading .lead{color:#d0cabb}
.form input,.form select,.form textarea{background:#0e160f;border-color:#9b864e;color:#f6ead4}.form input::placeholder,.form textarea::placeholder{color:#9fAA98}.form label{color:#e1c99a}
.resource-grid a{border:1px solid #a2874b;background:#172218;color:#e6cd9c}.resource-grid a:hover{background:#293326}
.notice{border-left-color:#d2af6e;background:#0d140e66}.section-heading .text-link{flex-shrink:0}
@media(max-width:1100px){.brand-name{font-size:20px}.hero h1{font-size:49px}.hero-copy{padding-top:70px}.nav{gap:16px}.header{padding-inline:25px}}
@media(max-width:850px){.hero h1{font-size:43px}.hero-copy{padding-top:60px}.nav{background:#0b110d}.benefits .wrap{margin-inline:20px;padding-inline:16px}.ball-copy h2{font-size:37px}}
@media(max-width:600px){.brand-name{font-size:19px}.hero-copy{padding:45px 24px 35px}.hero h1{font-size:clamp(37px,10.5vw,46px);line-height:1.18}.hero h1 em{font-size:1.35em}.hero-photo{outline-offset:3px;margin:0 18px 20px}.hero-foot{margin-top:24px}.page-heading h1{font-size:42px}.page-heading:after{inset:8px}.join-band{padding:60px 0}.join-band h2{font-size:35px}.benefits .wrap{padding-block:25px}.small-card{padding:26px}.footer .brand-name{font-size:19px}.gallery-button img{height:185px}}
.nav .btn,.nav .btn:hover,.nav .btn[aria-current=page]{color:#171b12}
.section.benefits{background-image:linear-gradient(#09120cea,#09120ce8),url('/assets/gatsby-salon-wallpaper.png');background-size:auto,520px}

/* Bespoke engraved fan-and-filigree wallpaper. */
.hero{background-image:linear-gradient(90deg,#080e0bdf 0%,#0b130ca8 47%,#0b130c9e 100%),url('/assets/gatsby-salon-wallpaper.png');background-size:auto,1000px}
.benefits,.section.benefits,.page-heading{background-image:linear-gradient(#09120caf,#09120cd1),url('/assets/gatsby-salon-wallpaper.png');background-size:auto,960px}
.ball-copy{background-image:linear-gradient(#111b0fa6,#111b0fc7),url('/assets/gatsby-salon-wallpaper.png');background-size:auto,900px}
.join-band{background-image:linear-gradient(#261712b5,#1d1410c9),url('/assets/gatsby-salon-wallpaper.png');background-size:auto,940px}
.footer{background-image:linear-gradient(#080e0be5,#080e0bd6),url('/assets/gatsby-salon-wallpaper.png');background-size:auto,900px}
.small-card{background-image:linear-gradient(#121b13d9,#121b13d9),url('/assets/gatsby-salon-wallpaper.png');background-size:auto,800px}
@media(max-width:600px){.hero,.page-heading,.benefits,.section.benefits,.join-band,.ball-copy{background-size:auto,760px}.hero{background-image:linear-gradient(#080e0bd5,#0b130cb5),url('/assets/gatsby-salon-wallpaper.png')}}

/* Site-wide Gatsby typography, including every secondary surface. */
:root{--font-display:'Limelight',Georgia,serif;--font-reading:'Cormorant Garamond',Georgia,serif}
body{font-family:var(--font-reading);font-size:21px;line-height:1.55;font-weight:500}
h1,h2,h3,h4,h5,h6,.brand-name,.monogram,.benefit .number{font-family:var(--font-display);font-weight:400}
h3,.event-card h3,.small-card h3{font-size:28px;line-height:1.22}
.nav>a,.btn,.menu-toggle,.eyebrow,.tag,.ribbon,.photo-label,.image-note,.brand-name small,.footer h3{font-family:var(--font-display);font-weight:400}
.nav>a{font-size:14px;letter-spacing:.015em}.nav .btn,.btn{font-size:13px;letter-spacing:.035em}
.eyebrow,.tag,.image-note,.photo-label,.ribbon{font-size:12px;letter-spacing:.12em;line-height:1.7}
.hero-copy>p:not(.eyebrow){font-size:22px;line-height:1.55;max-width:395px}
.page-heading .lead{font-size:24px;line-height:1.5}.body-copy,.benefit p,.event-card p,.ball-copy p:not(.eyebrow),.details p{font-size:21px;line-height:1.55}
.text-link,.footer-links,.footer p,.notice,.gallery-caption,.form-note,dialog p{font-family:var(--font-reading);font-size:19px;line-height:1.5}
.footer h3{font-size:14px;line-height:1.6;letter-spacing:.075em}.footer-bottom{font-size:16px}
.details summary,.resource-grid a{font-family:var(--font-display);font-size:18px;line-height:1.5}
.form label{font-family:var(--font-display);font-size:15px;line-height:1.6}
.form input,.form select,.form textarea{font-family:var(--font-reading);font-size:21px;line-height:1.4;font-weight:500}
.form .btn{font-family:var(--font-display)}.hero-foot{font-size:24px}.detail-list{font-size:21px}
@media(max-width:1100px){.nav{gap:14px}.nav>a{font-size:12px}.nav .btn{font-size:12px;padding-inline:13px}.brand-name{font-size:19px}}
@media(max-width:950px){.header{padding-inline:20px}.nav{gap:11px}.brand{gap:11px}.brand-name{font-size:17px}.brand-name small{font-size:10px}.monogram{width:34px;height:40px}}
@media(max-width:850px){.nav>a{font-size:17px}.nav .btn{font-size:14px}.brand-name{font-size:20px}.hero-copy>p:not(.eyebrow){font-size:20px}.btn{gap:18px}.event-card h3{font-size:25px}}
@media(max-width:600px){body{font-size:20px}.brand-name,.footer .brand-name{font-size:18px}.hero-copy>p:not(.eyebrow),.body-copy,.benefit p,.event-card p,.ball-copy p:not(.eyebrow),.details p{font-size:20px}.page-heading .lead{font-size:22px}.hero-actions .btn{font-size:12px}.join-band .btn{white-space:normal;text-align:center}.form label{font-size:14px}.ribbon{font-size:11px;letter-spacing:.03em}.hero-copy .eyebrow{font-size:11px;letter-spacing:.07em}.footer h3{font-size:12px}.details summary{font-size:17px}.brand-name small{font-size:10px}}

/* Complementary period-inspired voices instead of one display face everywhere. */
:root{--font-accent:'Josefin Sans',sans-serif}
.nav>a,.btn,.menu-toggle,.eyebrow,.tag,.ribbon,.photo-label,.image-note,.brand-name small,.footer h3,.form label{font-family:var(--font-accent);font-weight:500}
.nav>a{font-size:15px;letter-spacing:.025em}.nav .btn,.btn{font-size:13px;font-weight:600;letter-spacing:.095em}
.eyebrow,.tag,.image-note,.photo-label,.ribbon{font-size:12px;font-weight:600;letter-spacing:.17em}
h3,.event-card h3,.small-card h3{font-family:var(--font-reading);font-weight:500;font-size:34px;line-height:1.15}
.benefit h3{font-style:italic;font-size:36px}.benefit .number{font-family:var(--font-accent);font-weight:400;font-size:25px;letter-spacing:.08em}
.details summary,.resource-grid a{font-family:var(--font-reading);font-weight:600;font-size:24px;line-height:1.35}
.footer h3{font-size:14px;letter-spacing:.12em}.footer-bottom{font-family:var(--font-accent);font-size:13px;font-weight:400;line-height:1.6}
.form label{font-size:15px;letter-spacing:.035em}.form .btn{font-family:var(--font-accent)}
.hero-foot{font-style:italic}.monogram{font-family:var(--font-reading);font-weight:500}
@media(max-width:1100px){.nav>a{font-size:13px}.nav .btn{font-size:12px;letter-spacing:.07em}}
@media(max-width:850px){.nav>a{font-size:17px}.nav .btn{font-size:14px}.event-card h3{font-size:31px}}
@media(max-width:600px){.brand-name small{font-size:10px}.hero-copy .eyebrow{font-size:11px;letter-spacing:.1em}.hero-actions .btn{font-size:12px;letter-spacing:.065em}.ribbon{font-size:11px;letter-spacing:.04em}.footer h3{font-size:13px;letter-spacing:.08em}.details summary{font-size:23px}.form label{font-size:15px}}

/* Preserve every person in all authentic photos: full-frame fit, never edge crops. */
.hero-photo img,.framed img,.event-card img,.ball-feature>img,.gallery-button img{object-fit:contain!important;object-position:center!important;filter:none}
.hero-photo{display:flex;align-items:center;background:#090e0b}
.hero-photo img{position:relative;height:auto;width:100%}
.hero-photo:before{display:none}.hero-photo:after{inset:5px}.photo-label{bottom:12px}
.framed img{aspect-ratio:auto;height:auto}.event-card img{background:#0b110d}.ball-feature>img{height:auto;align-self:center}
.gallery-button{overflow:visible}.gallery-button:hover img{transform:none}.gallery-button img{background:#0a100b}
.gallery-button:after{bottom:3px;right:3px;width:25px;height:25px;font-size:17px}
@media(max-width:600px){.hero-photo{height:auto;min-height:0;display:block;padding-bottom:42px}.hero-photo img{height:auto}.hero-photo:after{inset:5px;pointer-events:none}.photo-label{bottom:14px}.ball-feature>img{height:auto}}
.hero-photo img{width:calc(100% - 24px);margin:12px}
.gallery-button{padding-bottom:30px}.gallery-button:after{bottom:2px;right:7px}

/* Homepage-only miniature parades, in their own rails outside all photo pixels. */
.hero:has(.couture-duet){padding-top:118px;padding-bottom:110px}
.couture-duet{position:absolute;top:0;left:0;right:0;height:118px;pointer-events:none;z-index:3;overflow:hidden;container-type:inline-size}
.couture-duet.parade-bottom{top:auto;bottom:0;height:110px}
.couture-dancer{position:absolute;width:74px;height:96px;left:0;top:14px;pointer-events:none;animation:couture-parade 36s linear infinite;animation-delay:var(--delay)}
.parade-bottom .couture-dancer{top:7px;animation-name:couture-parade-back}
.dancer-art{position:absolute;inset:0}
.couture-dancer img,.couture-dancer canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:none}
.couture-dancer.ready img{opacity:0}.couture-dancer canvas{pointer-events:none}
.dance-toggle{position:absolute;right:10px;top:4px;pointer-events:auto;border:1px solid #bda36a44;background:#0b100ee8;color:#c6b187;font:10px 'Josefin Sans',sans-serif;letter-spacing:.06em;padding:8px;cursor:pointer;z-index:2}.dance-toggle:hover,.dance-toggle:focus-visible{color:#f4deb2}
@keyframes couture-jive{0%,100%{translate:0 0;rotate:-4deg}25%{translate:0 -3px;rotate:2deg}50%{translate:0 1px;rotate:4deg}75%{translate:0 -2px;rotate:-2deg}}
@keyframes couture-parade{from{transform:translateX(-72px)}to{transform:translateX(calc(100cqw + 72px))}}
@keyframes couture-parade-back{from{transform:translateX(calc(100cqw + 72px)) scaleX(-1)}to{transform:translateX(-72px) scaleX(-1)}}
.couture-duet.paused .couture-dancer,.couture-duet.paused .dancer-art{animation-play-state:paused}
@media(max-width:600px){.hero:has(.couture-duet){padding-top:92px;padding-bottom:87px}.couture-duet{height:92px}.couture-duet.parade-bottom{height:87px}.couture-dancer{width:56px;height:74px;top:10px}.dance-toggle{font-size:9px;padding:6px;top:0;right:3px}}
@media(prefers-reduced-motion:reduce){.dancer-art{animation:none!important}.couture-dancer{animation:none!important;left:calc(5% + var(--order)*19%);transform:none}}

/* Hold both rails until decoded images and their first posed frames are ready. */
.couture-duet:not(.booted) .dancer-art{visibility:hidden}
.couture-duet:not(.booted) .couture-dancer{animation-play-state:paused}
.couture-duet:not(.booted) .dance-toggle{visibility:hidden}
.couture-dancer.unavailable{visibility:hidden}
.couture-dancer img{left:10%;top:8.57143%;width:80%;height:85.71429%;object-fit:fill}

/* Decoration stays in the margins and never intercepts interaction. */
.scroll-sparkles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:25;contain:strict}
@media(prefers-reduced-motion:reduce){.scroll-sparkles{display:none}}
