@font-face{font-family:"Cormorant";src:url("fonts/cormorant.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url("fonts/cormorant-italic.woff2") format("woff2");font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url("fonts/jost.woff2") format("woff2");font-weight:300 600;font-style:normal;font-display:swap}
:root{
  --cocoa:#2b1a12; --cocoa-2:#3a2418; --brown:#5a3a26; --cream:#f7efe3; --cream-2:#efe3d0;
  --gold:#c08a3e; --gold-soft:#d9b27a; --ink:#2b1a12; --muted:#6e5544;
  --serif:"Cormorant","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --sans:"Jost","Avenir Next","Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--cocoa);color:var(--cream);padding:.6rem 1rem;z-index:20}
.skip:focus{left:.5rem;top:.5rem}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.4rem}
.narrow{max-width:680px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0}
h2{font-size:clamp(2.1rem,6.5vw,3.2rem);margin-bottom:1.6rem}
h2 em{font-style:italic;color:var(--brown)}
.eyebrow{font-family:var(--sans);font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 .8rem;font-weight:500}
.eyebrow.light{color:var(--gold-soft)}

/* draft bar + placeholders */
.draft-bar{background:#1d110b;color:#e9d6b8;font-size:.72rem;letter-spacing:.06em;text-align:center;padding:.45rem 1rem}
.ph-swatch{border:1px dashed var(--gold-soft);padding:0 .35rem;border-radius:3px}
.ph{display:inline-block;border:1.5px dashed var(--gold);color:var(--brown);background:rgba(192,138,62,.08);padding:.05rem .55rem;border-radius:6px;font-size:.92em;line-height:1.5}
.ph.dark{color:#f1dcb9;border-color:var(--gold-soft);background:rgba(217,178,122,.08)}
.ph-block{border:1.5px dashed var(--gold);border-radius:12px;padding:1.4rem 1.3rem 1rem;position:relative;background:rgba(192,138,62,.05)}
.ph-block p{margin:0;font-family:var(--serif);font-size:1.35rem;line-height:1.45;color:var(--muted);font-style:italic}
.ph-label{position:absolute;top:-.7rem;left:1rem;background:var(--cream);color:var(--gold);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;padding:0 .5rem;font-weight:500}
.ph-tag{position:absolute;left:.75rem;bottom:.75rem;background:rgba(29,17,11,.78);color:#f1dcb9;font-size:.7rem;letter-spacing:.04em;padding:.3rem .6rem;border-radius:4px;border:1px dashed var(--gold-soft)}

/* header */
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.4rem;background:rgba(247,239,227,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(90,58,38,.12)}
.wordmark{font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.75rem;text-decoration:none;color:var(--cocoa);letter-spacing:.01em;line-height:1}
.site-header ul{list-style:none;display:flex;gap:1.1rem;margin:0;padding:0}
.site-header nav a{text-decoration:none;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown);padding:.3rem 0}
.site-header nav a:hover{color:var(--gold)}
@media (max-width:520px){.site-header nav li:not(:last-child):not(:nth-child(3)){display:none}.site-header ul{gap:.9rem}}

/* hero */
.hero{background:var(--cocoa);color:var(--cream);display:grid}
.hero-media{position:relative}
.hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-copy{padding:2.4rem 1.4rem 3.2rem;text-align:center}
.hero h1{font-size:clamp(4.2rem,20vw,8rem);font-style:italic;font-weight:500;letter-spacing:-.01em;line-height:.95;margin:.2rem 0 1rem;color:#fbf3e6}
.tagline{font-family:var(--serif);font-size:1.45rem;line-height:1.35;color:#ead8bd;max-width:26ch;margin:0 auto 2rem}
.hero-actions{display:flex;flex-direction:column;gap:.75rem;align-items:center}
.btn{display:inline-block;text-decoration:none;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:1rem 1.8rem;border-radius:999px;min-width:220px;text-align:center;transition:background .2s,color .2s}
.btn-gold{background:var(--gold);color:#1d110b}
.btn-gold:hover{background:var(--gold-soft)}
.btn-ghost{border:1px solid rgba(234,216,189,.5);color:#ead8bd}
.btn-ghost:hover{border-color:var(--gold-soft);color:#fff}
@media (min-width:900px){
  .hero{grid-template-columns:1.1fr 1fr;min-height:620px}
  .hero-media{order:2}
  .hero-media img{height:100%;aspect-ratio:auto}
  .hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;padding:4rem 4rem 4rem 6vw}
  .tagline{margin-left:0}
  .hero-actions{flex-direction:row}
  .btn{min-width:0}
}

/* story */
.story{padding:4.5rem 0 4rem;text-align:center}
.story .ph-block{text-align:left}
.ornament{display:flex;align-items:center;justify-content:center;gap:1rem;color:var(--gold);margin-top:2.6rem;font-size:1rem}
.ornament span{width:60px;height:1px;background:var(--gold-soft)}

/* product */
.product{background:var(--cocoa-2);color:var(--cream);padding:4.5rem 0;text-align:center;background-image:radial-gradient(ellipse at top,rgba(192,138,62,.14),transparent 60%)}
.product h2{color:#fbf3e6}
.product-card{display:grid;gap:2rem;text-align:left;margin-top:.5rem}
.product-media{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.35)}
.product-media img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:60% 60%}
.lede{font-family:var(--serif);font-size:1.6rem;line-height:1.3;margin:0 0 1.6rem;color:#f3e4cc}
.details{margin:0 0 2rem;padding:0}
.details div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;border-top:1px solid rgba(217,178,122,.22)}
.details div:last-child{border-bottom:1px solid rgba(217,178,122,.22)}
.details dt{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft)}
.details dd{margin:0;text-align:right;flex-shrink:0}
.details dt{flex:1 1 auto}
.product .ph{color:#f1dcb9;border-color:var(--gold-soft);background:rgba(217,178,122,.08)}
@media (min-width:900px){.product-card{grid-template-columns:1fr 1fr;align-items:center;gap:4rem}.product-media img{aspect-ratio:1/1}}

/* order */
.order{padding:4.5rem 0;text-align:center;background:var(--cream-2)}
.order-intro{max-width:34ch;margin:-.6rem auto 1.2rem;color:var(--muted)}
.perks{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem .9rem;margin:0 auto 2rem;padding:0;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brown)}
.perks li::before{content:"\2726";color:var(--gold);margin-right:.35rem}
.service-line{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin:-1.2rem 0 1.8rem}
.service-line span{color:var(--gold);font-size:.7rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.order-form,.confirm{max-width:560px;margin:0 auto;text-align:left;background:var(--cream);border:1px solid rgba(90,58,38,.12);border-radius:16px;padding:1.6rem 1.25rem 1.5rem;box-shadow:0 14px 30px rgba(43,26,18,.07)}
.group{border:0;margin:0 0 1.5rem;padding:0 0 1.5rem;border-bottom:1px solid rgba(90,58,38,.1);min-width:0}
.group:last-of-type{border-bottom:0;padding-bottom:0}
.group legend{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:var(--cocoa);padding:0;margin-bottom:.8rem}
.group-note{margin:.2rem 0 .9rem;color:var(--muted);font-size:.9rem}
.group-note.small{font-size:.82rem;margin:.5rem 0 0}
.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.95rem;min-width:0}
.field:last-child{margin-bottom:0}
.field label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brown);font-weight:500}
.hint{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400;font-size:.82rem;margin-left:.3rem}
.field input,.field select,.field textarea{font:inherit;font-size:16px;color:var(--ink);background:#fffaf2;border:1px solid rgba(90,58,38,.28);border-radius:10px;padding:.75rem .85rem;width:100%;min-width:0;min-height:48px;-webkit-appearance:none;appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--brown) 50%),linear-gradient(135deg,var(--brown) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.4rem}
.field textarea{resize:vertical;min-height:0}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(192,138,62,.25)}
.field ::placeholder{color:#a48c78}
.invalid input,.invalid select,.invalid textarea,.field .is-invalid{border-color:#b4472e;box-shadow:0 0 0 3px rgba(180,71,46,.12)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.field-row .field{margin-bottom:0}

.box-row{display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:end;margin-bottom:.8rem;position:relative}
.box-row .field{margin-bottom:0}
.qty{display:flex;align-items:stretch;border:1px solid rgba(90,58,38,.28);border-radius:10px;background:#fffaf2;overflow:hidden;height:48px}
.qty input{border:0;border-radius:0;width:2.6rem;text-align:center;padding:0;background:transparent;-moz-appearance:textfield;min-height:0}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty input:focus{box-shadow:none}
.qty-btn{font:inherit;font-size:1.2rem;width:2.4rem;border:0;background:transparent;color:var(--brown);cursor:pointer}
.qty-btn:hover{background:rgba(192,138,62,.12)}
.remove-box{position:absolute;top:-.15rem;right:0;font:inherit;font-size:.74rem;background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;padding:0}
.add-box{font:inherit;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);background:none;border:1px dashed rgba(90,58,38,.35);border-radius:999px;padding:.55rem 1.1rem;cursor:pointer}
.add-box:hover{border-color:var(--gold);color:var(--cocoa)}

.toggle{display:grid;grid-template-columns:1fr 1fr;background:var(--cream-2);border-radius:999px;padding:4px;margin-bottom:.8rem}
.toggle-opt{position:relative;cursor:pointer}
.toggle-opt input,.pay-opt input{position:absolute;opacity:0;width:1px;height:1px}
.toggle-opt span{display:block;text-align:center;padding:.7rem .5rem;border-radius:999px;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brown);transition:background .2s,color .2s}
.toggle-opt input:checked+span{background:var(--cocoa);color:var(--cream)}
.toggle-opt input:focus-visible+span,.pay-opt input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}

.pay-opts{display:grid;gap:.6rem}
.pay-opt{cursor:pointer}
.pay-opt span{display:flex;flex-direction:column;gap:.1rem;border:1px solid rgba(90,58,38,.22);border-radius:12px;padding:.8rem 1rem .8rem 2.9rem;position:relative;background:#fffaf2;transition:border-color .2s,background .2s}
.pay-opt span::before{content:"";position:absolute;left:1rem;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;border:1.5px solid var(--brown)}
.pay-opt input:checked+span{border-color:var(--gold);background:rgba(192,138,62,.08)}
.pay-opt input:checked+span::before{border-color:var(--gold);background:radial-gradient(circle,var(--gold) 0 5px,transparent 6px)}
.pay-opt strong{font-family:var(--serif);font-size:1.3rem;font-weight:600;line-height:1.1}
.pay-opt em{font-style:normal;font-size:.85rem;color:var(--muted)}

.form-error{color:#9e3a22;font-size:.9rem;margin:0 0 .8rem}
.btn-submit{display:block;width:100%;border:0;cursor:pointer;font-family:var(--sans);font-size:.85rem;padding:1.1rem 1.8rem}
.draft-note{text-align:center;font-size:.75rem;color:var(--muted);margin:.8rem 0 0}

.confirm{text-align:center;padding:2.4rem 1.4rem}
.confirm:focus{outline:none}
.confirm-mark{color:var(--gold);font-size:1.8rem;margin-bottom:.6rem}
.confirm h3{font-size:1.9rem;margin-bottom:.8rem}
.confirm p{color:var(--muted);margin:0 0 1.6rem}
.btn-ghost-dark{border:1px solid rgba(90,58,38,.35);color:var(--brown);background:none;cursor:pointer;font-family:var(--sans)}
.btn-ghost-dark:hover{border-color:var(--gold);color:var(--cocoa)}

.note{margin:2rem auto 0;color:var(--muted);max-width:40ch}
@media (min-width:760px){.order-form{padding:2.2rem 2.2rem 2rem}.pay-opts{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.field-row{grid-template-columns:1fr}.field-row .field+.field{margin-top:.95rem}}

/* footer */
.site-footer{background:#1d110b;color:#ead8bd;padding:4rem 0 2.5rem;text-align:center}
.wordmark.big{font-size:3.4rem;color:#fbf3e6;margin:0 0 1.6rem}
.site-footer h2{font-size:.74rem;margin-bottom:1.2rem}
.contact{list-style:none;padding:0;margin:0 auto 2.4rem;display:grid;gap:.8rem;max-width:420px}
.contact li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid rgba(217,178,122,.15)}
.contact .k{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft)}
.fine{font-size:.75rem;color:#9b8370;margin:0}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
