:root{
  --black:#0a1230; --ink:#0e1636; --royal:#17307a; --navy:#101c4a; --gold:#c9a45c; --gold-lt:#e3c98a; --blush:#e8b4bc; --ivory:#f6efe4; --cream:#efe3cf; --burg:#5a1226;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif; --sans:'Jost','Helvetica Neue',Arial,sans-serif; --script:'Pinyon Script','Snell Roundhand',cursive;
  --pad:24px; --max:1180px; --hh:72px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:linear-gradient(180deg,#0a1230,#0d1b4d 45%,#0a1230) fixed;position:relative;color:var(--ivory);font:400 1rem/1.65 var(--sans);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
ul{list-style:none}
:focus-visible{outline:2px solid var(--gold-lt);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--black);padding:.7rem 1rem;z-index:200}
.skip:focus{left:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:.01em}
h1{font-size:clamp(3rem,9vw,7rem)} h2{font-size:clamp(2rem,4.6vw,3.4rem)} h3{font-size:1.4rem}
.script{font-family:var(--script);color:var(--blush);font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.2;font-weight:400}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.section{padding:clamp(4rem,9vw,7.5rem) 0}
.lede{max-width:34rem;color:rgba(246,239,228,.78)}
main,.hero,.band{position:relative;z-index:1}
.light{background:rgba(16,28,74,.55);color:var(--ivory);border-top:1px solid rgba(201,164,92,.18);border-bottom:1px solid rgba(201,164,92,.18)}
.divider{display:flex;align-items:center;gap:.8rem;color:var(--gold);margin:1.4rem 0}
.divider::before,.divider::after{content:"";height:1px;width:3.2rem;background:var(--gold);opacity:.7}
.divider svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.2}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.8rem;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--gold);transition:background .25s,color .25s,border-color .25s;cursor:pointer;text-align:center}
.btn-gold{background:var(--gold);color:var(--black)} .btn-gold:hover{background:var(--gold-lt)}
.btn-line{color:var(--gold-lt)} .btn-line:hover{background:rgba(201,164,92,.14)}
.light .btn-line:hover{background:rgba(201,164,92,.18)}
.btn-dark{background:var(--black);color:var(--ivory);border-color:var(--black)} .btn-dark:hover{background:var(--burg);border-color:var(--burg)}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:#0a1230;border-bottom:1px solid rgba(201,164,92,.28);transition:height .3s}
.bar{max-width:var(--max);margin:0 auto;padding:0 var(--pad);height:var(--hh);display:flex;align-items:center;gap:2rem;transition:height .3s}
.site-header.compact .bar{height:56px}
.brand{display:flex;flex-direction:column;line-height:1;text-align:center}
.brand-main{font-family:var(--serif);font-size:1.55rem;letter-spacing:.2em;color:var(--gold);padding-left:.22em}
.brand-sub{font-size:.58rem;letter-spacing:.42em;color:var(--ivory);margin-top:.35rem}
.nav{display:flex;align-items:center;gap:1.7rem;margin-left:auto}
.nav a:not(.btn){font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;padding:.4rem 0;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.nav a:not(.btn):hover,.nav a.on{color:var(--gold-lt);border-color:var(--gold)}
.nav-cta{min-height:40px;padding:0 1.2rem}
.tools{display:flex;gap:.2rem}
.icon-btn{position:relative;width:44px;height:44px;display:grid;place-items:center;color:var(--ivory)}
.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.icon-btn:hover{color:var(--gold-lt)}
.count.count{position:absolute;top:3px;right:2px;min-width:18px;height:18px;border-radius:9px;background:var(--gold);color:var(--black);font-size:.68rem;font-weight:500;display:grid;place-items:center;padding:0 4px}
.menu-btn{display:none;flex-direction:column;gap:5px;justify-content:center;align-items:center}
.menu-btn span{width:22px;height:1.5px;background:currentColor;transition:transform .3s,opacity .3s}
.menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:55}

