@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/Montserrat-600-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('assets/fonts/Montserrat-700-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('assets/fonts/Montserrat-900-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('assets/fonts/Lora-500-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/Lora-600-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('assets/fonts/Lora-500-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('assets/fonts/Lora-600-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('assets/fonts/OpenSans-400-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('assets/fonts/OpenSans-600-normal-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Noto Sans Malayalam';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('assets/fonts/NotoSansMalayalam-400-normal-malayalam.woff2') format('woff2');
  unicode-range: U+0307, U+0323, U+0951-0952, U+0964-0965, U+0D00-0D7F, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC, U+A830-A832;
}
@font-face {
  font-family: 'Noto Sans Malayalam';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url('assets/fonts/NotoSansMalayalam-600-normal-malayalam.woff2') format('woff2');
  unicode-range: U+0307, U+0323, U+0951-0952, U+0964-0965, U+0D00-0D7F, U+1CDA, U+1CF2, U+200C-200D, U+20B9, U+25CC, U+A830-A832;
}
:root{
  --champagne:#F5E5C9; --cream:#FBF6E4; --red:#E30613; --red-deep:#A5000E;
  --green:#00A651; --charcoal:#1A1A1A; --gold:#C98A2D; --ink:#3d2f1e; --sun:#FFD500;
  --disp:'Montserrat',sans-serif; --serif:'Lora',serif; --body:'Open Sans',sans-serif;
  --ml:'Noto Sans Malayalam',var(--body);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);line-height:1.7;font-size:16.5px;background:var(--champagne)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;z-index:1;
  background-image:radial-gradient(rgba(160,120,60,.06) 1px,transparent 1px);background-size:5px 5px}
h1,h2,h3{font-family:var(--disp);line-height:1.15;color:var(--charcoal)}
img,svg{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;position:relative;z-index:2}
section{padding:78px 0;position:relative}
.ml{font-family:var(--ml)}
.hand{font-family:var(--serif);font-style:italic}
/* kasavu woven border strip */
.kasavu{height:10px;background:
  repeating-linear-gradient(45deg,var(--gold) 0 6px,#a86f1f 6px 12px) ,none;
  border-top:3px solid #a86f1f;border-bottom:3px solid #a86f1f}
/* section heading */
.shead{text-align:center;max-width:620px;margin:0 auto 52px}
.shead .eyebrow{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--gold);letter-spacing:.04em}
.shead h2{font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:900;margin:8px 0 10px}
.shead h2 em{font-style:normal;color:var(--red)}
.shead p{color:#6b5a40;font-size:1rem}
.shead::after{content:"~ ~ ~";display:block;color:var(--gold);letter-spacing:14px;margin-top:16px;font-size:.8rem}
/* buttons: flat, confident, zero tech-shine */
.btn{display:inline-block;font-family:var(--disp);font-weight:700;font-size:.92rem;letter-spacing:.02em;padding:14px 30px;text-decoration:none;transition:.2s;border-radius:4px}
.btn-red{background:var(--red);color:#fff;box-shadow:4px 4px 0 rgba(26,26,26,.85)}
.btn-red:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 rgba(26,26,26,.85)}
.btn-line{background:transparent;color:var(--charcoal);border:2.5px solid var(--charcoal);box-shadow:4px 4px 0 rgba(201,138,45,.55)}
.btn-line:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 rgba(201,138,45,.55)}

/* ============ TRUST STRIP ============ */
.trust{background:var(--charcoal);color:var(--cream);font-size:.76rem;letter-spacing:.08em}
.trust .wrap{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;padding:9px 24px}
.trust b{color:var(--sun);font-weight:600}
.trust span+span::before{content:"•";margin-right:20px;color:var(--green)}

/* ============ HEADER ============ */
header{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:3px double var(--gold)}
.nav{display:flex;align-items:center;gap:26px;padding:12px 24px;max-width:1120px;margin:0 auto}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--charcoal)}
.logo .word{font-family:var(--disp);font-weight:900;font-size:1.1rem;letter-spacing:.08em}
.logo .word em{color:var(--red);font-style:normal}
nav.main{margin-left:auto;display:flex;gap:22px}
nav.main a{color:var(--charcoal);text-decoration:none;font-weight:600;font-size:.93rem;padding:4px 2px;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--red);border-color:var(--gold)}
#navt,#navlab{display:none}
@media(max-width:900px){
  #navlab{margin-left:auto;display:block;cursor:pointer;font-size:1.5rem}
  nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;padding:20px 28px;gap:14px;border-bottom:4px solid var(--gold)}
  #navt:checked~nav.main{display:flex}
}

