:root{--cream: #faf7f1;--cream-deep: #f3ede2;--ink: #3b342c;--ink-soft: #6b5f52;--sage: #5f6f5c;--sage-dark: #48564a;--clay: #b0714f;--rose: #e9d8cb;--line: #e5dccb;--white: #fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;font-weight:300}h1,h2,h3,.brand{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;line-height:1.15;margin:0 0 .6em}h2{font-size:clamp(1.9rem,4vw,2.7rem);text-align:center}p{margin:0 0 1em}.wrap{max-width:1080px;margin:0 auto;padding:0 1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;color:var(--clay);text-align:center;margin-bottom:.6em}.eyebrow.light{color:var(--rose)}.site-header{position:sticky;top:0;z-index:50;background:#faf7f1f0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;padding-bottom:.85rem}.brand{font-size:1.55rem;color:var(--ink);text-decoration:none;margin:0;display:inline-flex;align-items:center;gap:.6rem}.brand-logo{height:2.2rem;width:auto;display:block}.site-header nav{display:flex;gap:1.15rem;align-items:center;flex-wrap:wrap}.site-header nav a{color:var(--ink-soft);text-decoration:none;font-size:.92rem;font-weight:400}.site-header nav a:hover{color:var(--clay)}.btn{display:inline-block;padding:.8rem 1.7rem;border-radius:999px;text-decoration:none;font-weight:500;font-size:.98rem;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;border:1px solid transparent;cursor:pointer;font-family:inherit}.btn-primary{background:var(--sage);color:#fff}.btn-primary:hover{background:var(--sage-dark);transform:translateY(-1px);box-shadow:0 8px 20px #5f6f5c47}.btn-ghost{border-color:#ffffff8c;color:#fff}.btn-ghost:hover{background:#ffffff24}.btn-small{padding:.5rem 1.15rem;font-size:.88rem;background:var(--clay);color:#fff}.btn-small:hover{filter:brightness(1.07)}.hero{background:linear-gradient(160deg,#4a5a4c,#6b7f6a 55%,#8a9a83);color:#fdfbf6;padding:5.5rem 0 4.5rem;text-align:center}.hero h1{font-size:clamp(2.4rem,6vw,4rem);max-width:16ch;margin:0 auto .5em}.lede{font-size:1.12rem;max-width:62ch;margin:0 auto 1.8em;color:#f3efe4}.cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.6rem}.trust-strip{list-style:none;display:flex;gap:.6rem 1.8rem;justify-content:center;flex-wrap:wrap;padding:0;margin:0;font-size:.9rem;letter-spacing:.04em;color:#efe8d8}.trust-strip li:before{content:"✦ ";color:var(--rose)}.hero-image{display:block;width:100%;max-width:720px;height:auto;margin:2.4rem auto 0;border-radius:1.1rem;box-shadow:0 24px 60px #00000040}.section{padding:4.5rem 0}.section-alt{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-lede{text-align:center;max-width:64ch;margin:0 auto 2.4rem;color:var(--ink-soft);font-size:1.05rem}.section-note{text-align:center;color:var(--ink-soft);font-size:.95rem;margin-top:2rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.4rem}.card{background:var(--white);border:1px solid var(--line);border-radius:1.1rem;padding:1.9rem 1.7rem;box-shadow:0 4px 18px #3b342c0d}.section-alt .card{background:var(--cream)}.card h3{font-size:1.5rem;margin-bottom:.25em}.card-sub{color:var(--clay);font-style:italic;font-family:Cormorant Garamond,serif;font-size:1.08rem;margin-bottom:.8em}.card ul{margin:1em 0 0;padding-left:1.15rem;color:var(--ink-soft)}.card li{margin-bottom:.45em}.card-image{display:block;width:100%;height:auto;border-radius:.8rem;margin:.6rem 0 1.2rem}.combo{margin-top:1.4rem;text-align:center;background:var(--sage);color:#fff;border-radius:1.1rem;padding:2rem 1.6rem}.combo h3{font-size:1.6rem}.combo p{margin:0 auto;max-width:60ch;color:#f1ede1}.steps{list-style:none;counter-reset:step;padding:0;margin:0 auto;max-width:720px;display:grid;gap:1rem}.steps li{counter-increment:step;background:var(--cream);border:1px solid var(--line);border-radius:.9rem;padding:1.15rem 1.3rem 1.15rem 4rem;position:relative;color:var(--ink-soft)}.steps li:before{content:counter(step);position:absolute;left:1.2rem;top:1.05rem;width:2rem;height:2rem;border-radius:50%;background:var(--sage);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:1.1rem}.steps strong{color:var(--ink);font-weight:600}.about{max-width:700px;margin:0 auto;font-size:1.06rem;color:var(--ink-soft)}.about p{margin-bottom:1.2em}.pricing .price{font-family:Cormorant Garamond,serif;font-size:1.7rem;margin:.15em 0;color:var(--sage-dark)}.pricing .price span{font-size:1rem;color:var(--ink-soft);font-family:Inter,sans-serif}.faq{max-width:760px;margin:0 auto;display:grid;gap:.8rem}.faq-item{background:var(--cream);border:1px solid var(--line);border-radius:.9rem;overflow:hidden}.faq-q{width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:1.1rem 1.3rem;font-size:1.02rem;font-weight:500;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:inherit}.faq-icon{font-size:1.4rem;color:var(--clay);flex-shrink:0}.faq-a{padding:0 1.3rem 1.25rem;margin:0;color:var(--ink-soft)}.section-figure{max-width:720px;margin:2.8rem auto 0;text-align:center}.pricing-figure{margin-top:0;margin-bottom:2.4rem}.booking-figure{margin-top:0;margin-bottom:2.2rem}.figure-image{display:block;width:100%;height:auto;border-radius:1.1rem;box-shadow:0 18px 44px #3b342c29}.section-figure figcaption{margin-top:.9rem;color:var(--ink-soft);font-style:italic;font-family:Cormorant Garamond,serif;font-size:1.15rem}.booking-form{max-width:680px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:1.1rem;padding:2rem;display:grid;gap:1.1rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}@media(max-width:640px){.grid2{grid-template-columns:1fr}}.booking-form label{display:grid;gap:.4rem;font-size:.92rem;font-weight:500;color:var(--ink)}.booking-form input,.booking-form select,.booking-form textarea{font:inherit;font-weight:300;padding:.7rem .9rem;border:1px solid var(--line);border-radius:.6rem;background:var(--cream);color:var(--ink);width:100%}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid var(--sage);border-color:var(--sage);background:#fff}.consent{display:flex!important;gap:.7rem!important;align-items:flex-start;font-weight:400!important;font-size:.9rem!important;color:var(--ink-soft)!important}.consent input{width:1.15rem;height:1.15rem;margin-top:.2rem;flex-shrink:0;accent-color:var(--sage)}.form-error{color:#a33b2e;background:#fbeeea;border:1px solid #f0c9bd;padding:.7rem 1rem;border-radius:.6rem;margin:0}.form-note{font-size:.88rem;color:var(--ink-soft);margin:0}.form-success{max-width:680px;margin:0 auto;background:#eef3ea;border:1px solid #bcd0b4;color:var(--sage-dark);padding:1.6rem;border-radius:1rem;text-align:center;font-size:1.05rem}.site-footer{background:#35302a;color:#d9d0bf;padding:3rem 0 1.5rem}.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2rem}.site-footer .brand{color:#f5efe2}.footer-heading{font-weight:600;color:#f5efe2;margin-bottom:.4em}.site-footer a{color:var(--rose)}.footer-note{font-size:.9rem;color:#a89c86}.copyright{text-align:center;font-size:.82rem;color:#8a7e6a;border-top:1px solid #4a443b;padding-top:1.2rem;margin:0}@media(max-width:720px){.section{padding:3.2rem 0}.hero{padding:3.8rem 0 3.2rem}}.brand-btn{background:none;border:none;cursor:pointer;padding:0;font:inherit}.tab-nav{border-top:1px solid var(--line);background:#faf7f1f0}.tab-nav-inner{display:flex;gap:.35rem;align-items:center;overflow-x:auto;padding:.55rem 1.5rem;scrollbar-width:thin}.tab-btn{flex-shrink:0;background:none;border:1px solid transparent;cursor:pointer;font:inherit;font-size:.9rem;font-weight:500;color:var(--ink-soft);padding:.5rem .95rem;border-radius:999px;white-space:nowrap;transition:background .15s ease,color .15s ease}.tab-btn:hover{color:var(--clay);background:#b0714f14}.tab-btn.active{background:var(--sage);color:#fff}.tab-cta{background:var(--clay);color:#fff}.tab-cta:hover{background:#9d6143;color:#fff}.tab-cta.active{background:var(--sage-dark);color:#fff}.cite{font-size:.85em;white-space:nowrap}.sources{max-width:760px;margin:3rem auto 0;background:var(--white);border:1px solid var(--line);border-radius:1.1rem;padding:1.8rem}.section-alt .sources{background:var(--cream)}.sources h3{font-size:1.35rem;text-align:center}.sources-note{color:var(--ink-soft);font-size:.95rem;text-align:center}.sources ul{margin:1em 0 0;padding-left:1.2rem;color:var(--ink-soft);font-size:.92rem}.sources li{margin-bottom:.5em}.disclaimer{font-size:.85rem;color:#a89c86;line-height:1.6;border-top:1px solid #4a443b;padding-top:1.2rem;margin:0 0 1.2rem}.disclaimer strong{color:#d9d0bf}.chat{max-width:680px;margin:0 auto 3rem;background:var(--white);border:1px solid var(--line);border-radius:1.2rem;overflow:hidden;box-shadow:0 10px 34px #3b342c14}.chat-head{display:flex;gap:.9rem;align-items:center;background:var(--sage);color:#fff;padding:1.1rem 1.4rem}.chat-logo{height:2.4rem;width:auto;border-radius:50%;background:#fff;padding:2px}.chat-title{margin:0;font-family:Cormorant Garamond,serif;font-size:1.35rem}.chat-sub{margin:0;font-size:.85rem;color:#e9e4d4}.chat-body{padding:1.4rem;display:flex;flex-direction:column;gap:.7rem;max-height:480px;overflow-y:auto;background:var(--cream)}.bubble{max-width:82%;padding:.75rem 1.05rem;border-radius:1.1rem;font-size:.96rem;line-height:1.55;animation:bubble-in .25s ease}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bubble-me{align-self:flex-start;background:#fff;border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:.3rem}.bubble-you{align-self:flex-end;background:var(--clay);color:#fff;border-bottom-right-radius:.3rem}.typing{display:inline-flex;gap:5px;padding:.95rem 1.1rem}.typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-soft);animation:blink 1.2s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.chat-choices{display:flex;flex-wrap:wrap;gap:.55rem;align-self:flex-end;max-width:90%;justify-content:flex-end}.choice-btn{background:#fff;border:1.5px solid var(--sage);color:var(--sage-dark);border-radius:999px;padding:.55rem 1.1rem;font:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease}.choice-btn:hover{background:var(--sage);color:#fff}.chat-input{display:flex;gap:.6rem;padding:1rem 1.2rem;background:#fff;border-top:1px solid var(--line)}.chat-input input{flex:1;font:inherit;padding:.7rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--cream);color:var(--ink)}.chat-input input:focus{outline:2px solid var(--sage);border-color:var(--sage);background:#fff}.chat-summary{background:#fff;border:1px solid var(--line);border-radius:.9rem;padding:1.2rem 1.3rem;display:grid;gap:.8rem}.chat-summary-title{font-weight:600;margin:0;color:var(--ink)}.chat-summary dl{margin:0;display:grid;gap:.45rem}.chat-summary dl>div{display:grid;grid-template-columns:130px 1fr;gap:.7rem;font-size:.92rem}.chat-summary dt{color:var(--ink-soft);font-weight:500}.chat-summary dd{margin:0;color:var(--ink)}.chat-divider{display:flex;align-items:center;gap:1rem;max-width:680px;margin:0 auto 2.2rem;color:var(--ink-soft);font-size:.92rem}.chat-divider:before,.chat-divider:after{content:"";flex:1;height:1px;background:var(--line)}.btn-ghost.dark{border-color:var(--line);color:var(--ink-soft)}.btn-ghost.dark:hover{background:#3b342c0f}@media(max-width:720px){.section{padding:3.2rem 0}.hero{padding:3.8rem 0 3.2rem}.chat-summary dl>div{grid-template-columns:1fr;gap:.1rem}}.skip-link{position:absolute;left:1rem;top:-5rem;z-index:300;background:#fffdf9;color:#3b342c;padding:.65rem 1.1rem;border-radius:.6rem;font-weight:600;text-decoration:none;box-shadow:0 4px 14px #0000002e;transition:top .15s ease}.skip-link:focus{top:.75rem}main h1:focus,main h2:focus{outline:none}
