@font-face{font-family:"Fredoka";src:url("assets/fonts/fredoka-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url("assets/fonts/nunito-sans-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Noto Sans SC UI";src:url("assets/fonts/noto-sans-sc-ui-500.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}

:root{
  --paper:#eee5df;
  --ink:#3b2718;
  --muted:#6f625c;
  --coral:#ef6b69;
  --focus:#5b3722;
  --font-display:"Fredoka","Arial Rounded MT Bold",sans-serif;
  --font-body:"Nunito Sans","Segoe UI",sans-serif;
  --font-cn:"Noto Sans SC UI","Noto Sans SC","Microsoft YaHei UI","PingFang SC",sans-serif;
}

*{box-sizing:border-box}
html{height:100%;scroll-behavior:smooth}
body{min-height:100%;margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);letter-spacing:0}
body.home-cheese-page{height:100svh;overflow:hidden}
button,input{font:inherit}
button{color:inherit}
a{color:inherit}
svg{display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
::selection{background:#f6a4a2;color:#2d1c12}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:20;left:16px;top:12px;padding:10px 14px;border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 8px 24px rgba(66,43,28,.18);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}

.cheese-home{height:100%}
.cheese-hero{position:relative;isolation:isolate;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--paper)}
.cheese-scene{position:absolute;z-index:0;inset:0;display:block;overflow:hidden;background:var(--paper)}
.cheese-scene-video,.cheese-scene-fallback{position:absolute;inset:0;display:block;width:100%;height:100%}
.cheese-scene-video{z-index:1;object-fit:cover;object-position:center;background:transparent}
.cheese-scene-fallback{z-index:0}
.cheese-scene-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.cheese-header{position:absolute;z-index:3;left:4.5%;right:4.5%;top:20px;display:grid;grid-template-columns:220px 1fr 220px;align-items:center;min-height:48px}
.cheese-brand{width:max-content;font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1;text-decoration:none;text-shadow:0 1px 0 rgba(255,255,255,.45)}
.cheese-nav{display:flex;align-items:center;justify-content:center;gap:38px;font-family:var(--font-cn)}
.cheese-nav a,.cheese-nav button{position:relative;min-height:44px;display:inline-flex;align-items:center;padding:0;border:0;background:none;font-size:15px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}
.cheese-nav a[aria-current="page"]{color:var(--coral)}
.cheese-nav a[aria-current="page"]:after{content:"";position:absolute;left:50%;bottom:4px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:0;transform:translateX(-50%)}
.cheese-utility{display:flex;justify-content:flex-end;gap:6px}
.cheese-utility>button,.cheese-utility>a{display:grid;width:44px;height:44px;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;text-decoration:none}
.cheese-utility svg{width:25px;height:25px;stroke-width:2}

.cheese-copy{position:absolute;z-index:2;left:4.5%;top:129px;width:420px}
.cheese-badge{display:inline-flex;min-width:201px;height:40px;align-items:center;gap:10px;padding:0 16px;border:1px solid rgba(255,255,255,.28);border-radius:20px;background:rgba(226,213,205,.58);box-shadow:0 1px 0 rgba(255,255,255,.4) inset;backdrop-filter:blur(10px);color:#6d5e54;font-size:14px}
.cheese-badge svg{width:24px;height:24px;stroke-width:1.7}
.cheese-copy h1{max-width:430px;margin:25px 0 17px;font-family:var(--font-display);font-size:58px;font-weight:700;line-height:1.02;letter-spacing:0;text-wrap:balance}
.cheese-copy h1 span{display:block;white-space:nowrap}
.cheese-copy>p{margin:0;color:var(--muted);font-size:18px;line-height:1.5}
.cheese-copy>p span{display:block}
.cheese-cta{display:inline-flex;width:201px;height:50px;align-items:center;justify-content:space-between;gap:24px;margin-top:34px;padding:0 15px 0 18px;border:1px solid rgba(255,255,255,.3);border-radius:18px;background-image:linear-gradient(135deg,#f27b77 0%,#ef696f 100%);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 10px 25px rgba(205,78,83,.18);color:#fff;font-family:var(--font-cn);font-size:16px;font-weight:500;letter-spacing:0;cursor:pointer}
.cheese-cta svg{width:22px;height:22px;stroke-width:1.8}
.cheese-cta:disabled{cursor:wait;opacity:.72}

.cheese-footer{position:absolute;z-index:2;left:4.5%;bottom:22px;display:flex;width:max-content;max-width:52%;align-items:center;gap:18px;color:#6c5c54;font-size:13px;line-height:1.4;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.cheese-footer strong{color:var(--ink);font-family:var(--font-display);font-size:16px;line-height:1}
.cheese-footer p{margin:0}
.cheese-footer a{margin-left:4px;font-weight:700;text-underline-offset:5px}

.cheese-toast{position:fixed;z-index:30;left:50%;bottom:max(18px,env(safe-area-inset-bottom));width:max-content;max-width:min(420px,calc(100vw - 32px));padding:11px 15px;border-radius:8px;background:rgba(59,39,24,.94);box-shadow:0 12px 30px rgba(59,39,24,.2);color:#fff;font-family:var(--font-cn);font-size:14px;font-weight:500;line-height:1.5;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity 180ms ease,transform 180ms ease}
.cheese-toast.is-visible{opacity:1;transform:translate(-50%,0)}

.cheese-header a:focus-visible,.cheese-header button:focus-visible,.cheese-cta:focus-visible,.cheese-footer a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.cheese-utility>button:active,.cheese-utility>a:active,.cheese-nav button:active{background:rgba(255,255,255,.32)}
.cheese-cta:active{filter:saturate(.9) brightness(.96)}

@media (hover:hover) and (pointer:fine){
.cheese-nav a,.cheese-nav button,.cheese-utility>button,.cheese-utility>a,.cheese-cta,.cheese-footer a{transition:color 160ms ease,background-color 160ms ease,transform 180ms ease,box-shadow 180ms ease,filter 160ms ease}
  .cheese-nav a:hover,.cheese-nav button:hover{color:var(--coral)}
.cheese-utility>button:hover,.cheese-utility>a:hover{background:rgba(255,255,255,.38);transform:translateY(-1px)}
  .cheese-cta:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.36) inset,0 15px 30px rgba(205,78,83,.24)}
  .cheese-footer a:hover{color:var(--coral)}
}

@media (max-width:1100px) and (min-width:901px){
  .cheese-header{left:4%;right:4%;grid-template-columns:180px 1fr 160px}
  .cheese-nav{gap:22px}
  .cheese-copy{left:4%;width:350px}
  .cheese-copy h1{font-size:48px}
}

@media (max-width:900px){
  .cheese-hero{display:flex;flex-direction:column}
  .cheese-header{position:relative;inset:auto;order:1;display:grid;grid-template-areas:"brand utility" "nav nav";grid-template-columns:1fr auto;row-gap:8px;min-height:0;padding:calc(13px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 7px max(20px,env(safe-area-inset-left))}
  .cheese-brand{grid-area:brand;font-size:27px}
  .cheese-nav{grid-area:nav;justify-content:space-between;gap:12px;border-top:1px solid rgba(59,39,24,.08)}
  .cheese-nav a,.cheese-nav button{min-height:44px;font-size:14px}
  .cheese-utility{grid-area:utility}
  .cheese-copy{position:relative;inset:auto;order:2;flex:0 0 auto;width:auto;padding:22px 24px 24px}
  .cheese-badge{height:38px}
  .cheese-copy h1{max-width:520px;margin:22px 0 15px;font-size:46px}
  .cheese-copy>p{max-width:440px;font-size:17px}
  .cheese-copy>p span{display:inline}
  .cheese-cta{margin-top:26px}
  .cheese-scene{position:relative;inset:auto;order:3;flex:1 1 auto;min-height:260px;width:100%}
  .cheese-scene:after{content:"";position:absolute;z-index:2;top:-1px;right:0;left:0;height:52px;background:linear-gradient(to bottom,var(--paper) 0%,rgba(238,229,223,.84) 30%,rgba(238,229,223,.36) 68%,transparent 100%);pointer-events:none}
  .cheese-scene-video,.cheese-scene-image{object-position:68% 50%}
  .cheese-footer{position:relative;inset:auto;order:4;display:grid;flex:0 0 auto;width:100%;max-width:none;min-height:58px;grid-template-columns:auto 1fr auto;gap:16px;padding:10px max(20px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#fffaf6;border-top:1px solid rgba(59,39,24,.08);font-size:12px;text-shadow:none}
  .cheese-footer a{margin-left:0}
}

@media (max-width:560px){
  .cheese-header{padding:calc(10px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 5px max(14px,env(safe-area-inset-left));row-gap:5px}
  .cheese-brand{font-size:24px}
  .cheese-utility{gap:0}
  .cheese-utility>button,.cheese-utility>a{width:44px;height:44px}
  .cheese-utility svg{width:22px;height:22px}
  .cheese-nav{gap:5px}
  .cheese-nav a,.cheese-nav button{font-size:14px}
  .cheese-copy{flex:0 0 auto;min-height:0;display:block;padding:18px 18px 12px}
  .cheese-copy h1{margin:16px 0 12px;font-size:40px}
  .cheese-copy>p{font-size:16px;line-height:1.55}
  .cheese-cta{height:50px;margin-top:20px}
  .cheese-scene{flex:1 1 auto;min-height:0;aspect-ratio:auto;margin-top:-1px}
  .cheese-scene:after{display:none}
  .cheese-scene-video,.cheese-scene-fallback{inset:auto -8% 0 auto;width:150%;max-width:none;height:auto;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 36px,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 36px,#000 100%)}
  .cheese-scene-video{object-fit:initial;object-position:initial}
  .cheese-scene-image{height:auto;object-fit:initial;object-position:initial}
  .cheese-footer{min-height:62px;grid-template-areas:"brand link" "tag tag";grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;padding:7px max(18px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
  .cheese-footer strong{grid-area:brand;font-size:14px}
  .cheese-footer p{grid-area:tag;font-size:11px}
  .cheese-footer a{grid-area:link;justify-self:end;font-size:12px}
}

@media (max-width:560px) and (max-height:740px){
  .cheese-header{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:2px;row-gap:2px}
  .cheese-brand{font-size:22px}
  .cheese-copy{padding-top:8px;padding-bottom:10px}
  .cheese-badge{height:34px;font-size:13px}
  .cheese-badge svg{width:21px;height:21px}
  .cheese-copy h1{margin:12px 0 9px;font-size:36px}
  .cheese-copy>p{line-height:1.45}
  .cheese-cta{height:46px;margin-top:14px}
  .cheese-scene{aspect-ratio:auto}
  .cheese-scene-video,.cheese-scene-fallback{right:-6%;width:142%;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 32px,#000 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 32px,#000 100%)}
  .cheese-footer{min-height:56px;padding-top:5px;padding-bottom:max(6px,env(safe-area-inset-bottom))}
}

@media (max-width:350px){
  .cheese-copy h1{font-size:34px}
  .cheese-copy h1 span{white-space:normal}
  .cheese-badge{min-width:0;font-size:13px}
  .cheese-nav a,.cheese-nav button{font-size:12px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cheese-scene-video{display:none}
  .cheese-nav a,.cheese-nav button,.cheese-utility>button,.cheese-cta,.cheese-footer a,.cheese-toast{transition:none}
}