/* ============ HERO ============ */
.hero{padding:84px 0 70px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero .eyebrow{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--gold)}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.5rem);font-weight:900;margin:14px 0 6px}
.hero h1 em{font-style:normal;color:var(--red);border-bottom:5px solid var(--gold)}
.hero .ml-tag{font-size:1.25rem;color:var(--red);font-family:var(--ml);margin:4px 0 18px}
.hero p.sub{font-family:var(--serif);font-size:1.16rem;margin-bottom:26px;max-width:30em;color:#54432c}
.facts{display:flex;flex-direction:column;gap:8px;margin-bottom:30px;font-size:.92rem;font-weight:600}
.facts span::before{content:"✓ ";color:var(--green);font-weight:900}
.cta{display:flex;gap:16px;flex-wrap:wrap}
/* arch photo frame (Kerala nalukettu arch) with kasavu frame + tape */
.frame{position:relative;max-width:460px;margin:0 auto}
.arch{background:linear-gradient(170deg,#efe0bd 0%,#e3c58e 45%,#caa15c 100%);
  border:6px solid var(--cream);outline:3px solid var(--gold);
  border-radius:230px 230px 18px 18px;min-height:430px;position:relative;overflow:hidden;
  box-shadow:12px 12px 0 rgba(201,138,45,.25)}
.arch::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(120,85,35,.15) 1px,transparent 1px);background-size:4px 4px;opacity:.6}
.arch .sun{position:absolute;top:34px;left:50%;transform:translateX(-50%);width:110px;height:110px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#ffe9a8,#E9B84C);box-shadow:0 0 0 12px rgba(233,184,76,.25)}
.arch .hills{position:absolute;bottom:0;left:0;right:0;height:52%}
.arch .cap{position:relative;z-index:3;text-align:center;padding:180px 26px 26px}
.arch .cap b{font-family:var(--disp);font-weight:900;font-size:1.15rem;color:#4a3212;display:block}
.arch .cap span{font-family:var(--serif);font-style:italic;font-size:.95rem;color:#6b5230}
.stamp{position:absolute;top:-18px;right:-14px;z-index:5;background:var(--red);color:#fff;font-family:var(--disp);font-weight:900;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border-radius:6px;transform:rotate(6deg);box-shadow:0 4px 10px rgba(26,26,26,.25)}
.tape{position:absolute;z-index:6;width:92px;height:26px;background:linear-gradient(105deg,rgba(233,184,76,.85),rgba(226,170,60,.7));transform:rotate(-3deg);top:-13px;left:50%;margin-left:-46px;border-radius:1px;box-shadow:0 2px 5px rgba(90,60,20,.15)}
.tape::before,.tape::after{content:"";position:absolute;top:0;bottom:0;width:7px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.35) 0 2px,transparent 2px 5px)}
.tape::before{left:0}
.tape::after{right:0}
.ml-note{position:absolute;bottom:-16px;left:-10px;z-index:5;background:var(--charcoal);color:var(--sun);font-family:var(--ml);font-size:.82rem;padding:8px 16px;border-radius:4px;transform:rotate(-2deg)}
@media(max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* ============ PURITY BAND ============ */
.leave{background:var(--charcoal);color:var(--cream)}
.leave .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.leave h2{color:var(--cream);font-size:clamp(1.7rem,3.2vw,2.3rem);font-weight:900;margin:8px 0 18px}
.leave h2 em{font-style:normal;color:var(--sun)}
.nevers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.nevers span{font-family:var(--disp);font-weight:700;font-size:.95rem;border:1.5px dashed rgba(251,246,228,.4);border-radius:4px;padding:12px 14px;display:flex;gap:10px;align-items:center}
.nevers span b{color:#ff6b74;font-weight:900}
.pledge{background:var(--cream);color:var(--charcoal);padding:22px 24px;border-radius:4px;transform:rotate(-.6deg);box-shadow:6px 6px 0 rgba(201,138,45,.5);position:relative}
.pledge::before{content:"OUR PLEDGE";position:absolute;top:-11px;left:18px;background:var(--red);color:#fff;font-family:var(--disp);font-weight:900;font-size:.62rem;letter-spacing:.18em;padding:3px 10px;transform:rotate(-1deg)}
.pledge p{font-family:var(--serif);font-style:italic;font-size:1.02rem}
.leave p.txt{color:rgba(251,246,228,.85);margin-bottom:22px}
@media(max-width:900px){.leave .wrap{grid-template-columns:1fr}}

/* ============ PRODUCTS (polaroid family) ============ */
.alt{background:var(--cream);border-top:3px double var(--gold);border-bottom:3px double var(--gold)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 26px}
@media(max-width:980px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid{grid-template-columns:1fr}}
.pol{background:#fff;border:1px solid #e7d7b5;padding:14px 14px 20px;text-decoration:none;color:var(--ink);display:block;position:relative;transition:.22s;box-shadow:0 3px 8px rgba(90,60,20,.1)}
.pol .tape{width:74px;height:24px;top:-11px;left:50%;margin-left:-37px;transform:rotate(-3deg)}
.pol:nth-child(even) .tape{transform:rotate(3deg)}
.pol:nth-child(3n) .tape{transform:rotate(1deg)}
.pol:hover{transform:translateY(-6px) rotate(.4deg);box-shadow:0 14px 28px rgba(90,60,20,.18)}
.pol .ph{border-radius:200px 200px 8px 8px;height:170px;display:grid;place-items:center;font-family:var(--disp);font-weight:900;font-size:.95rem;letter-spacing:.05em;color:#fff;position:relative;overflow:hidden;margin-bottom:14px}
.pol.sp .ph{background:radial-gradient(circle at 38% 30%,#ff5560,#A5000E)}
.pol.st .ph{background:radial-gradient(circle at 38% 30%,#f5d061,#B47B1F)}
.pol .ph i{position:absolute;border-radius:50%;background:rgba(255,255,255,.14)}
.pol .ph i.a{width:70px;height:70px;top:12px;right:14px}
.pol .ph i.b{width:34px;height:34px;bottom:16px;left:18px}
.pol h3{font-size:1.08rem;text-align:center}
.pol .mln{text-align:center;font-size:.92rem;color:#8a7658;margin:2px 0 8px}
.pol p.d{text-align:center;font-size:.9rem;color:#54432c;min-height:2.6em}
.pol .sizes{text-align:center;margin-top:12px}
.pol .sizes b{font-size:.74rem;font-weight:700;color:#8a6420;border:1.5px solid var(--gold);border-radius:99px;padding:4px 12px;letter-spacing:.06em}
.famtag{position:absolute;top:8px;left:8px;z-index:3;background:var(--charcoal);color:var(--sun);font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border-radius:3px;transform:rotate(-2deg)}

/* ============ STORY (sepia pinned cards + red thread) ============ */
.story .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative}
.story .wrap::before{content:"";position:absolute;top:88px;left:6%;right:6%;height:2px;background:repeating-linear-gradient(90deg,var(--red) 0 10px,transparent 10px 20px)}
@media(max-width:900px){.story .wrap{grid-template-columns:1fr}.story .wrap::before{display:none}}
.polar{background:#fff9ef;border:1px solid #e2ceA5;box-shadow:0 6px 16px rgba(90,60,20,.14);padding:26px 24px;position:relative;z-index:2;border-radius:4px}
.polar::before{content:"";position:absolute;top:-9px;left:50%;margin-left:-38px;width:76px;height:18px;background:rgba(201,138,45,.7);transform:rotate(-2deg)}
.polar:nth-child(odd){transform:rotate(-.8deg)}.polar:nth-child(even){transform:rotate(.9deg)}
.polar .yr{display:inline-block;background:var(--red);color:#fff;font-family:var(--disp);font-weight:900;font-size:.92rem;padding:6px 16px;border-radius:3px;box-shadow:3px 3px 0 rgba(26,26,26,.8);margin-bottom:14px}
.polar h3{font-size:1.06rem;margin-bottom:8px}
.polar p{font-size:.94rem;color:#54432c}

/* ============ SHEENA ============ */
.sheena .wrap{display:grid;grid-template-columns:150px 1fr;gap:38px;max-width:860px;align-items:start}
.face{width:150px;height:180px;border-radius:90px 90px 8px 8px;background:linear-gradient(170deg,#F5E5C9,#d9a94f);border:5px solid #fff;outline:3px solid var(--green);display:grid;place-items:center;font-family:var(--disp);font-weight:900;font-size:2.2rem;color:var(--red);box-shadow:8px 8px 0 rgba(0,166,81,.25);transform:rotate(-2deg)}
.qmark{font-family:var(--serif);font-size:5rem;line-height:.5;color:var(--gold);display:block}
blockquote{font-family:var(--serif);font-style:italic;font-size:1.28rem;line-height:1.75;margin-top:10px}
blockquote b{color:var(--red);font-weight:600}
.sheena .who{margin-top:18px;font-size:.92rem;color:#6b5a40}
.sheena .who b{font-family:var(--disp);color:var(--charcoal)}
@media(max-width:620px){.sheena .wrap{grid-template-columns:1fr}.face{margin:0 auto}}

/* ============ RECIPES (editorial numbered) ============ */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:900px){.grid3{grid-template-columns:1fr}}
.art{background:#fff;border:1px solid #e7d7b5;border-radius:6px;overflow:hidden;text-decoration:none;color:var(--ink);display:block;transition:.22s;box-shadow:0 3px 8px rgba(90,60,20,.1)}
.art:hover{transform:translateY(-6px);box-shadow:0 14px 26px rgba(90,60,20,.16)}
.art .banner{height:130px;position:relative;display:grid;place-items:center}
.art .banner.a{background:#0d8a4a}.art .banner.b{background:#B47B1F}.art .banner.c{background:#A5000E}
.art .banner .no{font-family:var(--disp);font-weight:900;font-size:3.4rem;color:rgba(255,255,255,.28);position:absolute;top:10px;left:16px;line-height:1}
.art .banner b{color:#fff;letter-spacing:.24em;font-size:.8rem;font-family:var(--disp);font-weight:700}
.art .bd{padding:22px 24px 26px}
.art .bd h3{font-size:1.08rem;margin-bottom:8px}
.art .bd p{font-size:.92rem;color:#54432c}
.art .bd .more{display:inline-block;margin-top:12px;color:var(--red);font-weight:700;font-size:.86rem;border-bottom:2px solid var(--gold)}

/* ============ TESTIMONIALS (pinned notes) ============ */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:900px){.tgrid{grid-template-columns:1fr}}
.note{background:#fffdf6;border:1px solid #eadbb8;padding:26px 24px 22px;border-radius:4px;position:relative;box-shadow:0 4px 10px rgba(90,60,20,.12)}
.note::before{content:"";position:absolute;top:-10px;left:26px;width:64px;height:20px;background:rgba(0,166,81,.35);transform:rotate(-3deg)}
.note:nth-child(2)::before{left:auto;right:30px;background:rgba(227,6,19,.3);transform:rotate(2deg)}
.note:nth-child(3)::before{left:44%;background:rgba(201,138,45,.4)}
.note .stars{color:var(--gold);letter-spacing:3px}
.note p{font-family:var(--serif);font-style:italic;font-size:.99rem;margin:12px 0 14px}
.note .who b{font-family:var(--disp);font-size:.88rem}
.note .who span{color:#8a7658;font-size:.84rem}
.note.t1{transform:rotate(-.7deg)}.note.t2{transform:rotate(.8deg)}.note.t3{transform:rotate(-.4deg)}

/* ============ FAQ ============ */
.faq{max-width:780px;margin:0 auto}
details{background:#fff;border:1px solid #e7d7b5;border-left:5px solid var(--gold);margin-bottom:14px;padding:0 22px}
summary{cursor:pointer;padding:18px 0;font-family:var(--disp);font-weight:700;font-size:.99rem;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--red);font-size:1.5rem;font-weight:400;line-height:1}
details[open] summary::after{content:"–"}
details .a{padding:0 0 18px;color:#54432c;font-size:.96rem}

/* ============ FOOTER ============ */
footer{background:var(--charcoal);color:rgba(251,246,228,.85);margin-top:78px;border-top:6px double var(--gold)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:34px;padding:56px 0 30px}
@media(max-width:900px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
footer h4{font-family:var(--disp);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:15px}
footer a{color:rgba(251,246,228,.85);text-decoration:none;display:block;margin-bottom:9px;font-size:.92rem}
footer a:hover{color:var(--sun)}
.fssai{display:inline-block;margin-top:14px;font-size:.76rem;color:var(--sun);border:1.5px dashed rgba(255,213,0,.5);border-radius:4px;padding:7px 12px;letter-spacing:.06em}
.signoff{border-top:1px solid rgba(251,246,228,.15);padding:26px 24px;text-align:center}
.signoff .fam{font-family:var(--serif);font-style:italic;font-size:1.14rem;color:var(--champagne)}
.signoff .fine{font-size:.78rem;margin-top:8px;opacity:.6}

/* ===== HERO SLIDES: 1 image = static; 2-3 = pure CSS auto rotate (zero JS) ===== */
.arch{position:relative}
.arch .slide{position:absolute;inset:0;background-size:cover;background-position:center}
.arch .slide.only{position:relative;min-height:430px}
.arch.rotating{min-height:430px}
.arch.rotating .slide{opacity:0;animation:kkfade 12s infinite}
.arch.rotating .slide.s1{animation-delay:0s}
.arch.rotating .slide.s2{animation-delay:4s}
.arch.rotating .slide.s3{animation-delay:8s}
@keyframes kkfade{0%{opacity:0}4%,33%{opacity:1}37%,100%{opacity:0}}
.arch.rotating .slide.s1{animation-delay:0s}
/* fix: first slide visible at start */
.arch.rotating .slide:first-child{animation-name:kkfade1}
@keyframes kkfade1{0%{opacity:1}4%,33%{opacity:1}37%,100%{opacity:0}}
/* generic page content */
.post-content{max-width:760px;margin:0 auto;background:#fff;border:1px solid #e7d7b5;border-radius:6px;padding:36px 40px}
.post-content h2{margin:1.2em 0 .4em}
.post-content p{margin-bottom:1em}
.post-content img{border-radius:8px}

/* ===== Gutenberg pattern compatibility ===== */
.wp-block-columns{gap:48px}
.hero .wp-block-heading{font-size:clamp(2.2rem,4.6vw,3.5rem);font-weight:900;font-family:var(--disp);line-height:1.15;margin:10px 0}
.hero .wp-block-heading em{font-style:normal;color:var(--red);border-bottom:5px solid var(--gold)}
.hero .wp-block-column{align-self:center}
figure.arch img{border-radius:230px 230px 18px 18px;border:6px solid #fff;outline:3px solid var(--gold);box-shadow:12px 12px 0 rgba(201,138,45,.25);min-height:380px;object-fit:cover;width:100%}
.stamp{display:inline-block;background:var(--red);color:#fff;font-family:var(--disp);font-weight:900;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border-radius:6px;transform:rotate(4deg);margin-top:14px}
.grid .pol,.grid3 .artcard{margin:0}
.pol .ph img{border-radius:200px 200px 8px 8px;height:170px;object-fit:cover;width:100%}
.pol h3,.pol .mln,.pol .d,.pol .sizes{margin:4px 0}
.artcard .banner img{height:130px;object-fit:cover;width:100%}
.artcard h3,.artcard p{padding:0 22px}
details.wp-block-details{background:#fff;border:1px solid #e7d7b5;border-left:5px solid var(--gold);margin-bottom:14px;padding:6px 22px}
details.wp-block-details summary{cursor:pointer;padding:14px 0;font-family:var(--disp);font-weight:700}
details.wp-block-details p{padding-bottom:14px;color:#54432c}
.sheena .wp-block-quote{font-family:var(--serif);font-style:italic;font-size:1.25rem;border-left:4px solid var(--gold);padding-left:22px;max-width:760px;margin:0 auto}
.sheena .wp-block-quote cite{font-family:var(--body);font-style:normal;font-size:.9rem;color:#6b5a40}
.leave .wp-block-heading{color:var(--cream);font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:900}
.leave .eyebrow{color:var(--sun)}
.alt{background:var(--cream);border-top:3px double var(--gold);border-bottom:3px double var(--gold)}
section.wp-block-group{padding:76px 0}

/* ===== ARCH GALLERY (1-3 images: 1 static, 2 or 3 auto-rotate via pure CSS) ===== */
.arch-gallery {
  position: relative;
  max-width: 440px;
  min-height: 440px;
  height: 440px;
  margin: 0 auto;
  border-radius: 220px 220px 18px 18px;
  border: 6px solid var(--cream);
  outline: 3px solid var(--gold);
  box-shadow: 12px 12px 0 rgba(201,138,45,.25);
  overflow: hidden;
  background: #f0e2c5;
  display: block !important;
}
.arch-gallery .wp-block-image {
  margin: 0 !important;
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
}
.arch-gallery .wp-block-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
/* If 2 images: 2-step rotation (8s loop) */
.arch-gallery:has(> .wp-block-image:nth-child(2):last-child) .wp-block-image:nth-child(1) {
  animation: kkfade2_1 8s infinite ease-in-out;
}
.arch-gallery:has(> .wp-block-image:nth-child(2):last-child) .wp-block-image:nth-child(2) {
  animation: kkfade2_2 8s infinite ease-in-out;
}
@keyframes kkfade2_1 {
  0%, 45% { opacity: 1; z-index: 2; }
  50%, 95% { opacity: 0; z-index: 1; }
  100% { opacity: 1; z-index: 2; }
}
@keyframes kkfade2_2 {
  0%, 45% { opacity: 0; z-index: 1; }
  50%, 95% { opacity: 1; z-index: 2; }
  100% { opacity: 0; z-index: 1; }
}
/* If 3 images: 3-step rotation (12s loop) */
.arch-gallery:has(> .wp-block-image:nth-child(3):last-child) .wp-block-image:nth-child(1) {
  animation: kkfade3_1 12s infinite ease-in-out;
}
.arch-gallery:has(> .wp-block-image:nth-child(3):last-child) .wp-block-image:nth-child(2) {
  animation: kkfade3_2 12s infinite ease-in-out;
}
.arch-gallery:has(> .wp-block-image:nth-child(3):last-child) .wp-block-image:nth-child(3) {
  animation: kkfade3_3 12s infinite ease-in-out;
}
@keyframes kkfade3_1 {
  0%, 30% { opacity: 1; z-index: 2; }
  35%, 95% { opacity: 0; z-index: 1; }
  100% { opacity: 1; z-index: 2; }
}
@keyframes kkfade3_2 {
  0%, 30% { opacity: 0; z-index: 1; }
  35%, 63% { opacity: 1; z-index: 2; }
  68%, 100% { opacity: 0; z-index: 1; }
}
@keyframes kkfade3_3 {
  0%, 63% { opacity: 0; z-index: 1; }
  68%, 95% { opacity: 1; z-index: 2; }
  100% { opacity: 0; z-index: 1; }
}

/* ===== GUTENBERG WRAPPER & INNER CONTAINER RESETS ===== */
.wp-block-group__inner-container,
.is-layout-flow,
.is-layout-constrained,
.is-layout-grid,
.is-layout-flex {
  width: 100%;
}
.wp-block-group.hero,
.wp-block-group.leave,
.wp-block-group.alt,
section.wp-block-group {
  padding: 76px 0;
  position: relative;
}
.wp-block-group.leave {
  background: var(--charcoal);
  color: var(--cream);
}
.wp-block-group.alt {
  background: var(--cream);
  border-top: 3px double var(--gold);
  border-bottom: 3px double var(--gold);
}
.wp-block-group.grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 30px 26px !important;
}
@media (max-width: 980px) {
  .wp-block-group.grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 620px) {
  .wp-block-group.grid { grid-template-columns: 1fr !important; }
}

.wp-block-group.storygrid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 26px !important;
}
@media (max-width: 900px) {
  .wp-block-group.storygrid { grid-template-columns: 1fr !important; }
}

.wp-block-group.grid3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 26px !important;
}
@media (max-width: 900px) {
  .wp-block-group.grid3 { grid-template-columns: 1fr !important; }
}

.wp-block-group.tgrid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}
@media (max-width: 900px) {
  .wp-block-group.tgrid { grid-template-columns: 1fr !important; }
}

/* Recipes badge & links */
.art .banner .badge {
  color: #fff;
  letter-spacing: .24em;
  font-size: .8rem;
  font-family: var(--disp);
  font-weight: 700;
  position: relative;
  z-index: 2;
  margin: 0;
}
.art .bd {
  padding: 18px 22px 22px;
}
.art .bd .more a {
  font-family: var(--disp);
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--red);
  text-decoration: none;
}
.art .bd .more a:hover {
  color: var(--red-deep);
  text-decoration: underline;
}

/* Polaroids in grid */
.pol .famtag {
  position: absolute;
  top: 14px;
  right: 14px;
  font-family: var(--disp);
  font-weight: 700;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: var(--charcoal);
  color: var(--cream);
  padding: 3px 8px;
  border-radius: 3px;
  z-index: 3;
}
.pol .ph {
  margin-top: 10px;
}

/* ===== GUTENBERG LAYOUT FIX v2: inner-container passthrough ===== */
.wp-block-group.grid > .wp-block-group__inner-container,
.wp-block-group.grid3 > .wp-block-group__inner-container,
.wp-block-group.storygrid > .wp-block-group__inner-container,
.wp-block-group.tgrid > .wp-block-group__inner-container { display: contents; }

/* wrap groups now hold eyebrow + heading + grid: stack them vertically */
.story .wrap { display: block; }
.story .wrap::before { display: none; }
.hero .wrap { display: block; }
.leave .wrap { display: block; }

/* story timeline dashed line now rides the card grid */
.wp-block-group.storygrid { position: relative; }
.wp-block-group.storygrid::before {
  content: "";
  position: absolute;
  top: 88px;
  left: 0;
  right: 0;
  height: 2px;
  background: repeating-linear-gradient(90deg, var(--red) 0 10px, transparent 10px 20px);
  z-index: 0;
}
.wp-block-group.storygrid .polar { position: relative; z-index: 1; }

/* recipe cards use .art now */
.grid3 .art { margin: 0; }

/* founder quote: wrap holds a WP columns block, use block layout */
.sheena .wrap { display: block; max-width: 860px; }
.sheena .qmark { margin-bottom: 6px; }

/* ===== KK TRUST NUMBERS BAND ===== */
.trustnumbers{padding:44px 0 38px;background:var(--cream);border-top:1px solid rgba(201,138,45,.35);border-bottom:1px solid rgba(201,138,45,.35)}
.trustnumbers .wrap{display:flex;flex-wrap:wrap;justify-content:space-around;gap:22px 40px}
.tnum{text-align:center;min-width:150px}
.tnum .num{font-family:var(--disp);font-weight:900;font-size:2.5rem;color:var(--red);line-height:1;margin:0}
.tnum:nth-child(even) .num{color:var(--green)}
.tnum .lbl{font-weight:700;font-size:.92rem;color:var(--charcoal);margin:6px 0 2px}
.tnum .mlbl{font-size:.8rem;color:#8a7658;margin:0}

/* ===== EYEBROW CONTRAST (elder-friendly) ===== */
.eyebrow.hand{color:#a06a15}
.leave .eyebrow.hand{color:var(--sun)}

/* ===== STORY LINE: thicker, behind year badges ===== */
.wp-block-group.storygrid::before{height:3px;top:96px;opacity:.75}
.wp-block-group.storygrid .polar .yr{position:relative;z-index:2}

/* ===== FOUNDER AVATAR POLISH (placeholder until photo) ===== */
.face{position:relative}
.face::after{content:"";position:absolute;inset:6px;border-radius:86px 86px 4px 4px;border:1.5px dashed rgba(227,6,19,.45)}

/* ===== FRESHNESS CUE (hero liveness proof) ===== */
.fresh{font-family:var(--serif);font-style:italic;font-size:.98rem;color:#4a3212;background:rgba(255,213,0,.28);border:1.5px dashed rgba(201,138,45,.65);display:inline-block;padding:8px 16px;border-radius:4px;transform:rotate(-.5deg);margin-bottom:20px}

/* ===== VISIT-THE-MILL INVITATION ===== */
.visit{font-family:var(--serif);font-style:italic;font-size:1.02rem;color:var(--sun);border-bottom:1.5px dashed rgba(255,213,0,.45);display:inline-block;padding-bottom:2px}

/* ===== PROMISE CARDS (replaced stars) ===== */
.pmark{font-family:var(--disp);font-weight:900;font-size:2rem;color:rgba(201,138,45,.5);line-height:1;margin:0}

/* ===== ABOUT PAGE ===== */
.wp-block-group.storygrid.four { grid-template-columns: repeat(4, 1fr) !important; gap: 22px !important; }
@media (max-width: 980px) { .wp-block-group.storygrid.four { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 620px) { .wp-block-group.storygrid.four { grid-template-columns: 1fr !important; } }
.wp-block-group.grid4 { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 22px !important; }
.wp-block-group.grid4 > .wp-block-group__inner-container { display: contents; }
@media (max-width: 980px) { .wp-block-group.grid4 { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 620px) { .wp-block-group.grid4 { grid-template-columns: 1fr !important; } }
.grid4 .note h3 { font-size: 1.02rem; margin: 6px 0 10px; }
.grid4 .note p { font-size: .92rem; }
.letter { font-family: var(--serif); font-style: italic; font-size: 1.12rem; line-height: 1.75; color: var(--ink); max-width: 720px; }
.sig { font-family: var(--serif); font-size: 2rem; color: var(--red); margin: 18px 0 6px; transform: rotate(-2deg); display: inline-block; }

/* ===== START HERE guidance ===== */
.starthere{display:inline-block;vertical-align:middle;background:var(--green);color:#fff;font-family:var(--disp);font-weight:900;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:99px;margin-left:6px;transform:translateY(-2px)}
.guideline{font-family:var(--serif);font-style:italic;color:#6b5a40;margin-top:8px}

/* ===== TWO NAMES ONE FAMILY ===== */
.twogrid{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:26px !important;max-width:860px;margin:0 auto 8px}
.twogrid > .wp-block-group__inner-container{display:contents}
.twogrid .pol{padding:26px 24px 30px}
.twogrid .famtag{position:absolute;top:-12px;left:50%;right:auto;transform:translateX(-50%) rotate(-2deg);font-family:var(--disp);font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;background:var(--red);color:var(--cream);padding:3px 10px;border-radius:3px;z-index:3;box-shadow:0 2px 6px rgba(90,60,20,.2)}
.twogrid .pol.st .famtag{background:var(--green);transform:translateX(-50%) rotate(2deg)}
@media (max-width:620px){.twogrid{grid-template-columns:1fr !important}}

/* product card view links */
.vlink a{font-family:var(--disp);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--red);text-decoration:none}
.vlink a:hover{text-decoration:underline}

/* single product hero: two columns */
.prodhero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.prodhero .prodtext{align-self:center}
@media (max-width:900px){.prodhero .wrap{grid-template-columns:1fr;gap:30px}}
.prodhero .arch{background:linear-gradient(170deg,#efe0bd 0%,#e3c58e 45%,#caa15c 100%);border:6px solid var(--cream);outline:3px solid var(--gold);border-radius:230px 230px 18px 18px;min-height:380px;position:relative;overflow:hidden;box-shadow:12px 12px 0 rgba(201,138,45,.25);max-width:440px}
.prodhero .arch img{width:100%;height:100%;object-fit:cover;border-radius:0}
.prodhero .frame{max-width:460px;position:relative}
.prodhero .wrap .eyebrow.hand{display:block}

/* ===== RECIPE SINGLE ===== */
.inglist,.steplist{margin:14px 0 0;padding-left:20px;font-size:.95rem;color:var(--ink);line-height:1.7}
.inglist li,.steplist li{margin-bottom:8px}
.inglist li::marker{color:var(--green)}
.steplist li::marker{color:var(--red);font-weight:700}

/* ===== CONTACT FORM ===== */
.kkform{max-width:560px;margin:0 auto;background:#fffdf6;border:1px solid #eadbb8;border-radius:4px;padding:30px 32px 26px;box-shadow:0 4px 12px rgba(90,60,20,.1);position:relative}
.kkform::before{content:"";position:absolute;top:-10px;left:50%;margin-left:-35px;width:70px;height:22px;background:rgba(233,184,76,.7);transform:rotate(-2deg);border-left:1px dashed rgba(255,255,255,.6);border-right:1px dashed rgba(255,255,255,.6)}
.kkform p{margin-bottom:14px}
.kkform label{display:block;font-weight:700;font-size:.85rem;font-family:var(--disp);letter-spacing:.02em;margin-bottom:6px;color:var(--charcoal)}
.kkform label em{color:var(--red);font-style:normal}
.kkform input[type=text],.kkform input[type=tel],.kkform textarea{width:100%;border:1.5px solid #d9c39a;border-radius:4px;background:#fff;padding:11px 12px;font-size:1rem;font-family:var(--serif);color:var(--ink)}
.kkform input:focus,.kkform textarea:focus{outline:2px solid rgba(227,6,19,.35);border-color:var(--gold)}
.kk-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.formnote{font-size:.85rem;color:#8a7658;font-style:italic}
.formnote.ok{background:rgba(0,166,81,.1);border:1.5px dashed var(--green);color:#1c7a3f;padding:10px 14px;border-radius:4px}
.formnote.err{background:rgba(227,6,19,.07);border:1.5px dashed var(--red);color:#a5000e;padding:10px 14px;border-radius:4px}
.addr .famtag{top:-12px;left:50%;right:auto;transform:translateX(-50%) rotate(-2deg);background:var(--red)}
.addr .d{font-size:1rem}

/* ===== review round fixes ===== */
.ml-line{font-family:var(--ml);font-size:1.05rem;color:#7A4E0F;margin-top:10px;font-weight:500}
.leave .ml-line{color:var(--sun)}
section .mln.ml + .ml-line{margin-top:16px}
.avail{font-size:.9rem;color:#6b5a40;font-style:italic;font-family:var(--serif);margin:6px 0 0}
.reassure{font-size:.85rem;color:#8a7658;font-style:italic;background:rgba(0,166,81,.07);border:1px dashed rgba(0,166,81,.4);padding:8px 12px;border-radius:4px}
.wp-block-image img{max-width:100%;height:auto}
.gcap{font-family:var(--serif);font-style:italic;font-size:.9rem;color:#6b5a40;text-align:center;margin:10px 0 0}

/* ===== breathing room: headings vs card grids ===== */
.wrap > .eyebrow.hand{display:block;margin:0 0 8px}
.wrap > .shead{margin-bottom:0}
.wrap > .wp-block-heading{margin:0 0 36px}
section .storygrid, section .tgrid, section .grid4, section .grid, section .twogrid{margin-top:26px}

/* inside polaroid story cards */
.storygrid .polar{padding:36px 24px 30px}
.storygrid .polar .yr{margin:0 0 16px}
.storygrid .polar h3{margin:0 0 12px;font-size:1.06rem}
.storygrid .polar p{margin:0 0 10px;line-height:1.65}
.storygrid .polar p:last-child{margin-bottom:0}

/* inside promise/value note cards */
.note .pmark{margin:0 0 14px}
.note p{margin:0 0 10px;line-height:1.7}
.note .who{margin:16px 0 0}

/* grid cards get a touch more air */
.grid{gap:26px}
.twogrid{margin-top:30px}

/* custom logo uploaded via Site Identity */
.logo img.custom-logo,.logo .custom-logo-link img{height:48px;width:auto;display:block}

/* founder portrait replacing S avatar */
.face-img img{width:100%;height:100%;object-fit:cover;border-radius:230px 230px 12px 12px}
.face-img{background:#fff;border:none !important;outline:none !important;padding:0 !important;overflow:hidden}

/* v1.7.7: tape pinned at the arch apex, gripping the gold frame like the reference cards */
.frame > .tape{top:-4px;left:50%;margin-left:-48px;transform:rotate(-4deg);width:96px;height:26px;z-index:5}
.frame > .tape::before,.frame > .tape::after{width:5px}

/* v1.8.1: arch tape unified with the polaroid card look (reference style) */
.frame > .tape{top:-12px;width:88px;height:26px;margin-left:-44px;transform:rotate(-4deg)}
.frame > .stamp{top:-16px}
.frame > .ml-note{bottom:-14px}

/* v1.8.2: pin stickers to the arch edge itself (frame was 20px wider than arch, so tape/stamp/note floated detached) */
.frame{max-width:440px !important}
.frame > .tape{top:-13px;margin-left:-46px;transform:rotate(-4deg)}
.frame > .stamp{top:-16px;right:-12px;transform:rotate(6deg)}
.frame > .ml-note{bottom:-14px;left:-8px;transform:rotate(-2deg)}
