:root{
  /* Organic design tokens, carried over from the MYTONE application so the
     public site and the product read as one brand. */
  --cream:#f5ead8; --cream-2:#efe3cd; --cream-3:#e8dcc4;
  --paper:#fbf6ec; --white:#fffdf9;
  --ink:#241d16; --ink-2:#5c5045; --ink-3:#8c7f70;
  --line:#e2d6bd; --line-2:#d6c8ab;
  --terra:#c67139; --terra-d:#a85c2c; --terra-l:#f0dcc6;
  --sage:#7a8a5e; --sage-d:#5f6b49; --sage-bg:#e6ecd9; --sage-l:#d9e2c6;
  --blush:#f2ddd6;
  --r1:10px; --r2:16px; --r3:24px; --r4:34px;
  --sh:0 1px 2px rgba(36,29,22,.04),0 8px 24px rgba(36,29,22,.06);
  --sh2:0 3px 8px rgba(36,29,22,.07),0 20px 50px rgba(36,29,22,.11);
  --max:1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);
  font-family:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}

h1,h2,h3,h4{font-family:'Caprasimo',Georgia,serif;font-weight:400;line-height:1.1;
  letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}

.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.eyebrow{display:inline-block;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;color:var(--terra-d);background:var(--terra-l);
  padding:5px 13px;border-radius:999px;margin-bottom:18px}
.eyebrow.sage{color:var(--sage-d);background:var(--sage-l)}

/* ── skip link ─────────────────────────────── */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--cream);
  padding:12px 20px;z-index:200;border-radius:0 0 var(--r1) 0}
.skip:focus{left:0}

/* ── header ────────────────────────────────── */
.hdr{position:sticky;top:0;z-index:100;background:rgba(245,234,216,.92);
  backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding-top:16px;padding-bottom:16px}
.brand{font-family:'Caprasimo',Georgia,serif;font-size:1.55rem;letter-spacing:-.035em;
  color:var(--ink);display:flex;align-items:baseline;gap:2px}
.brand span{color:var(--terra)}
.nav{display:flex;align-items:center;gap:30px}
.nav a{font-size:.94rem;font-weight:500;color:var(--ink-2);position:relative;padding:3px 0}
.nav a::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;
  background:var(--terra);transition:right .25s ease}
.nav a:hover{color:var(--ink)}
.nav a:hover::after{right:0}
.soon-tag{font-size:.76rem;font-weight:700;letter-spacing:.06em;color:var(--sage-d);
  background:var(--sage-l);border:1px solid #c3cfae;padding:7px 15px;border-radius:999px;
  white-space:nowrap}

.burger{display:none;width:44px;height:44px;border:1px solid var(--line-2);
  border-radius:var(--r1);background:var(--paper);cursor:pointer;
  align-items:center;justify-content:center;flex-direction:column;gap:4px}
.burger span{display:block;width:19px;height:2px;background:var(--ink);border-radius:2px;
  transition:.25s}
#navtoggle{position:absolute;opacity:0;pointer-events:none}

/* ── hero ──────────────────────────────────── */
.hero{padding:70px 0 84px;position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.4rem,5.2vw,4rem);margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--terra-d)}
.hero p.lede{font-size:clamp(1.02rem,1.7vw,1.18rem);color:var(--ink-2);
  max-width:47ch;margin-bottom:32px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:15px 30px;border-radius:999px;font-weight:600;font-size:.97rem;
  border:1.5px solid transparent;cursor:pointer;transition:.2s;font-family:inherit}
.btn-primary{background:var(--terra);color:var(--white);box-shadow:0 6px 18px rgba(198,113,57,.24)}
.btn-primary:hover{background:var(--terra-d);transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(198,113,57,.3)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--terra);background:var(--paper)}

/* Visual slots. Deliberately typographic rather than stock imagery: real
   product photography replaces these before launch. */
.shot{position:relative;border-radius:var(--r4);overflow:hidden;
  background:linear-gradient(150deg,var(--blush) 0%,var(--terra-l) 42%,var(--sage-l) 100%);
  box-shadow:var(--sh2);display:grid;place-items:center;isolation:isolate}
.shot::after{content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.5),transparent 60%);
  pointer-events:none}
.shot-hero{aspect-ratio:1/1;max-height:520px}
.shot svg{width:44%;height:auto;opacity:.5;color:var(--ink)}
.shot-hero img{border-radius:var(--r4)}
/* Photographs fill the existing cards. The gradient stays underneath as a
   graceful fallback if an image is missing, so a failed download degrades to
   the previous look rather than a broken-image icon. */
