.service-page{padding-block:30px 82px;max-width:1120px}
.service-page .back-link{display:inline-block;font-size:13px;color:#405c49;margin-bottom:38px}
.service-page>.eyebrow{color:var(--deep);margin-bottom:16px}
.service-page h1{max-width:850px;font-size:clamp(42px,5vw,68px);letter-spacing:-2.4px;margin-bottom:20px}
.service-lead{max-width:760px;font-size:18px;color:var(--muted);line-height:1.75;margin-bottom:40px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-block:44px}
.service-card{background:var(--surface);padding:30px;min-height:300px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:4px}
.service-number{font-size:11px;color:#405c49;letter-spacing:1.5px;font-weight:600}
.service-card h2{font-size:31px;line-height:1.2;margin:22px 0 13px}
.service-card p{color:var(--muted);font-size:14px;line-height:1.7}
.service-card .service-meta{margin-top:auto;font-size:12px;color:#405c49}
.service-meta span{padding-inline:6px}
.inline-link{display:inline-flex;align-items:center;gap:10px;color:var(--navy);font-weight:600;font-size:13px}
.inline-link:hover,.back-link:hover{text-decoration:underline;text-underline-offset:4px}
.service-disclaimer{border-inline-start:3px solid var(--sage);background:#f3efe7;padding:18px 20px;max-width:920px;font-size:13px;line-height:1.7;color:var(--muted);margin-block:40px 18px}
.service-disclaimer strong{color:var(--navy)}
.service-note{font-size:13px;color:var(--muted);line-height:1.7;margin-top:18px}
.detail-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.7fr);gap:50px;margin-block:42px}
.detail-layout section h2,.estate-topics h2,.faq-block h2{font-size:29px;margin-block:30px 14px}
.detail-layout section p,.estate-topics p,.faq-block p{font-size:15px;color:var(--muted);line-height:1.8}
.topic-list{padding-inline-start:20px;color:var(--muted);line-height:1.9;font-size:14px}
.detail-aside{align-self:start;background:var(--surface);padding:26px;border:1px solid var(--line);border-radius:4px}
.detail-aside p{font-size:14px;line-height:1.7;margin-bottom:18px}
.detail-aside .eyebrow{font-size:10px;color:#405c49}
.detail-aside .button,.booking-panel>.button,.estate-form .button{margin-top:10px}
.service-page .button[disabled]{opacity:.55;cursor:not-allowed}
.faq-block{border-top:1px solid var(--line);padding-top:20px;margin-top:46px}
.booking-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:35px 0 22px;border-bottom:1px solid var(--line)}
.booking-steps li{padding:0 8px 14px;border-bottom:3px solid transparent;color:var(--muted);font-size:12px}
.booking-steps li.active{color:var(--navy);border-color:var(--gold);font-weight:600}
.booking-steps li.complete{color:var(--deep)}
.booking-panel{background:var(--surface);padding:clamp(20px,4vw,38px);border:1px solid var(--line);border-radius:4px;max-width:900px}
.booking-summary{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:25px}
.booking-contact-preview{margin:0 0 26px}
.booking-calendar-live{display:block}
.booking-calendar-live>.pending-icon{display:none}
.booking-handoff-note{font-size:13px;line-height:1.7;color:var(--navy);background:#f5f2eb;border-inline-start:3px solid var(--gold);padding:14px 16px;margin:16px 0}
.booking-choice-form{margin:0 0 28px;padding:22px;background:#f6f3ed;border:1px solid var(--line);border-radius:4px}
.booking-choice-form fieldset{margin-bottom:14px}
.booking-choice-form>label{display:block;margin-bottom:7px}
.booking-choice-form textarea{grid-column:1/-1;resize:vertical}
.booking-choice-form .button{justify-self:start;margin-top:0}
.booking-choice-form .service-note{grid-column:1/-1;margin:0}
.booking-choice-form .button-small{padding:11px 15px;font-size:12px}
.booking-calendar-live>div{min-width:0;flex:1}
.calendar-embed-wrap{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#fff;margin-top:14px}
.booking-calendar-frame{display:block;width:100%;height:600px;border:0;background:#fff}
.calendar-live-note{font-size:12px!important;margin-top:11px!important}
.calendar-fallback-link{display:inline-flex;margin-top:8px;color:var(--deep);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.booking-summary .eyebrow,.booking-panel>.eyebrow{color:#405c49;margin-bottom:8px}
.booking-summary h2,.booking-panel>h2{font-size:28px;margin:0 0 5px}
.booking-summary p:last-child{font-size:13px;color:var(--muted);margin:0}
.booking-calendar-pending{display:flex;gap:17px;padding:20px;background:#ece7dd;border-inline-start:3px solid var(--sage);margin-bottom:26px}
.pending-icon{font-size:27px;color:#405c49;line-height:1}
.booking-calendar-pending h2{font:600 17px Inter,Arial,sans-serif;letter-spacing:0;margin:0 0 5px}
.booking-calendar-pending p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}
.booking-form-preview,.estate-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.booking-form-preview>label,.estate-form>label{font-size:13px;font-weight:500}
.booking-form-preview input[type=text],.booking-form-preview input[type=email],.booking-form-preview textarea,.estate-form input:not([type=checkbox]):not([type=radio]),.estate-form select,.estate-form textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #14243335;background:#fff;border-radius:3px;font:14px Inter,Arial,sans-serif}
.booking-form-preview input:disabled,.booking-form-preview textarea:disabled{opacity:.72;color:var(--muted)}
.booking-form-preview fieldset,.estate-form fieldset{grid-column:1/-1;border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.booking-form-preview legend,.estate-form legend{font-size:13px;font-weight:600;margin-bottom:12px}
.booking-form-preview fieldset label,.estate-form fieldset label,.booking-terms label,.consent{font-size:13px;color:var(--muted);display:flex;align-items:flex-start;gap:8px;line-height:1.6}
.booking-form-preview fieldset input,.estate-form fieldset input,.booking-terms input,.consent input{accent-color:#405c49;margin-top:3px}
.estate-form fieldset label{justify-content:flex-start;text-align:start}
.estate-form fieldset input[type=checkbox]{flex:0 0 auto;width:auto;margin:3px 0 0;padding:0}
.booking-form-preview .consent{grid-column:1/-1}
.booking-form-preview .consent a,.privacy-note a{color:var(--deep);text-decoration:underline;text-underline-offset:3px}
.booking-terms{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;display:grid;gap:13px}
.estate-topics{margin-block:38px}
.estate-form{margin-top:22px}
.estate-form>label textarea{resize:vertical}
.estate-form .privacy-note,.estate-form .service-note,.estate-form .button{grid-column:1/-1}
.privacy-note{font-size:12px;color:var(--muted);line-height:1.7}
html[lang=ar] .service-page{line-height:1.9}
html[lang=ar] .service-page h1{letter-spacing:0}
html[lang=ar] .service-number{letter-spacing:0}
html[lang=ar] .booking-steps li{text-align:center}
html[lang=ar] .topic-list{padding-inline-start:0;padding-inline-end:22px}
@media(max-width:700px){
 .service-page{padding-block:24px 55px}
 .service-page .back-link{margin-bottom:27px}
 .service-page h1{font-size:42px;letter-spacing:-1.5px}
 .service-lead{font-size:16px;margin-bottom:30px}
 .service-grid{grid-template-columns:1fr;gap:13px;margin-block:32px}
 .service-card{min-height:0;padding:23px}
 .service-card h2{font-size:27px;margin-top:15px}
 .detail-layout{grid-template-columns:1fr;gap:24px;margin-block:28px}
 .booking-steps li{font-size:10px;padding-inline:2px}
 .booking-panel{padding:20px}
 .booking-calendar-frame{height:850px}
 .booking-form-preview,.estate-form{grid-template-columns:1fr}
 .booking-form-preview fieldset,.estate-form fieldset{grid-template-columns:1fr}
 .booking-form-preview .consent,.estate-form .privacy-note,.estate-form .service-note,.estate-form .button{grid-column:auto}
}

/* Session picker: cards are the choices; Next continues with the selected session. */
.session-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.session-grid .service-card{min-height:255px;padding:22px}
.session-grid>.service-card{grid-column:span 2}
.service-card-choice{display:flex;align-items:flex-start;gap:12px;flex:1;cursor:pointer}
.service-card-choice input[type=radio]{width:18px;height:18px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--deep)}
.service-card-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}
.session-grid .service-card-copy{flex:0}
.session-card-topline{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:34px}
.session-card-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9eee6;color:var(--deep);border:1px solid #526d5b35}
.session-card-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.session-card-icon svg .accent{stroke:var(--gold);stroke-width:1.8}
.service-card-title{font:400 25px/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.5px;margin:15px 0 8px}
.service-card-description{font-size:13px;line-height:1.65;color:var(--muted)}
.session-grid .service-meta{margin-top:auto;padding-top:14px;font-size:12px;color:#405c49}
.session-grid .inline-link{border-top:1px solid var(--line);padding-top:14px;margin-top:16px}
.service-card:has(input:checked){border-color:var(--deep);box-shadow:0 0 0 2px #526d5b26}
.service-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
.service-actions p{font-size:16px;line-height:1.5;font-weight:500;color:var(--navy);margin:0}
.service-actions .button{min-width:130px;justify-content:center}
@media(max-width:950px){.session-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.session-grid{grid-template-columns:1fr}.session-grid>.service-card{grid-column:1}.session-grid .service-card{min-height:0;padding:20px}.service-card-title{font-size:23px}.service-actions{align-items:stretch;flex-direction:column}.service-actions .button{width:100%}}
.site-footer .brand img{width:100%;height:auto;margin-inline:auto}
.session-grid .choose-session{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start;margin-top:13px;padding:8px 12px;background:var(--navy);color:var(--paper);border:1px solid var(--navy);border-radius:2px;font:600 12px/1.2 Inter,Arial,sans-serif;text-decoration:none}
.session-grid .choose-session:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.session-grid .choose-session:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.session-grid .choose-session span{color:var(--gold)}
