:root{--paper: #F6F3EC;--ink: #173C32;--charcoal: #202622;--clay: #A64531;--sand: #D8CEBD;--white: #FFFFFF;--radius: 8px;--maxw: 1200px;--step: clamp(1rem, .6rem + 1.2vw, 1.15rem)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:"Source Sans 3",Source Sans Pro,system-ui,-apple-system,sans-serif;font-size:calc(var(--step) * 1.06);line-height:1.6;color:var(--charcoal);background:var(--paper)}h1,h2,h3{font-family:"Instrument Serif",Georgia,serif;font-weight:400;line-height:1.15;color:var(--ink)}h1{font-size:clamp(2.5rem,1.8rem + 3vw,4.5rem);margin:0 0 1rem}h2{font-size:clamp(1.75rem,1.4rem + 1.5vw,2.5rem);margin:0 0 .75rem}h3{font-size:1.35rem;margin:0 0 .5rem}p{margin:0 0 1rem;max-width:70ch}a{color:var(--ink);text-underline-offset:3px}a:hover{color:var(--clay)}img{max-width:100%;height:auto}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:600;color:var(--clay)}.muted{color:#5a615c}.small{font-size:.92rem}section{padding:clamp(2.5rem,2rem + 3vw,5rem) 0}section.sand{background:var(--sand)}section.white{background:var(--white)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.5rem;border-radius:var(--radius);font-size:1.05rem;font-weight:600;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background .15s,color .15s,border-color .15s}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--charcoal);color:var(--paper)}.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.btn-secondary:hover{background:var(--ink);color:var(--paper)}.btn:focus-visible{outline:3px solid var(--clay);outline-offset:2px}.btn[disabled]{opacity:.55;cursor:not-allowed}.trustbar{display:flex;flex-wrap:wrap;gap:.75rem 2rem;padding:1rem 0;border-block:1px solid var(--sand)}.trustbar span{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--ink)}.trustbar svg{flex:none}.grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);padding:1.5rem}.card.hero-card{grid-column:span 2;border:2px solid var(--ink)}.card h3 a{text-decoration:none}.price-line{display:block}.price{font-size:1.6rem;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;display:inline}.price small{font-weight:400;font-size:.95rem;color:#5a615c}.ref-price{display:block;font-size:.88rem;color:#5a615c;margin-top:.2rem}.badge{display:inline-block;margin-left:.5rem;padding:.15rem .55rem;vertical-align:middle;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--clay);border:1.5px solid var(--clay);border-radius:999px}.status-note{font-size:.88rem;color:#5a615c;border-left:3px solid var(--sand);padding-left:.7rem}.steps{counter-reset:step;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.step{counter-increment:step}.step:before{content:counter(step,decimal-leading-zero);display:block;font-family:"Instrument Serif",serif;font-size:2rem;color:var(--clay);margin-bottom:.25rem}details{border-bottom:1px solid var(--sand);padding:.85rem 0}summary{cursor:pointer;font-weight:600;color:var(--ink)}summary:focus-visible{outline:3px solid var(--clay);outline-offset:2px}details p{margin-top:.6rem}form.booking label{display:block;font-weight:600;margin:1rem 0 .3rem;color:var(--ink)}form.booking input,form.booking select,form.booking textarea{width:100%;max-width:30rem;padding:.7rem .85rem;font-size:1rem;border:1.5px solid var(--sand);border-radius:var(--radius);background:var(--white);color:var(--charcoal)}form.booking input:focus,form.booking select:focus,form.booking textarea:focus{outline:3px solid var(--clay);outline-offset:1px;border-color:var(--ink)}form.booking .hint{font-size:.88rem;color:#5a615c;margin-top:.25rem}header.site{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--sand)}header.site .container{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:1rem}.logo{font-family:"Instrument Serif",serif;font-size:1.4rem;text-decoration:none;color:var(--ink)}nav.main ul{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}nav.main a{text-decoration:none;font-weight:600}nav.main a[aria-current=page]{color:var(--clay)}.menu-toggle{display:none;background:none;border:2px solid var(--ink);border-radius:var(--radius);padding:.45rem .7rem;font:inherit;font-weight:600;color:var(--ink)}footer.site{background:var(--ink);color:var(--paper);padding:3rem 0 6rem;margin-top:3rem}footer.site a{color:var(--paper)}footer.site .cols{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}footer.site h3{color:var(--paper);font-size:1.05rem;letter-spacing:.02em;margin:0 0 .65rem}footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}footer.site ul a{font-size:.95rem;font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--paper) 45%,transparent)}footer.site ul a:hover{text-decoration-color:var(--paper)}footer.site .brand-tagline{margin:0 0 .35rem;color:color-mix(in srgb,var(--paper) 90%,transparent)}footer.site .brand-hours{margin:0;color:color-mix(in srgb,var(--paper) 75%,transparent)}.nowrap{white-space:nowrap}.legal-line{border-top:1px solid color-mix(in srgb,var(--paper) 25%,transparent);margin-top:2rem;padding-top:1rem;font-size:.85rem;color:color-mix(in srgb,var(--paper) 75%,transparent)}.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:.6rem;padding:.6rem .9rem calc(.6rem + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--sand)}.cta-bar .btn{flex:1;min-height:44px;font-size:.95rem;padding:.5rem .8rem}@media(max-width:720px){.menu-toggle{display:inline-flex}nav.main{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--sand)}nav.main.open{display:block}nav.main ul{flex-direction:column;padding:1rem 1.25rem 1.5rem;gap:.9rem}.card.hero-card{grid-column:span 1}.cta-bar{display:flex}body{padding-bottom:92px}header.site .btn{display:none}}@media(min-width:721px){.cta-bar{display:none}}@media(min-width:721px)and (max-width:1099px){header.site .header-cta{display:none}}.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:100}.skip-link:focus{left:8px;color:var(--paper)}.hero-split{display:grid;gap:2rem;grid-template-columns:1fr;align-items:center}@media(min-width:960px){.hero-split{grid-template-columns:5fr 7fr}}.hero-art{border-radius:var(--radius);overflow:hidden;border:1px solid var(--sand);background:var(--white)}.hero-art svg{display:block;width:100%;height:auto}.hero-caption{font-size:.85rem;color:#5a615c;padding:.5rem .9rem;border-top:1px solid var(--sand)}.kit-status{font-weight:600;color:var(--ink)}.progress{height:8px;background:var(--sand);border-radius:999px;overflow:hidden;max-width:30rem;margin:.5rem 0}.progress>div{height:100%;background:var(--ink);width:0%;transition:width .2s}.phrase-list li{margin-bottom:.6rem}.phrase-list .zh{font-size:1.25rem;color:var(--ink);font-weight:600}.kit-note{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);padding:1rem 1.25rem}.share-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border:1px solid var(--ink);border-radius:var(--radius);background:transparent;color:var(--ink);font:inherit;font-size:.92rem;cursor:pointer;transition:background .15s,color .15s}.share-btn:hover{background:var(--ink);color:var(--paper)}.share-btn svg{width:16px;height:16px}.prose h2{margin-top:2.2rem}.prose h3{margin-top:1.6rem}.prose ul,.prose ol{padding-left:1.4rem;margin:0 0 1rem}.prose li{margin-bottom:.35rem}.prose img{border-radius:var(--radius);border:1px solid var(--sand)}.prose blockquote{margin:1.25rem 0;padding:.75rem 1.1rem;border-left:4px solid var(--clay);background:var(--white);border-radius:0 var(--radius) var(--radius) 0}.prose strong{color:var(--ink)}