.shot img,.cat .art img{width:100%;height:100%;object-fit:cover;display:block}
.shot{padding:0}
figure.shot{margin:0}
.cat .art{overflow:hidden}
.cat .art img{transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.cat:hover .art img{transform:scale(1.04)}

.hero-stats{display:flex;gap:34px;margin-top:38px;padding-top:28px;
  border-top:1px solid var(--line);flex-wrap:wrap}
.hero-stats div{max-width:20ch}
.hero-stats strong{display:block;font-family:'Caprasimo',Georgia,serif;font-size:1.05rem}
.hero-stats span{font-size:.86rem;color:var(--ink-3)}

/* ── sections ──────────────────────────────── */
section{padding:86px 0}
.tint{background:var(--cream-2);border-block:1px solid var(--line)}
.paper{background:var(--paper);border-block:1px solid var(--line)}
.head{max-width:60ch;margin-bottom:46px}
.head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin-bottom:14px}
.head p{color:var(--ink-2);font-size:1.02rem}
.center{margin-inline:auto;text-align:center}

/* ── category cards ────────────────────────── */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cat{background:var(--white);border:1px solid var(--line);border-radius:var(--r3);
  overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.cat:hover{transform:translateY(-4px);box-shadow:var(--sh2);border-color:var(--line-2)}
.cat .art{aspect-ratio:16/10;display:grid;place-items:center;position:relative;
  border-bottom:1px solid var(--line)}
.cat:nth-child(1) .art{background:linear-gradient(140deg,var(--terra-l),var(--blush))}
.cat:nth-child(2) .art{background:linear-gradient(140deg,var(--sage-l),var(--cream-3))}
.cat:nth-child(3) .art{background:linear-gradient(140deg,var(--cream-3),var(--terra-l))}
.cat:nth-child(4) .art{background:linear-gradient(140deg,var(--blush),var(--sage-l))}
.cat:nth-child(5) .art{background:linear-gradient(140deg,var(--sage-l),var(--blush))}
.cat:nth-child(6) .art{background:linear-gradient(140deg,var(--terra-l),var(--cream-3))}
.cat .art svg{width:34%;opacity:.45;color:var(--ink)}
.cat .body{padding:22px 24px 26px;flex:1;display:flex;flex-direction:column;gap:7px}
.cat h3{font-size:1.14rem}
.cat p{font-size:.9rem;color:var(--ink-2);flex:1}
.pill{display:inline-flex;align-self:flex-start;font-size:.7rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px;
  background:var(--cream-2);color:var(--ink-3);border:1px solid var(--line)}

/* ── features ──────────────────────────────── */
.feats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.feat .ico{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;
  background:var(--white);border:1px solid var(--line);color:var(--terra-d);margin-bottom:18px;
  box-shadow:var(--sh)}
.feat h3{font-size:1.08rem;margin-bottom:8px}
.feat p{font-size:.92rem;color:var(--ink-2)}

/* ── payment ───────────────────────────────── */
.pay{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.plan-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r4);
  padding:32px 34px;box-shadow:var(--sh2)}
.plan-row{display:flex;align-items:center;gap:15px;padding:17px 0}
.plan-row+.plan-row{border-top:1px solid var(--line)}
.step-n{width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-family:'Caprasimo',Georgia,serif;font-size:.92rem;background:var(--terra);
  color:var(--white)}
.step-n.g{background:var(--sage)}
.plan-row div strong{display:block;font-size:.98rem}
.plan-row div span{font-size:.87rem;color:var(--ink-2)}

/* ── split ─────────────────────────────────── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.split .shot{aspect-ratio:4/3}

/* ── coming soon ───────────────────────────── */
.soon{background:var(--ink);color:var(--cream);border-radius:var(--r4);
  padding:70px 56px;text-align:center;position:relative;overflow:hidden}
.soon::before{content:'';position:absolute;inset:-40% -10% auto auto;width:60%;aspect-ratio:1;
  background:radial-gradient(circle,rgba(198,113,57,.34),transparent 66%)}
.soon h2{color:var(--cream);font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:16px;
  position:relative}
.soon p{color:#cabfae;max-width:56ch;margin:0 auto 30px;position:relative}
.soon .btn-primary{position:relative}

/* ── contact ───────────────────────────────── */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.contact-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r3);
  padding:28px 30px}
