:root{--surface: #FFFDF9;--surface-tint: #FBF1E8;--ink: #3B2A24;--muted: #7A6660;--line: #E8DBD2;--primary: #8A2E3B;--primary-deep: #6C2130;--on-primary: #FBEFE6;--accent: #E9A23B;--accent-soft: #FBE3B8;--success: #2F6B4F;--font: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--max: 1120px;--gutter: clamp(20px, 5vw, 48px);--radius: 14px;--radius-sm: 8px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body{margin:0;font-family:var(--font);font-size:17px;line-height:1.55;color:var(--ink);background:var(--surface);font-variation-settings:"opsz" 14,"wdth" 100;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.1;letter-spacing:-.01em}p{margin:0}a{color:inherit}ul{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}img,svg{display:block;max-width:100%}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{width:min(var(--max),100% - 2 * var(--gutter));margin-inline:auto}.section{padding-block:clamp(64px,9vw,112px)}.section-tint{background:var(--surface-tint)}.h-display{font-size:clamp(38px,5.6vw,64px);font-weight:700;line-height:1.02;letter-spacing:-.025em;font-variation-settings:"opsz" 96,"wdth" 90}.h-section{font-size:clamp(30px,3.6vw,42px);font-weight:650;letter-spacing:-.02em;font-variation-settings:"opsz" 48,"wdth" 94;max-width:22ch}.lede{font-size:clamp(18px,1.5vw,20px);color:var(--muted);max-width:56ch}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;border:1.5px solid transparent;font-weight:600;font-size:16px;line-height:1;text-decoration:none;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-deep)}.btn-accent{background:var(--accent);color:var(--ink)}.btn-accent:hover{filter:brightness(.95)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink)}.btn-ghost.on-dark{color:var(--on-primary);border-color:#ffffff59}.btn-ghost.on-dark:hover{border-color:var(--on-primary)}.btn[disabled]{opacity:.6;cursor:wait}.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}.wordmark{font-weight:700;font-size:24px;letter-spacing:-.02em;text-decoration:none;font-variation-settings:"opsz" 96,"wdth" 85;display:inline-flex;align-items:center;gap:10px}.wordmark-dot{width:12px;height:12px;border-radius:50%;background:var(--accent)}.nav-links{display:flex;gap:28px}.nav-links a{text-decoration:none;color:var(--muted);font-weight:500;font-size:15px}.nav-links a:hover{color:var(--ink)}.nav-cta{display:flex;gap:10px}.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px}@media (max-width: 820px){.nav-links,.nav-cta{display:none}.nav-toggle{display:inline-flex}.nav.open .nav-links,.nav.open .nav-cta{display:flex}.nav.open .nav-inner{flex-wrap:wrap;height:auto;padding-block:14px 18px}.nav.open .nav-links{flex-direction:column;width:100%;gap:14px;order:3}.nav.open .nav-cta{width:100%;order:4}}.hero{background:var(--primary);color:var(--on-primary);overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:center;padding-block:clamp(56px,8vw,104px)}.hero h1{color:var(--on-primary)}.hero h1 .line2{display:block;color:var(--accent)}.hero .lede{color:color-mix(in srgb,var(--on-primary) 82%,transparent);margin-top:22px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.hero-note{margin-top:28px;font-size:14px;color:color-mix(in srgb,var(--on-primary) 70%,transparent)}.hero-visual{display:flex;flex-direction:column;align-items:flex-end}.hero-photo{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;object-position:center top;border-radius:20px;box-shadow:0 30px 60px -30px #00000080}.chat{background:var(--surface);color:var(--ink);border-radius:20px;padding:18px;box-shadow:0 30px 60px -30px #00000080;display:flex;flex-direction:column;gap:10px;max-width:440px;margin-inline:auto}.hero-visual .chat{position:relative;width:min(380px,92%);margin:-96px 0 0;align-self:flex-start;transform:translate(-28px);box-shadow:0 30px 60px -20px #0000008c}.chat-head{display:flex;align-items:center;gap:10px;padding:2px 4px 10px;border-bottom:1px solid var(--line);margin-bottom:4px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--primary);font-weight:700;font-size:14px}.chat-head strong{font-size:15px;display:block;line-height:1.1}.chat-head small{color:var(--muted);font-size:12px}.bubble{max-width:85%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.45}.bubble.you{align-self:flex-end;background:var(--accent-soft);border-bottom-right-radius:4px}.bubble.cm{align-self:flex-start;background:var(--surface-tint);border-bottom-left-radius:4px}.bubble time{display:block;font-size:11px;color:var(--muted);margin-top:4px}@media (max-width: 860px){.hero-inner{grid-template-columns:1fr}.chat{max-width:100%}.hero-photo{aspect-ratio:4 / 3;object-position:center 30%}.hero-visual .chat{width:auto;margin:-64px 14px 0;transform:none;align-self:stretch}}.cm-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}.cm-marks{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:28px}.mark{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:500;font-size:15px}.mark-check{width:20px;height:20px;border-radius:50%;background:var(--success);color:#fff;display:grid;place-items:center}.mark-check svg{width:12px;height:12px}.cm-photo{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);margin-top:36px}.cm-portrait{border-radius:var(--radius);background:var(--primary);color:var(--on-primary);padding:clamp(24px,4vw,40px);min-height:100%;display:flex;flex-direction:column;gap:28px}.cm-portrait blockquote{margin:0;font-size:clamp(20px,2vw,24px);line-height:1.35;font-weight:500}.cm-portrait cite{font-style:normal;color:var(--accent);font-size:15px}@media (max-width: 820px){.cm-grid{grid-template-columns:1fr}}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px;counter-reset:step}.step{display:flex;flex-direction:column;gap:32px}.step-photo{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius)}.step-body{position:relative;padding-top:18px;border-top:2px solid var(--line)}.step-body:before{counter-increment:step;content:counter(step);position:absolute;top:-17px;left:0;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:700;font-size:15px;display:grid;place-items:center}.step h3{font-size:21px;margin-top:14px;margin-bottom:8px}.step p{color:var(--muted)}@media (max-width: 820px){.steps{grid-template-columns:1fr;gap:36px}}.plans-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.plans-terms{color:var(--muted);font-size:15px}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;align-items:start}.plan{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:28px 26px;display:flex;flex-direction:column;gap:18px}.plan.featured{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 10%,transparent)}.plan-badge{align-self:flex-start;font-size:13px;font-weight:600;background:var(--accent);color:var(--ink);padding:4px 10px;border-radius:999px}.plan h3{font-size:26px}.plan-price{display:flex;align-items:baseline;gap:6px}.plan-price strong{font-size:36px;font-weight:700;letter-spacing:-.02em;font-variation-settings:"opsz" 48,"wdth" 90}.plan-price span,.plan-summary{color:var(--muted);font-size:15px}.plan-inherits{font-weight:600;font-size:14px;color:var(--primary);padding-top:12px;border-top:1px solid var(--line)}.plan-group h4{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:8px}.plan-group ul{display:flex;flex-direction:column;gap:7px}.plan-group li{display:flex;gap:10px;font-size:15px;line-height:1.4}.plan-group li:before{content:"";flex:none;width:16px;height:16px;margin-top:3px;border-radius:50%;background:var(--accent-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%233B2A24' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.plan .btn{margin-top:auto;justify-content:center}.plan-positioning{font-size:14px;color:var(--muted);font-style:italic}.plans-foot{margin-top:20px;font-size:13px;color:var(--muted)}@media (max-width: 960px){.plans{grid-template-columns:1fr;max-width:520px}}.addons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;margin-top:36px}.addon{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.addon span:last-child{color:var(--muted);font-size:15px;white-space:nowrap}.addons-request{margin-top:40px}.addons-request h3{font-size:18px;margin-bottom:14px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{padding:7px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:14px}.addons-foot{margin-top:24px;font-size:13px;color:var(--muted);max-width:70ch}@media (max-width: 720px){.addons-grid{grid-template-columns:1fr}}.faq-list{margin-top:36px;border-top:1px solid var(--line);max-width:760px}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;list-style:none;padding:20px 0;font-weight:600;font-size:18px;display:flex;justify-content:space-between;align-items:center;gap:16px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-weight:400;font-size:24px;color:var(--primary);transition:transform .16s ease}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{padding:0 0 20px;color:var(--muted);max-width:64ch}.lead{background:var(--primary);color:var(--on-primary)}.lead-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,6vw,72px);align-items:start}.lead h2{color:var(--on-primary)}.lead .lede{color:color-mix(in srgb,var(--on-primary) 82%,transparent);margin-top:16px}.lead-alt{margin-top:28px;font-size:15px}.lead-alt a{color:var(--accent)}.form{background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:clamp(22px,3vw,32px);display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:6px}.field label{font-size:14px;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);outline:none}.field textarea{min-height:96px;resize:vertical}.form-foot{font-size:13px;color:var(--muted)}.form-success{background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:32px;display:grid;gap:10px}.form-success h3{font-size:24px}.form-success p{color:var(--muted)}.form-error{color:#9b2c2c;font-size:14px}@media (max-width: 860px){.lead-grid,.form-row{grid-template-columns:1fr}}.footer{padding-block:40px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}.footer a{text-decoration:none}.footer a:hover{color:var(--ink)}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.week-title{font-size:20px;color:var(--accent)}.week{display:flex;flex-direction:column;gap:12px}.week li{display:grid;grid-template-columns:44px 1fr;gap:12px;font-size:16px;line-height:1.4;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.14)}.week li:last-child{border-bottom:0;padding-bottom:0}.week-day{font-weight:700;color:var(--accent)}.week-note{margin-top:auto;font-size:14px;color:color-mix(in srgb,var(--on-primary) 70%,transparent)}
