@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#21352f;--deep:#1c3b35;--leaf:#2f5849;--moss:#66816c;--cream:#faf8f3;--sand:#f1eae0;--line:#e8e3d9;--honey:#cf9c5d;--muted:#6a7770;--white:#fff;--shadow:0 14px 40px rgba(25,51,44,.08);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;line-height:1.16;font-weight:600}h1{font-size:clamp(3.25rem,7vw,6.9rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,4vw,3.65rem);letter-spacing:-.035em}h3{font-size:1.75rem}.container{width:min(1152px,calc(100% - 48px));margin:0 auto}.subtle{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;text-transform:uppercase;color:var(--moss)}.tag{display:inline-flex;align-items:center;border:1px solid #d9e2d8;background:#eff5ee;border-radius:30px;padding:5px 12px;color:#396c51;font-size:12px;font-weight:700}.btn{border-radius:100px;border:1px solid var(--ink);background:var(--deep);color:white;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 22px;font-weight:700;font-size:13px;transition:transform .2s,background .2s}.btn:hover,.card:hover{transform:translateY(-3px)}.btn:focus-visible,a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid var(--honey);outline-offset:3px}.btn.secondary{background:transparent;color:var(--ink);border-color:#b7c4b5}.btn.light{background:var(--white);color:var(--deep);border-color:var(--white)}.btn.small{padding:8px 14px;font-size:12px}.site-header{height:88px;background:rgba(250,248,243,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:9px;font-family:'Playfair Display',Georgia,serif;font-size:27px;letter-spacing:-1.2px;font-weight:700}.logo-mark{width:34px;height:34px;background:var(--deep);border-radius:12px 12px 5px 5px;display:inline-flex;align-items:center;justify-content:center;color:#f2dbba;font-family:'DM Sans',sans-serif;font-weight:700;font-size:18px;transform:rotate(-5deg)}.header-right{display:flex;align-items:center;gap:14px}.header-note{font-size:12px;color:var(--muted)}.menu-button{width:45px;height:45px;border:1px solid #ccd8cf;border-radius:50%;background:transparent;display:grid;place-items:center;color:var(--deep);font-size:22px}.menu-lines{display:grid;gap:5px}.menu-lines i{display:block;width:18px;height:2px;background:var(--deep);border-radius:3px}.menu-panel{position:absolute;top:75px;right:max(24px,calc((100vw - 1152px)/2));background:white;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:18px;padding:12px;min-width:235px;display:none}.menu-panel.open{display:block}.menu-panel a{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-radius:12px;font-size:14px;font-weight:700}.menu-panel a:hover,.menu-panel a.active{background:#f1f4ed;color:var(--leaf)}.menu-scrim{position:fixed;inset:88px 0 0;background:rgba(17,32,28,.14);z-index:35;display:none}.menu-scrim.open{display:block}.site-header{z-index:51}.menu-panel{z-index:53}.section{padding:95px 0}.section.compact{padding:70px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-head h2{margin:7px 0 0}.section-head p{max-width:450px}.hero{min-height:670px;display:flex;align-items:center;padding:72px 0 80px;background:radial-gradient(circle at 77% 30%,#e9dfd0 0,transparent 36%),var(--cream)}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:center}.hero h1{margin:17px 0 24px}.hero h1 em{font-style:italic;color:var(--leaf)}.hero p{color:#5c6c63;max-width:490px;font-size:18px;line-height:1.85;margin-bottom:29px}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.hero-art{height:510px;position:relative}.hero-paper{position:absolute;background:#fcfbf7;border:8px solid white;box-shadow:0 24px 55px #142e232e;border-radius:4px;overflow:hidden}.paper-1{left:5%;top:5%;width:57%;height:59%;transform:rotate(-8deg)}.paper-2{right:1%;top:14%;width:56%;height:57%;transform:rotate(8deg)}.paper-3{left:27%;bottom:4%;width:53%;height:49%;transform:rotate(-2deg)}.photo-box{width:100%;height:100%;position:relative;background:#d9d9c5}.photo-box img{width:100%;height:100%;object-fit:cover;display:block}.photo-label{position:absolute;left:15px;bottom:12px;background:#fffef5e9;padding:6px 10px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.02em}.photo-placeholder{background:linear-gradient(155deg,#b5c8b0,#567967 48%,#d6c2a3);width:100%;height:100%;display:grid;place-items:center;color:white;text-align:center;padding:20px}.hero-badge{position:absolute;right:6%;bottom:3%;width:117px;height:117px;border-radius:50%;background:#ecd1ae;border:4px solid var(--cream);display:grid;place-items:center;text-align:center;transform:rotate(14deg);font-family:'Playfair Display',serif;font-size:17px;line-height:1.15}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 14px rgba(31,57,44,.03);transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow)}.card-image{height:260px;overflow:hidden;position:relative;background:#dbe2d7}.card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.card:hover .card-image img{transform:scale(1.04)}.card-body{padding:25px 26px}.card-body h3{font-size:26px;margin:8px 0 10px}.card-body p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:14px}.arrow-link{font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--leaf)}.feature-dark{background:#24483f;color:#fff;padding:85px 0}.feature-dark .eyebrow{color:#b9d5b9}.feature-dark p{color:#cfdcd5}.feature-flex{display:flex;gap:60px;align-items:center;justify-content:space-between}.feature-flex>div{max-width:630px}.feature-flex .btn{flex-shrink:0}.site-footer{background:#16332c;color:#e5ece6;padding:45px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer-inner small{color:#bdd0c4}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}.page-hero{padding:80px 0 52px;background:#f1efe7}.page-hero h1{font-size:clamp(3rem,6vw,5rem);margin:10px 0 18px}.page-hero p{max-width:630px;font-size:17px;color:var(--muted);line-height:1.85}.page-hero .crumb{font-size:12px;color:#637b6a}.body-section{padding:60px 0 95px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 28px}.search{flex:1;min-width:200px;padding:14px 17px;border-radius:12px;background:#fff;border:1px solid #d8dfd7;color:var(--deep)}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid #cbd7ca;border-radius:24px;padding:9px 15px;background:#fff;color:var(--leaf);font-weight:700;font-size:12px}.pill.active{background:var(--deep);color:#fff}.small-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--moss)}.flag{position:absolute;left:14px;top:14px;background:#ffffffed;color:var(--deep);padding:5px 10px;border-radius:50px;font-size:11px;font-weight:800}.card-meta{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted);margin:14px 0}.notice{padding:18px 22px;border:1px dashed #b5c5b4;background:#edf2eb;border-radius:14px;font-size:14px;color:#526b5b;margin-bottom:28px}.notice strong{color:var(--deep)}.detail-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;margin-top:40px}.detail-image{width:100%;min-height:400px;max-height:530px;object-fit:cover;border-radius:20px;background:#ddd}.detail-title{font-size:clamp(2.6rem,5vw,4.5rem);margin:8px 0 15px}.detail-description{font-size:16px;color:var(--muted)}.detail-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0}.detail-columns{display:grid;grid-template-columns:minmax(240px,.75fr) 1.25fr;gap:55px;padding:50px 0 95px}.ingredients{list-style:none;padding:0}.ingredients li{border-bottom:1px solid var(--line);padding:13px 0}.ingredients label{display:flex;align-items:start;gap:12px;cursor:pointer}.ingredients input{width:18px;height:18px;accent-color:var(--leaf);margin-top:3px}.ingredients input:checked+span{text-decoration:line-through;color:#96a198}.instructions{list-style:none;padding:0;counter-reset:steps}.instructions li{display:flex;gap:18px;padding:0 0 26px;counter-increment:steps}.instructions li::before{content:counter(steps);width:32px;height:32px;flex-shrink:0;background:#e9efe7;color:var(--leaf);border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}.serving-control{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:white}.serving-control button{border:none;background:#edf2eb;border-radius:50%;width:30px;height:30px;color:var(--deep);font-weight:700}.serving-control strong{min-width:16px;text-align:center}.empty{border:1px dashed #cad5cb;border-radius:18px;padding:55px 24px;text-align:center;color:var(--muted)}.media-preview{background:#e5e9df;border-radius:18px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-preview svg{width:48px;height:48px;color:#6e8c77}.post-body{max-width:750px;margin:45px auto 90px;font-size:18px;line-height:1.95}.post-body p{margin-bottom:25px}.video-frame{aspect-ratio:16/9;width:100%;border:0;border-radius:18px;background:#dfe7dc}.post-cover{width:100%;height:min(55vw,490px);object-fit:cover;border-radius:18px}.info-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.back-link{color:var(--leaf);font-size:13px;font-weight:700}.game-shell{max-width:1000px;margin:0 auto}.score-strip{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:18px 0}.stat{display:flex;gap:8px;align-items:baseline;background:#eef3ed;border-radius:12px;padding:9px 14px;font-size:14px}.stat strong{font-size:21px;color:var(--deep)}.game-panel{background:#163b31;padding:16px;border-radius:22px;box-shadow:var(--shadow)}#golf-canvas{display:block;width:100%;height:auto;aspect-ratio:800/480;background:#356b50;border-radius:13px;touch-action:none;cursor:crosshair}.golf-message{color:#d6e8d9;font-size:13px;text-align:center;margin:13px 0 2px}.game-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.scorecard{width:100%;border-collapse:collapse;margin-top:35px;background:white;border-radius:14px;overflow:hidden}.scorecard th,.scorecard td{padding:14px;text-align:center;border-bottom:1px solid var(--line)}.scorecard th:first-child,.scorecard td:first-child{text-align:left}.scorecard th{background:#f0f3eb;color:var(--leaf);font-size:12px;letter-spacing:.07em;text-transform:uppercase}.extra-note{padding:22px;border-radius:16px;background:#f0ede5;color:#576c5c;font-size:14px}.photo-card{position:relative;overflow:hidden}.photo-card .card-image{height:300px}.video-icon{position:absolute;right:15px;bottom:15px;border-radius:50%;height:42px;width:42px;display:grid;place-items:center;color:white;background:#21463bdc}.page-narrow{max-width:780px}.not-found{padding:110px 0;text-align:center}.hidden{display:none!important}@media(max-width:850px){.hero-grid{grid-template-columns:1fr;gap:24px}.hero{padding:60px 0}.hero-art{height:420px;max-width:540px;width:100%;margin:0 auto}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout,.detail-columns{grid-template-columns:1fr;gap:26px}.feature-flex{flex-direction:column;align-items:start}.header-note{display:none}}@media(max-width:590px){.container{width:min(100% - 32px,1152px)}.site-header{height:70px}.logo{font-size:24px}.menu-scrim{inset:70px 0 0}.menu-panel{top:61px;right:16px;left:16px}.hero{padding:45px 0 60px;min-height:auto}.hero h1{font-size:clamp(3.3rem,12vw,4.8rem)}.hero p{font-size:16px}.hero-art{height:355px}.section{padding:65px 0}.card-grid{grid-template-columns:1fr}.card-image{height:230px}.section-head{display:block}.section-head p{margin-top:18px}.feature-dark{padding:70px 0}.page-hero{padding:55px 0 36px}.body-section{padding:35px 0 70px}.detail-image{min-height:250px}.detail-columns{padding:30px 0 60px}.post-body{font-size:16px}.footer-inner{align-items:start;flex-direction:column}.card-body{padding:20px}.photo-card .card-image{height:260px}}
@media print{.site-header,.site-footer,.page-hero,.notice,.detail-actions,.no-print{display:none!important}body{background:#fff}.detail-layout,.detail-columns{display:block}.detail-image{display:none}.body-section{padding:0}.container{width:100%}}

/* Keyboard helpers stay out of the layout until they receive focus. */
.skip-link{position:fixed;top:8px;left:16px;z-index:100;padding:10px 18px;background:var(--deep);color:#fff;border-radius:12px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--honey);outline-offset:3px}
canvas:focus-visible{outline:3px solid var(--honey);outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card,.card-image img{transition:none}}
@media print{
  @page{margin:16mm}
  .skip-link,.back-link{display:none!important}
  .notice.sample-warning{display:block!important;background:#fff;border:1px solid #777;color:#21352f;margin:12px 0;padding:10px 14px}
  .ingredients input:checked+span{text-decoration:none;color:#21352f}
  .ingredients li,.instructions li,.extra-note{break-inside:avoid}
  h1,h2,h3{break-after:avoid}
}