.contact-card+.contact-card{margin-top:16px}
.contact-card h3{font-size:1.02rem;margin-bottom:6px}
.contact-card p{font-size:.92rem;color:var(--ink-2)}
.placeholder{background:var(--blush);border:1px dashed var(--terra);color:var(--terra-d);
  border-radius:var(--r1);padding:12px 15px;font-size:.85rem;margin-top:12px}

/* ── footer ────────────────────────────────── */
.foot{background:var(--cream-2);border-top:1px solid var(--line);padding:56px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:42px;margin-bottom:38px}
.foot .brand{margin-bottom:12px}
.foot p{font-size:.92rem;color:var(--ink-2);max-width:34ch}
.foot h4{font-family:'Figtree',sans-serif;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:14px}
.foot li{margin-bottom:9px}
.foot li a{font-size:.92rem;color:var(--ink-2)}
.foot li a:hover{color:var(--terra-d)}
.foot .tag{font-size:.72rem;color:var(--ink-3);font-style:italic}
.foot-base{border-top:1px solid var(--line);padding-top:22px;display:flex;
  justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.86rem;color:var(--ink-3)}

/* ── motion ────────────────────────────────── */
.rise{opacity:0;transform:translateY(18px);animation:rise .7s cubic-bezier(.2,.7,.3,1) forwards}
.d1{animation-delay:.06s}.d2{animation-delay:.12s}.d3{animation-delay:.18s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ── responsive ────────────────────────────── */
@media(max-width:1024px){
  .hero .wrap,.pay,.contact{grid-template-columns:1fr;gap:40px}
  .hero{padding:48px 0 60px}
  .shot-hero{max-height:380px}
  .cats{grid-template-columns:repeat(2,1fr)}
  .feats{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .burger{display:flex}
  .nav{position:fixed;inset:69px 0 auto 0;flex-direction:column;align-items:stretch;
    gap:0;background:var(--cream);border-bottom:1px solid var(--line);padding:8px 20px 20px;
    transform:translateY(-130%);transition:transform .3s ease;box-shadow:var(--sh2)}
  #navtoggle:checked~.wrap .nav{transform:none}
  .nav a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:1rem}
  .nav a::after{display:none}
  .nav .soon-tag{margin-top:14px;text-align:center;justify-content:center}
  section{padding:58px 0}
  .wrap{padding:0 20px}
  .cats,.feats,.split,.foot-grid{grid-template-columns:1fr}
  .soon{padding:48px 26px}
  .btn{width:100%}
  .cta-row{flex-direction:column;align-items:stretch}
  .hero-stats{gap:22px}
}


/* ── product photography ─────────────────────────────────────────────────────
   The supplied product shots are 150-250px catalogue thumbnails. Stretching
   them to fill a 380px card would show every pixel, so they are displayed at
   NATIVE SIZE, centred on the card's existing gradient — the way a retail
   category tile looks. Crisp instead of blurry, and it reads as intentional.

   When higher-resolution photography arrives, remove `.prod` and the image
   fills the card the way the editorial photographs do.
   ──────────────────────────────────────────────────────────────────────── */
.cat .art img.prod{
  width:auto;height:auto;max-width:70%;max-height:78%;
  object-fit:contain;
  filter:drop-shadow(0 12px 22px rgba(36,29,22,.16));
  mix-blend-mode:multiply;          /* drops the white catalogue background */
}
.cat:hover .art img.prod{transform:scale(1.05)}
.cat .art{display:grid;place-items:center}


/* ── contact details ─────────────────────────────────────────────────────── */
.contact-link{display:inline-block;margin-top:12px;font-family:'Caprasimo',Georgia,serif;
  font-size:1.08rem;color:var(--terra-d);word-break:break-word;line-height:1.35}
.contact-link:hover{color:var(--ink)}
.contact-alt{display:inline-flex;align-items:center;gap:7px;margin-top:12px;margin-left:16px;
  font-size:.88rem;font-weight:600;color:var(--sage-d)}
.contact-alt::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--sage)}
.contact-alt:hover{color:var(--ink)}

.foot-contact{margin-top:16px}
.foot-contact li{margin-bottom:7px}
.foot-contact a{font-size:.92rem;color:var(--ink-2)}
.foot-contact a:hover{color:var(--terra-d)}

@media(max-width:560px){
  .contact-alt{margin-left:0;display:flex}
}
