@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap";:root{color:#1d1b18;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f4ee;font-family:Be Vietnam Pro,Inter,sans-serif;font-weight:400;line-height:1.5}html{scroll-behavior:smooth}*{box-sizing:border-box}body{background:#f7f4ee;min-width:320px;margin:0}img{max-width:100%}a{color:inherit}button,input,textarea{font:inherit}#root{min-height:100vh}.page-shell{color:#1d1b18;background:#f7f4ee}.container{width:min(1180px,100% - 32px);margin:0 auto}.topbar{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f4eee6;border-bottom:1px solid #1c19160f;position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:20px;min-height:76px;display:flex}.brand-mark{letter-spacing:.12em;color:#171411;font-size:1.1rem;font-weight:800;text-decoration:none}.main-nav{align-items:center;gap:28px;display:flex}.main-nav a{color:#433c36;font-size:.95rem;text-decoration:none}.primary-button,.secondary-button{font:inherit;cursor:pointer;border:0;border-radius:999px;padding:.9rem 1.35rem;font-weight:600;transition:transform .2s,box-shadow .2s}.primary-button{color:#f8f5f1;background:#4d5d43;box-shadow:0 16px 32px #4d5d432e}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.secondary-button{color:#1b1c1b;background:#efe7dc;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.hero-section{padding:64px 0 32px}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:52px;display:grid}.eyebrow,.section-kicker{letter-spacing:.12em;color:#596652;margin:0 0 18px;font-size:.78rem;font-weight:700}.hero-copy h1{letter-spacing:-.06em;color:#161311;margin:0;font-size:clamp(2.7rem,4vw,5rem);line-height:1.04}.hero-copy h1 span{display:block}.lead{color:#433c36;max-width:62ch;margin-top:24px;font-size:1.08rem;line-height:1.8}.lead.secondary{margin-top:10px}.hero-meta{color:#5d564f;margin-top:20px;font-size:.96rem;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.hero-visual{justify-content:center;align-items:center;display:flex;position:relative}.photo-frame{border:1px solid #1a171414;border-radius:28px;width:min(100%,520px);overflow:hidden;box-shadow:0 28px 60px #2a261f1f}.photo-frame img{object-fit:cover;background:#ddd;width:100%;height:680px;display:block}.section-block{padding:72px 0}.section-block h2{letter-spacing:-.05em;color:#171411;margin:0;font-size:clamp(2rem,2.6vw,3rem);line-height:1.15}.section-subtitle{color:#504a45;max-width:760px;margin-top:16px;font-size:1.04rem;line-height:1.8}.section-subtitle.compact{margin-bottom:14px}.reason-grid,.process-grid,.faq-list,.footer-grid{gap:22px;display:grid}.reason-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:38px}.reason-card,.process-card,.faq-item,.service-card,.booking-form-card,.package-summary-card,.about-card{background:#ffffffc2;border:1px solid #201d1a14;border-radius:24px;box-shadow:0 12px 24px #201b170a}.reason-card{padding:22px 20px 18px}.number-badge{color:#2d3329;background:#e4e6d9;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:18px;font-weight:700;display:inline-flex}.reason-card h3,.process-card h3,.faq-item h3{color:#171411;margin:0 0 10px;font-size:1.2rem;line-height:1.4}.reason-card p,.process-card p,.faq-item p,.about-copy p,.about-stat span,.booking-guideline p,.site-footer p,.site-footer li,.summary-row .label{color:#554e49;line-height:1.75}.closing-note{text-align:center;color:#433c36;max-width:760px;margin:34px auto 0;font-size:1.1rem;line-height:1.9}.service-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px;display:grid}.service-card{flex-direction:column;gap:16px;padding:24px 22px;display:flex}.service-card.selected{border-color:#4d5d4359;box-shadow:0 18px 32px #4d5d431f}.service-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.service-head h3{color:#171411;margin:0;font-size:1.5rem;line-height:1.3}.service-code{letter-spacing:.1em;text-transform:uppercase;color:#6a6b5d;margin:6px 0 0;font-size:.72rem}.service-price{color:#1d1b18;white-space:nowrap;font-size:1.15rem;font-weight:700}.service-meta{color:#5a564f;flex-wrap:wrap;gap:12px;font-size:.86rem;display:flex}.service-description{color:#3d3935;margin:0;line-height:1.75}.service-cta-note{color:#5a564f;background:#e4e6d980;border-radius:10px;padding:8px 10px;font-size:.8rem;line-height:1.6}.service-note{color:#5b5550;margin:-2px 0 0;font-size:.82rem;line-height:1.7}.service-card ul,.deliverables-block ul,.site-footer ul{color:#433c36;margin:0;padding-left:18px;line-height:1.8}.deliverables-block{margin-top:auto;padding-top:6px}.deliverables-block strong{color:#171411;margin-bottom:8px;display:block}.full-width{width:100%;margin-top:4px}.narrow-container{max-width:980px}.compare-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px;display:grid}.compare-item{background:#ffffffb8;border:1px solid #201d1a14;border-radius:20px;padding:22px 18px}.compare-item h3{color:#171411;margin:0 0 10px;font-size:1.2rem}.compare-item p{color:#534f4b;margin:0;line-height:1.7}.about-grid,.booking-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:28px;display:grid}.about-copy{max-width:760px}.about-copy p{margin-top:18px;font-size:1.05rem}.about-card{gap:18px;padding:28px 22px;display:grid}.about-stat{border-bottom:1px solid #201d1a14;flex-direction:column;gap:8px;padding-bottom:16px;display:flex}.about-stat strong{color:#171411;font-size:2.2rem}.process-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:32px}.process-card{padding:22px 18px}.step-number{color:#596652;letter-spacing:.08em;margin-bottom:18px;font-weight:700;display:inline-block}.faq-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}.faq-item{padding:20px 20px 18px}.booking-section{padding-bottom:90px}.booking-summary{padding-right:10px}.package-summary-card{margin-top:24px;padding:22px 20px}.summary-row{border-bottom:1px solid #201d1a14;justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.summary-row:last-child{border-bottom:0}.total-row{margin-top:8px}.summary-row strong{color:#171411}.booking-guideline{margin-top:18px}.booking-form-card{padding:24px 20px}.form-row{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-row label{color:#403d3a;font-size:.9rem;font-weight:600}.form-row input,.form-row textarea{box-sizing:border-box;width:100%;font:inherit;color:#1d1b18;background:#ffffffbf;border:1px solid #26221e1f;border-radius:14px;padding:.9rem .95rem}.form-row input:focus,.form-row textarea:focus{border-color:#4d5d4347;outline:2px solid #4d5d432e}.status-box{border-radius:14px;margin-bottom:18px;padding:.85rem .9rem;font-size:.95rem}.status-box.error{color:#8d3727;background:#b24e3514}.status-box.success{color:#314128;background:#4d5d4314}.button-stack{flex-direction:column;gap:12px;display:flex}.token-box,.confirmation-box{color:#2a2f27;background:#e8ece2b8;border-radius:16px;margin-top:18px;padding:16px 18px}.token-box{flex-direction:column;gap:6px;display:flex}.token-box strong,.confirmation-box strong{color:#171411;font-size:1.04rem}.token-box small{color:#514f4a}.site-footer{background:#f1ebdf;border-top:1px solid #19151214;padding:34px 0 40px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}.site-footer h3,.site-footer h4{color:#171411;margin:0 0 14px}.site-footer ul{padding:0;list-style:none}@media (width<=960px){.hero-grid,.about-grid,.booking-grid,.service-list,.process-grid,.reason-grid,.compare-row,.faq-list,.footer-grid{grid-template-columns:1fr}.main-nav{display:none}.photo-frame img{height:440px}.quote-card{width:auto;margin-top:18px;position:static}.nav-wrap{justify-content:space-between}}@media (width<=640px){.hero-section{padding-top:28px}.container{width:min(100% - 20px,1180px)}.nav-cta{display:none}.hero-actions,.button-stack,.two-col{grid-template-columns:1fr;display:grid}.primary-button,.secondary-button{width:100%}.service-head{flex-direction:column}.service-price{white-space:normal}}.service-number{color:#4d5d43;letter-spacing:.06em;margin:0;font-size:.76rem;font-weight:700}.service-head{flex-direction:column}.service-session+.service-session{border-top:1px solid #4d5d432e;margin-top:16px;padding-top:16px}.service-session h4{margin:0 0 8px;font-size:1rem;line-height:1.5}.service-session p{color:#433c36;margin:8px 0 0;line-height:1.75}#booking-form{scroll-margin-top:92px}.hero-copy h1 span:last-child{font-size:.68em;line-height:1.35}.service-head>div{width:100%;min-width:0;container-type:inline-size}.service-head h3{white-space:normal;text-wrap:balance;letter-spacing:-.025em;color:#36572c;font-size:clamp(1.5rem,2.1vw,1.85rem);line-height:1.3}.service-list{align-items:start}.deliverables-block{margin-top:0}.service-session+.service-session{margin-top:10px;padding-top:10px}.page-shell{color:#302c27;background-color:#f5f0e7;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%236e614b' opacity='.045' filter='url(%23grain)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.topbar{background:#f5f0e7f0}.section-kicker,.eyebrow{color:#846044}.section-block h2{color:#35452e}.primary-button{box-shadow:none;background:#46563c}.primary-button:hover{background:#35452e;box-shadow:0 6px 16px #35452e20}.secondary-button{background:#e9dfcf}.hero-section{padding-bottom:64px;overflow:hidden}.hero-first-line{width:fit-content;position:relative}.hero-first-line:after{content:"";opacity:.75;border-top:3px solid #ad634b;border-radius:50%;height:9px;position:absolute;bottom:-5px;left:0;right:2%;transform:rotate(-1.5deg)}.hero-copy h1{line-height:1.13}.hero-visual{padding:0}.photo-frame{border:1px solid #1a171414;border-radius:28px;box-shadow:0 28px 60px #2a261f1f}.needs-section{border-top:1px solid #82775c26}.reason-card{box-shadow:none;background:0 0;border:none;border-top:1px solid #b6ad9d;border-radius:0;padding-left:0}.number-badge{color:#ad634b;background:0 0;justify-content:start;font-size:1.4rem;font-weight:500}.closing-note{color:#46563c}.service-card{box-shadow:none;background:#fffdf7;border-color:#d8d0c0;border-radius:8px;gap:18px}.service-card.featured{background:#e6ebdd;border-color:#a8b29c}.service-card:nth-child(3){background:#efe1d0;border-color:#d8c5ad}.service-card.selected{outline-offset:4px;box-shadow:none;outline:2px solid #6c7a59}.service-code{letter-spacing:.055em}.service-price{color:#925239;font-size:1.4rem}.service-meta{border-block:1px solid #77664d26;padding-block:12px}.service-note{border-top:1px solid #77664d26;padding-top:12px}.compare-section{background:#e9dfce66}.compare-item{background:0 0;border:0;border-left:2px solid #ad634b70;border-radius:0}.about-card{box-shadow:none;background:#e4e8d9;border:0;border-radius:4px}.about-stat strong{color:#46563c}.process-grid{gap:0}.process-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 24px 0 0;position:relative}.process-card:before{content:"";border-top:1px solid #a5ad93;position:absolute;top:23px;left:48px;right:0}.step-number{color:#925239;background:#f5f0e7;border:1px solid #a5ad93;border-radius:50%;place-items:center;width:46px;height:46px;display:inline-grid;position:relative}.faq-item{box-shadow:none;background:0 0;border:0;border-top:1px solid #b6ad9d;border-radius:0;padding-inline:0}.booking-section{background:#394932}.booking-section .section-kicker{color:#dfc7a4}.booking-section h2{color:#faf5e9;margin-bottom:22px}.booking-guideline p{color:#e0e4d8}.package-summary-card{box-shadow:none;background:#ffffff0b;border-color:#ffffff30;border-radius:8px}.package-summary-card .summary-row{border-color:#ffffff26}.package-summary-card .label{color:#d8dfce}.package-summary-card strong{color:#fff9ee}.booking-form-card{box-shadow:none;background:#faf6ee;border-radius:8px}.site-footer{background:#e9e0d1}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #ad634b}@media (width<=960px){.hero-visual{box-sizing:border-box;width:100%;max-width:560px;margin:0 auto}.process-grid{gap:0}.process-card{min-height:120px;padding:0 0 28px 66px}.step-number{position:absolute;top:0;left:0}.process-card:before{border-top:0;border-left:1px solid #a5ad93;inset:46px auto 0 23px}.process-card:last-child:before{display:none}.process-card h3{padding-top:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-button,.secondary-button{transition:none}}.booking-invitation{text-align:center}.booking-invitation p:not(.section-kicker){color:#e0e4d8;max-width:640px;margin:22px auto 28px;line-height:1.8}.service-dialog{color:#302c27;background:#faf6ee;border:1px solid #d8d0c0;border-radius:16px;width:min(780px,100% - 32px);max-height:85vh;padding:0}.service-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1d281bb3}.dialog-content{padding:36px;position:relative}.dialog-content h2{padding-right:25px;font-size:1.8rem;line-height:1.3}.dialog-close{cursor:pointer;color:#46563c;background:0 0;border:0;width:44px;height:44px;font-size:2rem;position:absolute;top:10px;right:14px}.dialog-options{gap:12px;margin-top:24px;display:grid}.dialog-option{text-align:left;cursor:pointer;color:#35452e;background:#edf0e7;border:1px solid #bcc5b0;border-radius:8px;gap:8px;padding:20px;display:grid}.dialog-option:hover{background:#e0e6d7}.dialog-option strong{font-size:1.2rem}.dialog-option b{color:#925239;font-size:1.15rem}.payment-panel{text-align:center}.payment-panel form{text-align:left}.payment-qr{border-radius:8px;width:min(100%,320px);height:auto;margin:16px auto;display:block}.payment-waiting{color:#705331;background:#ece4d4;border-radius:8px;padding:12px}@media (width<=640px){.dialog-content{padding:24px 18px}}.questionnaire{text-align:left}.questionnaire h3{color:#35452e;font-size:1.6rem}.questionnaire>p{color:#554e49;line-height:1.75}.question-block{border:0;border-top:1px solid #d8d0c0;min-width:0;margin:20px 0 0;padding:24px 0 18px}.question-block legend{color:#35452e;padding:0;font-weight:700;line-height:1.65}.question-help{color:#655e53;margin:10px 0;font-size:.9rem;line-height:1.7}.question-options{gap:9px;margin:14px 0 18px;display:grid}.question-option{cursor:pointer;border:1px solid #d8d0c0;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;line-height:1.55;display:flex}.question-option:has(input:checked){background:#e6ebdd;border-color:#849477}.question-option:has(input:disabled){opacity:.55;cursor:default}.question-option input{accent-color:#46563c;flex:0 0 18px;width:18px;height:18px;margin:3px 0 0}.answer-label{color:#554e49;margin:12px 0 8px;font-size:.9rem;display:block}.questionnaire textarea{box-sizing:border-box;width:100%;font:inherit;color:#302c27;resize:vertical;background:#fffdf8;border:1px solid #c5bbaa;border-radius:8px;padding:12px;line-height:1.65}.questionnaire textarea:focus-visible{outline-offset:2px;outline:2px solid #849477}@media (width>=961px){.questionnaire-stage .booking-grid{grid-template-columns:.75fr 1.25fr}.questionnaire-stage .booking-summary{position:sticky;top:100px}}.appointment-scheduler{text-align:left}.appointment-scheduler h3{color:#35452e;margin-top:24px;font-size:1.55rem}.appointment-scheduler>p{color:#554e49;line-height:1.7}.remaining-sessions{background:#ece4d4;border-radius:999px;padding:8px 12px;font-weight:700;display:inline-block;color:#705331!important}.scheduled-sessions{color:#35452e;background:#edf0e7;border:1px solid #c9d0bf;border-radius:8px;gap:8px;margin:20px 0;padding:16px;display:grid}.slot-groups{gap:16px;margin-top:20px;display:grid}.slot-groups fieldset{border:0;border-top:1px solid #d8d0c0;min-width:0;margin:0;padding:16px 0 0}.slot-groups legend{color:#35452e;text-transform:capitalize;padding-right:12px;font-weight:700}.slot-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.slot-button{color:#35452e;font:inherit;cursor:pointer;background:#fffdf8;border:1px solid #9aa88e;border-radius:8px;padding:11px 8px;font-weight:700}.slot-button:hover,.slot-button.selected{color:#fff;background:#46563c;border-color:#46563c}.slot-confirm{background:#edf0e7;border-radius:8px;margin-top:20px;padding:18px}.more-slots{margin-top:18px}.text-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:8px;font-weight:700;text-decoration:underline}@media (width<=640px){.slot-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
