.plan-page{max-width:1200px;margin:0 auto;padding:24px var(--gutter) 80px}.plan-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 16px;scrollbar-width:none}.plan-tabs a{--edge: var(--paper-edge);flex:0 0 auto;display:flex;flex-direction:column;padding:10px 18px;border-radius:16px;text-decoration:none;background:linear-gradient(180deg,#ffffff,var(--paper) 70%,#efe9d6);box-shadow:inset 0 1px #fff,0 4px 0 var(--edge),0 8px 14px #2442241f;margin-bottom:6px}.plan-tabs a span{font-size:13px;color:var(--muted)}.plan-tabs a[aria-current=page]{transform:translateY(3px);color:var(--paper);background:linear-gradient(180deg,#33603a,var(--forest) 60%,var(--forest-2));box-shadow:inset 0 2px 6px #00000040,0 1px 0 var(--forest-edge)}.plan-tabs a[aria-current=page] span{color:#cfd8c4}.plan-tabs b:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--plan);vertical-align:1px}.plan-hero{padding:32px 0 48px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.plan-photo{margin:0;width:min(300px,30vw)}.plan-photo img{width:100%;height:auto;border-radius:24px;box-shadow:0 24px 60px #24422438}.plan-photo figcaption{margin-top:10px;font-size:13px;color:var(--muted);text-align:center}.plan-hero h1{font-size:clamp(38px,6vw,76px);line-height:1;letter-spacing:-.035em}.plan-desc{max-width:60ch;font-size:18px;color:var(--muted);margin:18px 0}.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 20px}.tags li{padding:6px 12px;border-radius:999px;background:var(--paper);font-size:14px;font-weight:500}.plan-macros{display:flex;flex-wrap:wrap;gap:28px;margin:0 0 28px}.plan-macros div{display:flex;flex-direction:column-reverse}.plan-macros dt{font-size:13px;color:var(--muted)}.plan-macros dd{margin:0;font:800 30px/1.1 var(--display);color:var(--forest)}.menu,.price{padding:48px 0;border-top:2px solid var(--forest)}.menu h2,.price h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.03em}.menu-lede{color:var(--muted);margin:8px 0 24px}.price-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;margin-top:24px;align-items:start}fieldset{border:0;padding:0;margin:0 0 24px}legend{font-weight:700;margin-bottom:10px}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.options-2{grid-template-columns:1fr 1fr;margin-bottom:8px}.opt{--edge: var(--paper-edge);display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:0;border-radius:14px;cursor:pointer;text-align:left;background:linear-gradient(180deg,#ffffff,var(--paper) 70%,#efe9d6);color:var(--ink);box-shadow:inset 0 1px #fff,0 4px 0 var(--edge),0 8px 14px #2442241f;font:500 13px/1.3 var(--body);transition:transform .08s,box-shadow .08s}.opt b{font-size:16px}.opt span{color:var(--muted)}.opt[aria-pressed=true]{--edge: var(--forest-edge);transform:translateY(3px);background:linear-gradient(180deg,#33603a,var(--forest) 60%,var(--forest-2));color:var(--paper);box-shadow:inset 0 2px 6px #00000040,0 1px 0 var(--edge)}.opt[aria-pressed=true] span{color:#cfd8c4}.opt:disabled{opacity:.45;cursor:not-allowed}.custom-days,.comment{display:grid;gap:6px;margin-top:10px;font-weight:700}.custom-days input,.comment input{font:400 16px var(--body);padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--ink)}.custom-days input{width:140px}.hint-text{font-size:14px;color:var(--muted);margin:4px 0 0}.price-summary{position:sticky;top:96px;padding:24px;border-radius:22px;background:var(--forest);color:var(--paper)}.price-summary dl{margin:0 0 12px}.price-summary dl div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(248,246,238,.15)}.price-summary dt{color:#cfd8c4}.price-summary dd{margin:0;font-weight:700}.total{display:flex;justify-content:space-between;align-items:baseline;margin:12px 0 4px}.total b{font:800 32px var(--display)}.installment-line{margin:0 0 8px;color:#cfd8c4}.price-summary .btn{margin-top:12px}.added{margin:12px 0 0;font-size:14px;color:#cfd8c4}@media(max-width:760px){.price-grid,.plan-hero{grid-template-columns:1fr}.plan-photo{width:100%;max-width:360px}.plan-photo img{aspect-ratio:4 / 5;object-fit:cover}.price-summary{position:static}.plan-macros{gap:20px}.plan-macros dd{font-size:24px}}
