/* Sable Events and Decor · site v2 (private draft) · built by build/website_v2.py */
@font-face{font-family:Cormorant;src:url(../assets/fonts/CormorantGaramond-Light.woff2) format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Cormorant;src:url(../assets/fonts/CormorantGaramond-LightItalic.woff2) format('woff2');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:Cormorant;src:url(../assets/fonts/CormorantGaramond-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url(../assets/fonts/CormorantGaramond-RegularItalic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Cormorant;src:url(../assets/fonts/CormorantGaramond-Medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Lato;src:url(../assets/fonts/Lato-Light.woff2) format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Lato;src:url(../assets/fonts/Lato-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url(../assets/fonts/Lato-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--ever:#0E2A21;--ever2:#0B211A;--spruce:#1D4535;--burg:#7A1E2C;--ox:#4E1119;--ivory:#F5EFE4;--paper:#FBF7EF;--champ:#E4D3B4;--gilt:#B8924A;--giltL:#E3C98F;--ink:#1B1714;--body:#3A332D;--mute:#7A6F62;
--line:linear-gradient(90deg,rgba(184,146,74,0),#B8924A 18%,#F1DFAE 50%,#B8924A 82%,rgba(184,146,74,0));--serif:Cormorant,Georgia,serif;--sans:Lato,Helvetica,Arial,sans-serif;--gold:linear-gradient(115deg,#7E5B26,#B8924A 22%,#EAD49A 45%,#F6E7BE 55%,#C49E57 72%,#86622B)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;font-variant-numeric:lining-nums}
body{background:var(--paper);color:var(--body);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 40px}
.narrow{max-width:820px}
.label{font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gilt)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:300;color:var(--ink);line-height:1.08}
h2{font-size:48px;margin:14px 0 18px}
h3{font-size:30px;font-weight:400}
.lead{font-size:18px;max-width:660px}
.rule{height:1px;background:var(--line);margin:0 auto;width:220px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.btn{display:inline-block;font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;padding:16px 30px;border:1px solid var(--gilt);cursor:pointer;text-align:center}
.btn.gold{background:var(--gold);color:var(--ink);border:0}
.btn.ghost{color:var(--ivory);border-color:rgba(227,201,143,.6);background:transparent}
.link{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--burg);text-decoration:none;border-bottom:1px solid rgba(122,30,44,.35)}
.draft{background:var(--ox);color:var(--champ);text-align:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:7px 12px}
.skip{position:absolute;left:-999px;top:0;background:var(--ivory);color:var(--ink);padding:10px 14px;z-index:20}.skip:focus{left:10px}
/* header */
.top{position:relative}
header{position:absolute;left:0;right:0;top:0;z-index:10;background:linear-gradient(180deg,rgba(9,24,19,.92) 0%,rgba(9,24,19,.6) 70%,rgba(9,24,19,0) 100%)}
.hdr{display:flex;align-items:center;justify-content:space-between;padding:22px 40px}
.wm{font-family:var(--serif);color:var(--ivory);line-height:1;text-decoration:none;display:inline-block}
.wm b{display:block;font-weight:400;font-size:30px;letter-spacing:.32em}
.wm span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.42em;color:var(--giltL);margin-top:6px}
nav.main{display:flex;align-items:center;flex-wrap:nowrap}
nav.main a{white-space:nowrap;font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#E4D8C2;margin-left:15px;padding:4px 0;border-bottom:1px solid transparent}
nav.main a:hover,nav.main a[aria-current=page]{color:var(--giltL);border-bottom-color:rgba(227,201,143,.7)}
nav.main a.btn{margin-left:22px;padding:12px 18px;color:var(--ink);border-bottom:0}
.menu-btn{display:none;background:none;border:1px solid rgba(227,201,143,.55);color:var(--ivory);font-family:var(--sans);font-size:10px;letter-spacing:.24em;text-transform:uppercase;padding:11px 14px;cursor:pointer}
/* heroes */
.hero{position:relative;min-height:760px;background:#0E2A21 url(../assets/img/hero-tree.jpg) right 30%/auto 115% no-repeat;color:var(--ivory);display:flex;align-items:center}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,19,1) 0%,rgba(9,24,19,.96) 40%,rgba(9,24,19,.55) 58%,rgba(9,24,19,0) 78%)}
.gframe{position:absolute;inset:14px;border:1px solid rgba(227,201,143,.45);pointer-events:none;z-index:1}
.hero .in{position:relative;z-index:2;padding-top:90px;width:100%}
.hero h1{color:var(--ivory);font-size:84px;max-width:620px;margin:22px 0 24px}
.hero h1 em,.phero h1 em{font-style:italic;color:var(--giltL)}
.hero p.sub{font-size:19px;max-width:520px;color:#E9DFCC}
.ctas{margin-top:36px;display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.hero .link,.phero .link{color:var(--giltL);border-color:rgba(227,201,143,.4)}
.cap{position:absolute;right:30px;bottom:26px;z-index:2;font-family:var(--serif);font-style:italic;font-size:14px;color:#C9BBA3}
.phero{position:relative;min-height:560px;background-color:var(--ever);background-size:cover;background-position:center;color:var(--ivory);display:flex;align-items:flex-end}
.phero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,19,.97) 0%,rgba(9,24,19,.9) 38%,rgba(9,24,19,.45) 64%,rgba(9,24,19,.1) 100%),linear-gradient(180deg,rgba(9,24,19,.35),rgba(9,24,19,0) 40%)}
.phero.plain:before{background:linear-gradient(180deg,rgba(9,24,19,.55),rgba(9,24,19,.2))}
.phero.short{min-height:420px}
.phero .in{position:relative;z-index:2;padding:150px 40px 80px;width:100%}
.phero h1{color:var(--ivory);font-size:68px;max-width:700px;margin:18px 0 20px}
.phero p.sub{font-size:19px;max-width:560px;color:#E9DFCC}
/* sections */
section{padding:110px 0}
section.tight{padding:80px 0}
.ivory{background:var(--ivory)}
.linen{background:var(--ivory) url(../assets/img/linen-ivory.jpg) center/cover}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:56px}
.card{background:#fff;border:1px solid rgba(140,127,111,.22);display:flex;flex-direction:column}
.fig{position:relative;background-size:cover;background-position:center;background-color:var(--ever)}
.fig .cap{right:12px;bottom:10px;font-size:13px;color:#F0E6D3;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.card .fig{aspect-ratio:4/5}
.card .tx{padding:26px 24px 28px;flex:1;display:flex;flex-direction:column}
.card h3{font-size:32px}
.tag{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--burg);margin:4px 0 12px}
.card p{font-size:15px}
.card .pk{margin:16px 0 18px;padding-top:14px;border-top:1px solid rgba(184,146,74,.35);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);line-height:1.9}
.card .link{margin-top:auto;font-size:17px;align-self:flex-start}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid rgba(184,146,74,.5)}
.steps.five{grid-template-columns:repeat(5,1fr)}
.step{padding:30px 22px 0;border-left:1px solid rgba(184,146,74,.35)}
.step:first-child{border-left:0}
.step .n{font-family:var(--serif);font-size:40px;color:var(--gilt);line-height:1}
.step h4{font-family:var(--serif);font-weight:500;font-size:24px;color:var(--ink);margin:12px 0 8px}
.step p{font-size:14.5px}
.floor{margin-top:46px;font-family:var(--serif);font-style:italic;font-size:21px;color:var(--spruce)}
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:56px}
.col .sw{display:flex;height:120px;border:1px solid rgba(140,127,111,.25)}
.col .sw i{flex:1}
.col h4{font-family:var(--serif);font-weight:500;font-size:26px;color:var(--ink);margin:18px 0 6px}
.col p{font-size:14.5px}
.hex{display:block;margin-top:10px;font-size:10.5px;letter-spacing:.08em;color:var(--mute);font-family:var(--sans)}
.fine{margin-top:34px;font-size:13px;color:var(--mute);font-style:italic}
.cred{background:#0E2A21 url(../assets/img/velvet-evergreen.jpg) center/cover;color:#E9DFCC;text-align:center;padding:120px 0}
.cred img{width:96px;height:96px;margin:0 auto}
.cred blockquote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:54px;line-height:1.12;color:var(--ivory);max-width:880px;margin:28px auto 26px}
.cred p{max-width:640px;margin:0 auto;font-size:17px}
.pts{display:flex;justify-content:center;flex-wrap:wrap;margin:40px auto 30px}
.pts span{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--giltL);padding:0 28px;border-left:1px solid rgba(227,201,143,.35)}
.pts span:first-child{border-left:0}
.cred small{font-size:14px;color:#CDBFA6}
.close{background:#4E1119 url(../assets/img/velvet-oxblood.jpg) center/cover;color:#E9DFCC;text-align:center;padding:110px 0}
.close h2{color:var(--ivory);font-size:60px}
.close p{max-width:560px;margin:0 auto;font-size:18px}
.close .ctas{justify-content:center;gap:22px}
.alt{font-size:14px;letter-spacing:.1em;color:var(--champ)}
.alt a,.uline{color:inherit;text-decoration:none;border-bottom:1px solid rgba(227,201,143,.45)}
/* packages */
.pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:56px;align-items:stretch}
.pkg{background:#fff;border:1px solid rgba(140,127,111,.22);display:flex;flex-direction:column;position:relative}
.pkg.feat{border-color:var(--gilt);box-shadow:0 18px 40px -26px rgba(14,42,33,.45)}
.pkg .fig{aspect-ratio:4/3}
.pkg .tx{padding:30px 28px 32px;display:flex;flex-direction:column;flex:1}
.pkg .num{font-family:var(--serif);font-size:15px;letter-spacing:.3em;color:var(--gilt);text-transform:uppercase}
.pkg h3{font-size:36px;margin-top:6px}
.size{display:inline-flex;align-items:baseline;gap:8px;margin:14px 0 4px;padding:8px 0;border-top:1px solid rgba(184,146,74,.4);border-bottom:1px solid rgba(184,146,74,.4)}
.size b{font-family:var(--serif);font-weight:400;font-size:34px;color:var(--ever);line-height:1}
.size span{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.pkg ul{list-style:none;margin:16px 0 0}
.pkg li{position:relative;padding:7px 0 7px 22px;font-size:15px;border-bottom:1px solid rgba(140,127,111,.14)}
.pkg li:before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--gilt)}
.pkg .ideal{margin-top:auto;padding-top:20px;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--spruce)}
.pkg .ideal span{display:block;font-family:var(--sans);font-style:normal;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin-bottom:2px}
.pending{font-size:14px;color:var(--mute);font-style:italic;margin-top:14px}
.flag{border:1px dashed var(--burg);background:#FBEFEF;color:var(--ox);padding:16px 20px;font-size:14px;margin:30px auto 0;max-width:900px}
.flag b{letter-spacing:.16em;text-transform:uppercase;font-size:11px;display:block;margin-bottom:4px}
/* split feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split .fig{aspect-ratio:4/5}
.split.wide .fig{aspect-ratio:4/3}
.ticks{list-style:none;margin-top:22px}
.ticks li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid rgba(184,146,74,.28)}
.ticks li:before{content:"";position:absolute;left:4px;top:21px;width:8px;height:8px;transform:rotate(45deg);background:var(--gilt)}
.ticks li b{font-weight:700;color:var(--ink)}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}
.three .it{border-top:1px solid rgba(184,146,74,.5);padding-top:22px}
.three h4,.four h4{font-family:var(--serif);font-weight:500;font-size:25px;margin-bottom:8px}
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}
.four .it{border-top:1px solid rgba(184,146,74,.5);padding-top:22px}
.three p,.four p{font-size:15px}
.season{background:var(--ever);color:#E9DFCC;text-align:center;padding:70px 0;position:relative}
.season .q{font-family:var(--serif);font-style:italic;font-size:34px;line-height:1.25;color:var(--ivory);max-width:860px;margin:14px auto 0}
.season .label{color:var(--giltL)}
/* collections page */
.coll{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding:56px 0;border-top:1px solid rgba(184,146,74,.35)}
.coll:first-of-type{border-top:0}
.coll .sw{display:flex;height:300px;box-shadow:0 22px 50px -30px rgba(14,42,33,.5)}
.coll .sw i{flex:1;position:relative}
.coll .sw i span{position:absolute;bottom:-26px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.1em;color:var(--mute);font-style:normal}
.coll h3{font-size:42px}
.coll p{font-size:17px;margin-top:10px}
/* faq */
.faq{max-width:860px;margin:0 auto}
.faq details{border-bottom:1px solid rgba(184,146,74,.4);padding:4px 0}
.faq summary{list-style:none;cursor:pointer;font-family:var(--serif);font-size:25px;color:var(--ink);padding:20px 44px 20px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:6px;top:14px;font-size:30px;color:var(--gilt);font-family:var(--serif)}
.faq details[open] summary:after{content:"–"}
.faq details p{padding:0 0 22px;font-size:16px;max-width:740px}
.faq h2{font-size:34px;margin-top:56px}
/* book */
.book{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}
.aside{position:sticky;top:30px}
.aside h3{font-size:30px;margin:6px 0 12px}
.aside .ct{margin-top:26px;padding-top:20px;border-top:1px solid rgba(184,146,74,.4)}
.aside .ct a{color:var(--burg);text-decoration:none;font-family:var(--serif);font-size:24px;display:block}
.aside small{display:block;margin-top:24px;font-size:14px;color:var(--mute)}
.formcard{background:#fff;border:1px solid rgba(140,127,111,.25);padding:44px 46px;position:relative}
.pill{position:absolute;top:-12px;right:24px;background:var(--ox);color:var(--champ);font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:5px 10px}
fieldset{border:0;margin:0 0 30px;padding:0}
legend{display:flex;align-items:baseline;gap:12px;width:100%;padding-bottom:10px;margin-bottom:18px;border-bottom:1px solid rgba(184,146,74,.45)}
legend .n{font-family:var(--serif);font-size:26px;color:var(--gilt)}
legend .t{font-family:var(--serif);font-size:24px;color:var(--ink)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.field{margin-bottom:18px}
.field>label,.field>.lbl{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:7px;font-weight:400}
.field .req{color:var(--burg)}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid rgba(140,127,111,.4);padding:12px 14px;border-radius:0}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus,.chips label:focus-within{outline:2px solid var(--gilt);outline-offset:1px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(140,127,111,.4);padding:9px 14px;font-size:14px;cursor:pointer;background:var(--paper)}
.chips input{accent-color:var(--ever)}
.chips label:has(input:checked){border-color:var(--ever);background:#EEF1EC}
.field>label.consent{text-transform:none;letter-spacing:0;font-size:14px;color:var(--body);font-weight:300}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.consent input{margin-top:5px;accent-color:var(--ever)}
.err-msg{display:none;color:var(--burg);font-size:13px;margin-top:5px}
.field.is-invalid .err-msg{display:block}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea,.field.is-invalid .chips label{border-color:var(--burg)}
.alert{background:#FBEFEF;border:1px solid var(--burg);color:var(--ox);padding:12px 16px;margin-bottom:22px;font-size:14px}
.hp{position:absolute;left:-5000px}
.submit{width:100%;padding:19px;font-size:12px}
.small{font-size:13px;color:var(--mute);margin-top:14px}
#inquiry-thanks{text-align:center;padding:30px 0}
#inquiry-thanks h3{font-size:40px;margin:10px 0 12px}
#inquiry-thanks dl{text-align:left;max-width:460px;margin:24px auto;border-top:1px solid rgba(184,146,74,.4)}
#inquiry-thanks dl div{display:flex;gap:16px;padding:8px 0;border-bottom:1px solid rgba(140,127,111,.18);font-size:14px}
#inquiry-thanks dt{width:130px;color:var(--mute);text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;padding-top:3px}
.testnote{font-size:13px;color:var(--ox);background:#FBEFEF;padding:10px;margin-top:12px}
/* prose */
.prose h2{font-size:34px;margin:44px 0 12px}
.prose p,.prose li{font-size:16.5px;margin-bottom:12px}
.prose ul{padding-left:22px}
/* footer */
footer{background:var(--ever2);color:#CDBFA6;padding:64px 0 40px;text-align:center;font-size:13.5px;line-height:2}
footer .wm{margin-bottom:22px}
footer .venture{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--giltL)}
footer .fnav{margin:18px 0 4px;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 22px}
footer .fnav a{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:#E4D8C2}
footer .legal{margin-top:16px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8E8574}
footer .legal a{text-decoration:none;border-bottom:1px solid rgba(142,133,116,.6)}
/* responsive */
@media (max-width:1180px){
 .menu-btn{display:block}
 nav.main{display:none;position:fixed;inset:0;background:#091813;flex-direction:column;justify-content:center;align-items:center;gap:6px;z-index:30}
 .nav-open nav.main{display:flex}
 nav.main a{font-size:13px;margin:8px 0}
 nav.main a.btn{margin:22px 0 0}
 .nav-open .menu-btn{position:fixed;top:22px;right:24px;z-index:40}
 .cards{grid-template-columns:repeat(2,1fr)}
 .cols,.four{grid-template-columns:repeat(2,1fr)}
 .steps,.steps.five{grid-template-columns:repeat(2,1fr)}
 .step:nth-child(odd){border-left:0}
 .step{padding-bottom:26px}
}
@media (max-width:900px){
 .pkgs,.three{grid-template-columns:1fr}
 .split,.coll,.book{grid-template-columns:1fr;gap:36px}
 .aside{position:static}
}
@media (max-width:640px){
 .wrap{padding:0 22px}
 .hdr{padding:16px 20px}
 .wm b{font-size:24px}
 section{padding:72px 0} section.tight{padding:56px 0}
 h2{font-size:36px}
 .hero{min-height:680px;background-position:62% 30%;background-size:auto 100%;align-items:flex-end}
 .hero:before{background:linear-gradient(180deg,rgba(9,24,19,.55) 0%,rgba(9,24,19,.35) 30%,rgba(9,24,19,.92) 62%,rgba(9,24,19,1) 100%)}
 .hero .in{padding:200px 22px 70px}
 .hero h1{font-size:50px}
 .hero p.sub,.phero p.sub{font-size:17px}
 .phero{min-height:520px}
 .phero:before{background:linear-gradient(180deg,rgba(9,24,19,.5) 0%,rgba(9,24,19,.55) 35%,rgba(9,24,19,.95) 75%)}
 .phero .in{padding:150px 22px 56px}
 .phero h1{font-size:44px}
 .cards,.cols,.four,.steps,.steps.five,.grid2{grid-template-columns:1fr}
 .step{border-left:0;border-top:1px solid rgba(184,146,74,.3);padding:22px 4px}
 .steps{border-top:0}
 .cred{padding:80px 0}.cred blockquote{font-size:36px}
 .pts span{padding:6px 14px;border-left:0;display:block;width:100%}
 .close{padding:80px 0}.close h2{font-size:42px}
 .season .q{font-size:26px}
 .coll .sw{height:200px}
 .coll h3{font-size:34px}
 .formcard{padding:32px 20px}
 .faq summary{font-size:21px}
 .ctas{gap:18px}
 .cap{right:22px;bottom:18px}
}
