:root{
  --bg:#FFFFFF;
  --ivory:#FFFBEA;
  --ink:#2A2418;
  --muted:#6F6553;
  --gold:#F2B705;
  --gold-deep:#996A00;
  --gold-soft:#FFEFB0;
  --line:#F3E4A6;
  --on-gold:#2A2418;
  --serif:"Cormorant Garamond", "Palatino Linotype", Georgia, serif;
  --sans:"Jost", "Segoe UI", system-ui, -apple-system, sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#171410; --ivory:#1F1B15; --ink:#F4EBD3; --muted:#B9AE96;
    --gold:#FFD23F; --gold-deep:#FFDF6B; --gold-soft:#4A3F10; --line:#3D3512; --on-gold:#171410;
  }
}
:root[data-theme="dark"]{
  --bg:#171410; --ivory:#1F1B15; --ink:#F4EBD3; --muted:#B9AE96;
  --gold:#FFD23F; --gold-deep:#FFDF6B; --gold-soft:#4A3F10; --line:#3D3512; --on-gold:#171410;
}
html{height:100%;scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0;letter-spacing:.005em}
p{margin:0}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.goldtext{background:linear-gradient(100deg,var(--gold-deep),var(--gold) 45%,#FFD84D 60%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* header */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.brand{--b:44px;display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:22px;font-weight:600;text-decoration:none;letter-spacing:.02em;white-space:nowrap}
.call{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid var(--gold);border-radius:999px;text-decoration:none;font-size:15px;font-weight:400;color:var(--gold-deep);transition:background .2s,color .2s}
.call:hover{background:var(--gold);color:var(--on-gold)}

/* hero */
.hero{padding:72px 0 88px;background:radial-gradient(900px 500px at 85% 30%,var(--gold-soft) 0,transparent 60%),var(--bg);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(46px,7.4vw,92px);font-weight:500}
.hero h1 span{display:block;font-style:italic;font-weight:400;font-size:.5em;margin-bottom:14px;color:var(--muted);letter-spacing:.04em}
.hero p.lead{margin-top:26px;max-width:460px;color:var(--muted);font-size:18px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:999px;text-decoration:none;font-size:16px;font-weight:400;border:1px solid var(--gold);cursor:pointer;font-family:var(--sans);transition:transform .2s,background .2s}
.btn.solid{background:linear-gradient(135deg,#FFD84D,#F2B705 55%,#E6A800);color:#2A2418;border-color:transparent}
.btn.solid:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--gold-deep)}
.btn.ghost:hover{background:var(--ivory)}
.emblem{display:block;width:100%;max-width:480px;height:auto;justify-self:center;border-radius:6px;border:1px solid var(--gold);outline:8px solid var(--bg);box-shadow:0 0 0 9px var(--line),0 24px 60px rgba(91,28,49,.28)}
.hero .wrap>*{animation:rise .9s ease both}
.hero .wrap>*:nth-child(2){animation-delay:.15s}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:860px){.hero{padding:44px 0 56px}.hero .wrap{grid-template-columns:1fr}.emblem{max-width:340px;order:-1;margin:0 9px}}

/* sections */
section{padding:88px 0}
.head{max-width:560px;margin-bottom:52px}
.head h2{font-size:clamp(34px,4.6vw,52px)}
.head p{margin-top:16px;color:var(--muted)}
.rule{width:56px;height:2px;background:linear-gradient(90deg,var(--gold-deep),var(--gold-soft));margin-top:22px;border:0}

/* collections */
.collections{background:var(--ivory)}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.tile{background:var(--bg);border:1px solid var(--line);padding:28px 26px 26px;display:flex;flex-direction:column;justify-content:space-between;min-height:250px;grid-column:span 2}
.tile.wide{grid-column:span 3;flex-direction:row;align-items:center;gap:20px;min-height:220px}
.tile svg{width:96px;height:96px;flex:none}
.tile h3{font-size:26px;margin-top:22px}
.tile.wide h3{margin-top:0}
.tile p{margin-top:8px;color:var(--muted);font-size:15px;line-height:1.55}
@media(max-width:900px){.tile,.tile.wide{grid-column:span 3}.tile.wide{flex-direction:column;align-items:flex-start}.tile.wide h3{margin-top:22px}}
@media(max-width:560px){.grid{grid-template-columns:1fr}.tile,.tile.wide{grid-column:auto;min-height:0}}

/* promise */
.promise .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.promise ul{list-style:none;margin:0;padding:0}
.promise li{padding:22px 0;border-bottom:1px solid var(--line)}
.promise li:first-child{padding-top:0}
.promise li h3{font-size:24px}
.promise li p{margin-top:6px;color:var(--muted);font-size:16px}
@media(max-width:860px){.promise .wrap{grid-template-columns:1fr;gap:36px}}

/* enquiry band */
.band{background:linear-gradient(135deg,#5b1c31,#42101f 60%,#390617);color:#fff;text-align:center;padding:76px 0}
.band h2{font-size:clamp(32px,4.4vw,50px);color:#F6D56A}
.band p{margin:16px auto 30px;max-width:520px;color:#EBDDCB}
.band .btn{background:linear-gradient(135deg,#FFD84D,#F2B705 55%,#E6A800);color:#2A2418;border-color:transparent}
.band .btn:hover{transform:translateY(-2px)}

/* visit */
.visit .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.info dt{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--gold-deep);margin-top:26px}
.info dt:first-child{margin-top:0}
.info dd{margin:4px 0 0;color:var(--muted)}
.info dd a{color:var(--ink);text-decoration:none;font-size:22px;font-family:var(--serif);font-weight:500}
form{background:var(--ivory);border:1px solid var(--line);padding:32px}
form h3{font-size:28px;margin-bottom:6px}
form>p{color:var(--muted);font-size:15px;margin-bottom:20px}
label{display:block;font-size:14px;color:var(--muted);margin:14px 0 6px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:16px;border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
textarea{min-height:90px;resize:vertical}
form .btn{margin-top:22px;width:100%}
@media(max-width:860px){.visit .wrap{grid-template-columns:1fr;gap:40px}}

footer{border-top:1px solid var(--line);padding:36px 0;text-align:center;color:var(--muted);font-size:14px}
footer .brand{display:block;font-size:24px;margin-bottom:6px;color:var(--ink)}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---- shared header ---- */
.badge{display:inline-block;flex:none;width:var(--b);height:var(--b);border-radius:50%;border:1px solid var(--gold);background:url(logo.jpg) no-repeat;background-color:#4a1226;background-size:calc(var(--b)*1.5714) auto;background-position:calc(var(--b)*-.2857) calc(var(--b)*-.1429)}
.menu{display:flex;gap:30px;align-items:center}
.menu a{text-decoration:none;font-size:15px;color:var(--muted);padding:4px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.menu a:hover{color:var(--gold-deep)}
.menu a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--gold)}
@media(max-width:760px){
  html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 110px)}
  .bar{flex-wrap:wrap;padding:10px 0 0;gap:8px 12px}
  .brand{font-size:17px;gap:8px;--b:36px}
  .call{padding:7px 14px;font-size:14px}
  .menu{order:3;width:100%;justify-content:space-between;gap:8px;padding:8px 0 10px;border-top:1px solid var(--line);overflow-x:auto}
  .menu a{font-size:14px;white-space:nowrap}
}

/* ---- inner page heading ---- */
.pagehead{padding:64px 0 56px;background:radial-gradient(700px 320px at 90% 0,var(--gold-soft) 0,transparent 65%),var(--bg);border-bottom:1px solid var(--line)}
.pagehead h1{font-size:clamp(40px,6vw,68px)}
.pagehead p{margin-top:16px;max-width:560px;color:var(--muted);font-size:18px}

/* ---- prose / legal ---- */
.prose{max-width:720px}
.prose h2{font-size:32px;margin:48px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{margin-bottom:16px;color:var(--muted)}
.prose ul{margin:0 0 16px;padding-left:22px;color:var(--muted)}
.prose li{margin-bottom:6px}
.prose a{color:var(--gold-deep)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{width:100%;height:auto;border-radius:6px;border:1px solid var(--gold);box-shadow:0 0 0 9px var(--line)}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:40px}.split img{max-width:420px;margin:0 9px}}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.values div{padding:26px;background:var(--bg);border:1px solid var(--line)}
.values h3{font-size:24px;margin-bottom:8px}
.values p{color:var(--muted);font-size:15px;line-height:1.6}
@media(max-width:760px){.values{grid-template-columns:1fr}}
.cta{text-align:center}
.cta p{margin:14px auto 26px;color:var(--muted);max-width:480px}

/* ---- footer ---- */
footer .links{display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:center;margin:14px 0 18px}
footer .links a{text-decoration:none;color:var(--muted)}
footer .links a:hover{color:var(--gold-deep)}
footer .brand{display:block}