/* search */
.search-panel{position:fixed;inset:0 0 auto 0;background:var(--ivory);color:var(--ink);z-index:90;max-height:100vh;overflow:auto;padding:1rem var(--pad) 2rem}
.search-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--ink)}
.search-inner form{flex:1}
.search-inner input{width:100%;background:none;border:0;font:500 clamp(1.4rem,4vw,2.4rem)/1.2 var(--serif);padding:.8rem 0;outline:0}
.search-inner .icon-btn{color:var(--ink)}
.search-results{max-width:var(--max);margin:1.2rem auto 0;display:grid;gap:.4rem}
.sr-item{display:flex;align-items:center;gap:1rem;padding:.6rem;border-radius:2px}
.sr-item:hover,.sr-item:focus-visible{background:rgba(201,164,92,.18)}
.sr-item .thumb{width:54px;height:64px;background:var(--cream);border-radius:27px 27px 0 0;padding:6px;flex:none}
.sr-item small{display:block;color:#6a5d56}
.search-hint{color:#6a5d56}

/* drawer */
.drawer{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);background:var(--ivory);color:var(--ink);z-index:80;transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.4rem;border-bottom:1px solid rgba(23,19,18,.15)}
.drawer-head .icon-btn{color:var(--ink)}
.drawer-body{flex:1;overflow:auto;padding:1rem 1.4rem}
.drawer-foot{padding:1.2rem 1.4rem;border-top:1px solid rgba(23,19,18,.15);display:grid;gap:.8rem}
.line{display:grid;grid-template-columns:72px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(23,19,18,.12)}
.line .thumb{background:var(--cream);border-radius:36px 36px 0 0;padding:8px;aspect-ratio:3/4}
.line h3{font-size:1.2rem}
.line small{color:#6a5d56;display:block}
.line-row{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;gap:.5rem}
.qty{display:inline-flex;align-items:center;border:1px solid rgba(23,19,18,.4)}
.qty button{width:40px;height:40px;font-size:1.2rem}
.qty button:hover{background:rgba(201,164,92,.25)}
.qty output{min-width:2rem;text-align:center}
.link-btn{font-size:.78rem;text-decoration:underline;text-underline-offset:3px;color:#6a5d56;min-height:40px;padding:0 .3rem}
.total-row{display:flex;justify-content:space-between;font-family:var(--serif);font-size:1.5rem}
.empty{text-align:center;padding:3rem 1rem;display:grid;gap:1rem;justify-items:center}
.empty svg{width:56px;height:56px;fill:none;stroke:var(--gold);stroke-width:1.2}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(110% 90% at 80% 40%,rgba(23,48,122,.55) 0,rgba(10,18,48,0) 65%)}
.hero-in{max-width:var(--max);margin:0 auto;padding:clamp(3rem,7vw,6rem) var(--pad);display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center;min-height:calc(100svh - var(--hh))}
.hero h1{font-size:clamp(2.5rem,7vw,4.7rem);color:var(--gold);letter-spacing:.06em;line-height:.95}
.hero h1 span{display:block}
.hero h1 .w2{font-size:.34em;letter-spacing:.38em;white-space:nowrap;color:var(--ivory);margin-top:.5em;padding-left:.15em}
.hero .script{margin:1.6rem 0 1rem}
.hero p.lede{margin-bottom:2rem}
.hero-btns{display:flex;flex-wrap:wrap;gap:.8rem}
.hero-note{margin-top:2.2rem;font-size:.7rem;letter-spacing:.34em;color:var(--gold)}
.arches{position:relative;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:clamp(.5rem,1.5vw,1.2rem);align-items:end;max-width:560px;margin-left:auto;width:100%}
.arches .arch{aspect-ratio:3/5;padding:clamp(.6rem,2vw,1.6rem) clamp(.4rem,1.5vw,1rem)}
.arches .arch:nth-child(2){aspect-ratio:3/6;background:var(--blush)}
.arches .arch:nth-child(3){background:var(--burg)}
.arch{background:var(--cream);border-radius:999px 999px 0 0;display:grid;place-items:center;outline:1px solid var(--gold);outline-offset:6px;overflow:hidden}
.arch svg{width:100%;height:auto;max-height:100%}
.reveal-arch{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}
.arches .arch:nth-child(2){animation-delay:.12s}.arches .arch:nth-child(3){animation-delay:.24s}
@keyframes rise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}

/* intro */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.intro-art{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:460px}
.intro-art .arch:nth-child(2){margin-top:3rem;background:var(--blush)}
.intro-art .arch{aspect-ratio:3/4.4;padding:1rem}
.intro p+p{margin-top:1rem}

/* categories — bento */
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:2.4rem}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;grid-auto-rows:minmax(210px,auto)}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;overflow:hidden;border:1px solid rgba(201,164,92,.35);background:rgba(20,34,90,.7);transition:border-color .3s}
.tile:hover{border-color:var(--gold)}
.tile .tile-art{position:absolute;right:6%;top:8%;width:42%;max-width:190px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tile:hover .tile-art{transform:scale(1.05) translateY(-3px)}
.tile h3{position:relative;font-size:1.7rem}
.tile p{position:relative;font-size:.9rem;color:rgba(246,239,228,.72);max-width:17ch;margin:.3rem 0 .6rem}
.tile .go{position:relative;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lt)}
.t1{grid-column:span 3;grid-row:span 2;background:var(--royal)} .t1 .tile-art{width:50%;max-width:260px}
.t2{grid-column:span 3}.t3{grid-column:span 3;background:var(--ivory);color:var(--ink)}
.t3 p{color:#4d423d}.t3 .go{color:var(--burg)}
.t4{grid-column:span 2;background:#14224f}.t4 .tile-art,.t5 .tile-art,.t6 .tile-art{width:36%;top:6%}.t5{grid-column:span 2;background:var(--blush);color:var(--ink)}.t5 p{color:#4d423d}.t5 .go{color:var(--burg)}
.t6{grid-column:span 2}.t7{grid-column:span 6;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:1rem;min-height:200px}.t7 .tile-art{left:auto;right:12%;width:130px}

/* product cards */
.pcard{display:flex;flex-direction:column;gap:.9rem;position:relative}
.pcard .arch{aspect-ratio:3/4;padding:12% 14% 8%;transition:background .4s;outline-offset:5px}
.pcard:hover .arch{background:#f3e6cf}
.pcard .arch svg{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pcard:hover .arch svg{transform:translateY(-4px)}
.pcard .tag{position:absolute;top:10px;left:0;background:var(--burg);color:var(--ivory);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:.25rem .6rem;z-index:2}
.pcard h3{font-size:1.35rem}
.pcard .meta{color:#6a5d56;font-size:.88rem}
.dark .pcard .meta{color:rgba(246,239,228,.65)}
.pcard .row{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.price{font-family:var(--serif);font-size:1.3rem}
.swatches{display:flex;gap:.4rem}
.sw{width:16px;height:16px;border-radius:50%;border:1px solid rgba(23,19,18,.35);display:inline-block}
.pcard .acts{display:flex;gap:.5rem}
.pcard .acts .btn{flex:1;min-height:44px;padding:0 .4rem;font-size:.66rem;letter-spacing:.12em;white-space:nowrap}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,300px);gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:1rem 0 1.5rem;margin:0 calc(var(--pad)*-1);padding-inline:var(--pad);scroll-padding-inline:var(--pad);scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.rail>*{scroll-snap-align:start}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2.2rem 1.6rem}

/* benefits */
.benefits{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.benefit{padding:2rem 1.5rem;border-left:1px solid rgba(201,164,92,.35)}
.benefit:first-child{border-left:0}
.benefit svg{width:34px;height:34px;fill:none;stroke:var(--gold);stroke-width:1.2;margin-bottom:1rem}
.benefit p{font-size:.92rem;color:rgba(246,239,228,.72)}

/* statement */
.statement{position:relative;background:linear-gradient(120deg,#1a3382,#0c1647 70%);overflow:hidden}
.statement-in{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.statement p{margin:1.4rem 0 2rem;max-width:36rem;color:rgba(246,239,228,.82);font-family:var(--serif);font-size:1.35rem;line-height:1.5}
.statement .arch{aspect-ratio:3/4;max-width:320px;margin-left:auto;padding:12%;background:var(--blush)}

/* style groups */
.group{display:grid;grid-template-columns:.8fr 2.2fr;gap:clamp(1.5rem,4vw,4rem);padding:2.6rem 0;border-top:1px solid rgba(23,19,18,.25);align-items:start}
.group:nth-child(even){grid-template-columns:2.2fr .8fr}
.group:nth-child(even) .g-text{order:2}
.group .g-items{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.g-text p{color:#4d423d;margin-top:.6rem;max-width:26ch}
.mini{display:block}
.mini .arch{aspect-ratio:3/4;padding:14%;outline-offset:4px}
.mini span{display:block;margin-top:.7rem;font-family:var(--serif);font-size:1.15rem;line-height:1.2}
.mini small{color:#6a5d56}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:.7rem}
.gal{position:relative;overflow:hidden;display:grid;place-items:center;padding:6%;cursor:zoom-in;border:1px solid rgba(201,164,92,.3)}
.gal svg{height:100%;width:auto;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gal:hover svg{transform:scale(1.07)}
.gal.tall{grid-row:span 2}.gal.wide{grid-column:span 2}

/* delivery strip + testimonials */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.2rem}
.three h3{color:var(--gold);margin-bottom:.4rem}
.three p{color:rgba(246,239,228,.72);font-size:.95rem}
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.quote{border-top:1px solid var(--ink);padding-top:1.2rem}
.stars{color:var(--gold);letter-spacing:.2em;margin-bottom:.6rem}.stars i{font-style:normal;opacity:.3}
.quote p{font-family:var(--serif);font-size:1.3rem;line-height:1.4}
.quote cite{display:block;margin-top:1rem;font-style:normal;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#6a5d56}

/* CTA band */
.band{text-align:center;padding:clamp(3.5rem,8vw,6rem) var(--pad);border-top:1px solid rgba(201,164,92,.35)}
.band .hero-btns{justify-content:center;margin-top:1.6rem}

/* page head */
.page-head{padding:clamp(3rem,7vw,5.5rem) 0 2rem;background:radial-gradient(90% 120% at 90% 0,rgba(23,48,122,.5),rgba(10,18,48,0) 70%)}
.crumbs{font-size:.8rem;color:rgba(246,239,228,.6);margin-bottom:1rem}
.crumbs a:hover{color:var(--gold-lt)}

/* shop */
.shop-tools{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;margin:2rem 0}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem;max-width:100%}
.chip{flex:none;min-height:42px;padding:0 1.1rem;border:1px solid rgba(23,19,18,.4);font-size:.82rem;transition:background .2s}
.chip:hover{background:rgba(201,164,92,.25)}
.chip[aria-pressed=true]{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.fields{display:flex;gap:.6rem;flex-wrap:wrap}
.field{min-height:44px;background:#fff;border:1px solid rgba(23,19,18,.35);padding:0 .8rem;color:var(--ink);border-radius:0;width:100%}
.fields .field{width:auto;flex:1;min-width:150px}
.skeleton{aspect-ratio:3/4.6;background:linear-gradient(100deg,#e6d9c3 30%,#f3e9d8 50%,#e6d9c3 70%);background-size:200% 100%;animation:sh 1.2s linear infinite;border-radius:999px 999px 0 0}
@keyframes sh{to{background-position:-200% 0}}
.result-count{color:#6a5d56;font-size:.9rem;margin-bottom:1.4rem}

/* product page */
.pdp{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);padding:2rem 0 4rem;align-items:start}
.gal-main{background:var(--cream);border-radius:999px 999px 0 0;aspect-ratio:4/5;padding:14% 18% 8%;display:grid;place-items:center;overflow:hidden;outline:1px solid var(--gold);outline-offset:8px}
.gal-main.zoom svg{transform:scale(1.9) translateY(8%)}
.gal-main svg{transition:transform .5s}
.thumbs{display:flex;gap:.6rem;margin-top:1.8rem;flex-wrap:wrap}
.thumb-b{width:68px;height:80px;background:var(--cream);border:1px solid transparent;border-radius:34px 34px 0 0;padding:8px;overflow:hidden}
.thumb-b[aria-pressed=true]{border-color:var(--ink)}
.pdp h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.pdp .price{font-size:1.9rem;margin:.6rem 0 1rem;display:block}
.opt{margin:1.4rem 0}
.opt-label{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.6rem}
.opt-label b{font-weight:500;color:var(--burg)}
.opts{display:flex;gap:.6rem;flex-wrap:wrap}
.colorb{width:40px;height:40px;border-radius:50%;border:1px solid rgba(23,19,18,.4);position:relative}
.colorb[aria-pressed=true]{box-shadow:0 0 0 3px var(--ivory),0 0 0 4.5px var(--ink)}
.sizeb{min-width:50px;min-height:44px;border:1px solid rgba(23,19,18,.4);padding:0 .8rem}
.sizeb[aria-pressed=true]{background:var(--ink);color:var(--ivory)}
.buy{display:grid;gap:.7rem;margin-top:1.6rem}
.buy .qrow{display:flex;gap:.7rem;align-items:center}
.buy .qrow .btn{flex:1}
details{border-top:1px solid rgba(23,19,18,.25)}
details:last-of-type{border-bottom:1px solid rgba(23,19,18,.25)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:1rem 0;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;min-height:48px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.3rem;transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 0 1.2rem;color:#4d423d}
.acc{margin-top:2rem}

/* forms / content pages */
.form{display:grid;gap:1.1rem}
.form label{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.4rem}
.form textarea.field{padding:.8rem;min-height:140px;resize:vertical}
.err{color:#9b1c2e;font-size:.85rem;margin-top:.3rem;min-height:1.1em}
.field[aria-invalid=true]{border-color:#9b1c2e}
.notice{padding:1rem 1.2rem;border-left:3px solid var(--gold);background:#fff}
.notice.bad{border-color:#9b1c2e}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.contact-opts{display:grid;gap:.8rem;margin-top:1.6rem}
.contact-opts .btn{justify-content:flex-start}
.checkout{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.summary{background:#fff;padding:1.5rem;border:1px solid rgba(23,19,18,.15)}
.sum-line{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;font-size:.92rem}
.prose p{max-width:60ch}.prose p+p{margin-top:1rem}
.feature-list{display:grid;gap:1.4rem;margin-top:2rem}
.feature-list li{border-top:1px solid rgba(23,19,18,.25);padding-top:1rem}
.feature-list h3{margin-bottom:.2rem}

/* footer */
.site-footer{position:relative;z-index:1;border-top:1px solid var(--gold);padding:4rem var(--pad) 1.5rem;background:rgba(8,14,40,.88)}
.foot-grid{max-width:calc(var(--max) - 2*var(--pad));margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.5rem}
.foot-grid .brand-main{font-size:1.6rem;padding:0}.foot-grid .brand-sub{margin:.4rem 0 1rem}
.foot-grid h3{font:500 .74rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.foot-grid li{margin-bottom:.3rem}
.foot-grid li a,.foot-grid p a{display:inline-block;padding:.25rem 0;color:rgba(246,239,228,.8)}
.foot-grid a:hover{color:var(--gold-lt)}
.foot-tag{font-size:1.9rem}
.social{display:flex;gap:.3rem;margin-top:.8rem}
.social a{width:44px;height:44px;border:1px solid rgba(201,164,92,.5);display:grid;place-items:center;border-radius:50%}
.social svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.4}
.legal{max-width:calc(var(--max) - 2*var(--pad));margin:3rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(201,164,92,.25);font-size:.78rem;letter-spacing:.08em;color:rgba(246,239,228,.6)}

/* floating */
.wa-float{position:fixed;right:18px;bottom:18px;width:52px;height:52px;border-radius:50%;background:var(--black);border:1px solid var(--gold);display:grid;place-items:center;z-index:50;transition:background .25s}
.wa-float:hover{background:var(--burg)}
.wa-float svg{width:26px;height:26px;fill:none;stroke:var(--gold-lt);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.lightbox{position:fixed;inset:0;background:rgba(7,13,38,.96);z-index:120;display:grid;place-items:center;padding:3.5rem 1rem}
.lightbox.lightbox figure{max-width:min(520px,90vw);width:100%;text-align:center}
.lightbox .arch{aspect-ratio:3/4;padding:12%;margin:0 auto;width:min(100%,60vh)}
.lightbox figcaption{margin-top:1rem;font-family:var(--serif);font-size:1.3rem;color:var(--gold-lt)}
.lb-close{position:absolute;top:10px;right:10px}
.lb-nav{position:absolute;top:50%;width:48px;height:56px;font-size:2.4rem;color:var(--gold-lt);transform:translateY(-50%)}
.lb-prev{left:6px}.lb-next{right:6px}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);background:var(--ivory);color:var(--ink);padding:.8rem 1.3rem;border-left:3px solid var(--gold);opacity:0;pointer-events:none;transition:.35s;z-index:130;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0)}
.fade{animation:fadein .5s ease both}@keyframes fadein{from{opacity:0}to{opacity:1}}

/* responsive */
@media (max-width:1020px){
  .menu-btn{display:flex;order:-1;margin-left:-.6rem}
  .bar{gap:.4rem}.brand{margin:0 auto}
  .nav{position:fixed;top:0;left:0;bottom:0;width:min(340px,86vw);background:var(--black);border-right:1px solid var(--gold);flex-direction:column;align-items:stretch;gap:0;padding:5.5rem 1.6rem 2rem;transform:translateX(-100%);transition:transform .4s cubic-bezier(.2,.7,.2,1);z-index:75;visibility:hidden}
  .nav.open{transform:none;visibility:visible}
  .nav a:not(.btn){font-family:var(--serif);font-size:1.7rem;letter-spacing:.04em;text-transform:none;padding:.9rem 0;border-bottom:1px solid rgba(201,164,92,.2)}
  .nav-cta{margin-top:1.6rem;min-height:50px}
  .hero-in{grid-template-columns:1fr;min-height:0;gap:3rem}
  .arches{margin:0 auto}
  .intro,.statement-in,.split,.checkout,.pdp{grid-template-columns:1fr}
  .intro-art{margin:0 auto}
  .statement .arch{margin:0 auto;max-width:240px}
  .benefits{grid-template-columns:1fr 1fr}.benefit:nth-child(3){border-left:0}.benefit:nth-child(n+3){border-top:1px solid rgba(201,164,92,.35)}
  .group,.group:nth-child(even){grid-template-columns:1fr}.group:nth-child(even) .g-text{order:0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:680px){
  :root{--hh:62px}
  .brand-main{font-size:1.15rem;letter-spacing:.14em;padding-left:.14em}.brand-sub{font-size:.5rem;letter-spacing:.34em}
  .tools .icon-btn:nth-child(2){display:none}
  .bento{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(190px,auto)}
  .t1,.t7{grid-column:span 2}.t2,.t3,.t4,.t5,.t6{grid-column:span 1}.t1{grid-row:span 1;min-height:280px}
  .tile{padding:1rem}.tile .tile-art{width:60%;right:-4%;top:5%;opacity:.95}.t1 .tile-art{width:44%}
  .tile h3{font-size:1.35rem}.tile p{font-size:.82rem}
  .t7{flex-direction:column;align-items:flex-start}.t7 .tile-art{right:8%}
  .three,.quotes{grid-template-columns:1fr}
  .benefits{grid-template-columns:1fr}.benefit{border-left:0;border-top:1px solid rgba(201,164,92,.35)}.benefit:first-child{border-top:0}
  .group .g-items{grid-template-columns:1fr 1fr 1fr;gap:.6rem}.mini span{font-size:1rem}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.gal.wide{grid-column:span 2}
  .grid{grid-template-columns:1fr 1fr;gap:1.6rem .8rem}
  .pcard h3{font-size:1.1rem}.pcard .acts{flex-direction:column}
  .pcard .row{flex-direction:column;align-items:flex-start}
  .foot-grid{grid-template-columns:1fr}
  .hero-btns .btn{flex:1 1 100%}
  .sec-head{align-items:start}
  .wa-float{width:48px;height:48px;right:12px;bottom:12px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none!important}

/* deep-blue light-section overrides */
.light .pcard .meta,.light .mini small,.light .result-count,.light .quote cite,.light .crumbs,.light .g-text p,.light details p,.light .quote p+cite{color:rgba(246,239,228,.72)}
.light .pcard .meta{color:rgba(246,239,228,.7)}
.light .btn-dark{background:var(--gold);color:var(--black);border-color:var(--gold)}.light .btn-dark:hover{background:var(--gold-lt);border-color:var(--gold-lt)}
.light .quote{border-color:var(--gold)}
.light .chip{border-color:rgba(246,239,228,.4)}.light .chip:hover{background:rgba(201,164,92,.2)}.light .chip[aria-pressed=true]{background:var(--gold);color:var(--black);border-color:var(--gold)}
.light .qty{border-color:rgba(246,239,228,.45)}.light .qty button:hover{background:rgba(201,164,92,.25)}
.light .sizeb{border-color:rgba(246,239,228,.45)}.light .sizeb[aria-pressed=true]{background:var(--gold);color:var(--black);border-color:var(--gold)}
.light .colorb{border-color:rgba(246,239,228,.5)}.light .colorb[aria-pressed=true]{box-shadow:0 0 0 3px #0e1a4a,0 0 0 4.5px var(--gold)}
.light .thumb-b[aria-pressed=true]{border-color:var(--gold)}
.light details{border-color:rgba(201,164,92,.35)}
.light .opt-label b{color:var(--blush)}
.light .notice{background:rgba(255,255,255,.07);color:var(--ivory)}
.light .summary{background:rgba(255,255,255,.06);border-color:rgba(201,164,92,.4)}
.light .err{color:#ff9fae}
.light .feature-list li{border-color:rgba(201,164,92,.35)}
.light .skeleton{background:linear-gradient(100deg,#16255f 30%,#223382 50%,#16255f 70%);background-size:200% 100%}
.light .link-btn{color:inherit}
.light .group{border-color:rgba(201,164,92,.35)}

/* stars */
.stars{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.star{position:absolute;border-radius:50%;background:#fff;opacity:.15;animation:twinkle var(--d,4s) ease-in-out var(--l,0s) infinite}
.star.warm{background:var(--gold-lt)}
.star.big{box-shadow:0 0 6px 1px rgba(255,255,255,.55)}
@keyframes twinkle{0%,100%{opacity:.12;transform:scale(.8)}50%{opacity:var(--o,.7);transform:scale(1.15)}}
@media (prefers-reduced-motion:reduce){.star{animation:none!important;opacity:.4}}

.brand-main,.brand-sub,.nav a,.nav-cta{white-space:nowrap}
@media (min-width:1021px){.bar{gap:1rem}.nav{gap:1.15rem}.nav a:not(.btn){letter-spacing:.13em;font-size:.72rem}.nav-cta{padding:0 1rem;letter-spacing:.16em}.brand-main{font-size:1.4rem}}

/* photography */
.arch,.thumb,.thumb-b,.gal-main,.gal{padding:0!important}
.arch img,.thumb img,.thumb-b img,.gal-main img,.gal img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.tile .tile-art{width:40%;max-width:200px;aspect-ratio:3/4}
.tile .tile-art img{width:100%;height:100%;border-radius:999px 999px 0 0;object-fit:cover}
.t1 .tile-art{width:46%;max-width:280px}
.t7 .tile-art{width:110px;right:10%;top:10%}
.gal{display:block}.gal img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}.gal:hover img{transform:scale(1.05)}
.gal-main img{transition:transform .5s}.gal-main.zoom img{transform:scale(1.7)}
.thumb-b.zoomthumb img{transform:scale(1.8)}
.pcard:hover .arch img{transform:scale(1.04)}.pcard .arch img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.lightbox .arch{overflow:hidden}
