/* A reservation desk, with the destination kept in view. */
.contact-page{--ct-white:#fff;--ct-field:#f5f7f5;--ct-error:#a22b36;background:var(--ashal-surface);padding-top:166px;overflow:clip}
.ct-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:start;margin-bottom:44px}
.ct-intro h1{font-size:clamp(36px,3.65vw,54px);font-weight:600;line-height:1.5;letter-spacing:-1.4px;max-width:560px;text-wrap:balance}
.ct-intro>div{padding-top:8px}.ct-intro p{font-size:16px;line-height:2;max-width:560px;color:var(--navy)}
.ct-intro-link{display:inline-block;font-size:14px;font-weight:700;margin-top:13px;color:var(--teal);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.ct-studio{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);gap:28px;align-items:start}
.ct-form-surface{background:var(--ct-white);padding:clamp(24px,3vw,44px);border-radius:10px}
.ct-form-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:23px}.ct-form-heading h2{font-size:25px;font-weight:600;letter-spacing:-.6px}.ct-small{font-size:12px;color:var(--navy)}
.ct-form fieldset{min-width:0;border:0;padding:0;margin:0}.ct-form legend{padding:0;margin-bottom:10px;font-size:14px;font-weight:600}
.ct-choice-row{display:flex;gap:6px;flex-wrap:wrap}.ct-request .ct-choice-row{background:var(--ct-field);border-radius:7px;padding:5px;gap:4px;margin-bottom:24px}
.ct-choice{position:relative;flex:1;min-width:0}.ct-choice>span{display:flex;align-items:center;justify-content:center;padding:11px 8px;border-radius:4px;min-height:46px;font-size:13px;font-weight:600;transition:background .25s,color .25s;cursor:pointer;white-space:nowrap}
.ct-choice input,.ct-city-choice input{position:absolute;opacity:0;width:1px;height:1px}
.ct-choice input:checked+span{background:var(--navy);color:var(--ct-white)}.ct-choice input:focus-visible+span,.ct-city-choice input:focus-visible+span{outline:3px solid var(--teal);outline-offset:3px}
.ct-choice:hover>span{color:var(--teal)}.ct-choice:has(input:checked):hover>span{color:var(--ct-white)}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px}
.ct-field{min-width:0;position:relative}.ct-field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.ct-required{color:var(--teal)}.ct-optional{font-size:12px;font-weight:400;color:var(--muted);margin-inline-start:5px}
.ct-field input,.ct-field textarea{display:block;width:100%;min-width:0;min-height:47px;font:inherit;font-size:16px;color:var(--navy);background:var(--ct-field);border:1px solid transparent;border-bottom-color:var(--line);border-radius:5px 5px 0 0;padding:9px 13px;outline:none;transition:background .25s,border-color .25s,box-shadow .25s}
.ct-field textarea{resize:vertical;min-height:85px;max-height:280px}.ct-field input:hover,.ct-field textarea:hover{background:#eef3f0}.ct-field input:focus,.ct-field textarea:focus{background:var(--ct-white);border-color:var(--teal);outline:2px solid transparent;outline-offset:2px}
.ct-field:focus-within label{color:var(--teal)}.ct-hint{display:block;font-size:12px;line-height:1.8;margin-top:5px;color:var(--navy)}.ct-error{display:block;color:var(--ct-error);font-size:13px;line-height:1.8}.ct-error:empty{display:none}.ct-field [aria-invalid=true]{border-color:var(--ct-error)}
.ct-stay-fields{margin-top:23px}.ct-city-choice{position:relative}.ct-city-choice>span{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--ct-field);min-height:44px;padding:8px 16px;font-size:13px;border-radius:5px;cursor:pointer;transition:background .25s,color .25s}.ct-city-choice>span:before{content:'';width:8px;height:8px;border:1px solid var(--teal);border-radius:50%;flex:none}.ct-city-choice input:checked+span{background:var(--teal);color:var(--ct-white)}.ct-city-choice input:checked+span:before{background:var(--ct-white);border-color:var(--ct-white)}.ct-city-choice:hover>span{background:#e5eeea}.ct-city-choice:has(input:checked):hover>span{background:var(--teal)}
.ct-details{margin-top:17px}.ct-details summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;cursor:pointer;font-size:14px;font-weight:600;color:var(--teal);list-style:none}.ct-details summary::-webkit-details-marker{display:none}.ct-expand{width:16px;height:16px;position:relative;margin-inline:4px}.ct-expand:before,.ct-expand:after{content:'';position:absolute;background:currentColor;left:1px;right:1px;top:7px;height:1.5px;transition:transform .3s}.ct-expand:after{transform:rotate(90deg)}.ct-details[open] .ct-expand:after{transform:rotate(0)}.ct-dates{margin-top:14px}.ct-details>p{margin-top:0}.ct-message{margin-top:20px}.ct-submit{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin-top:23px}.ct-submit .button{font-size:13px;min-height:50px;padding-inline:22px;white-space:nowrap}.ct-handoff{font-size:12px;line-height:1.9;color:var(--navy)}#ct-form-error{margin-top:15px}
.ct-visual{position:sticky;top:119px;min-width:0}.ct-photo{margin:0;position:relative;overflow:hidden;border-radius:10px;isolation:isolate;display:grid;background:var(--navy)}.ct-city-photo{grid-area:1/1;width:100%;height:610px;object-fit:cover;object-position:57% center;transition:opacity 1s var(--ease),transform 1.5s var(--ease);transform:scale(1.015)}.ct-city-madinah{opacity:0}.ct-visual[data-city=madinah] .ct-city-makkah{opacity:0;transform:scale(1.05)}.ct-visual[data-city=madinah] .ct-city-madinah{opacity:1;transform:scale(1)}
/* taste-skill-ignore: neutral photograph scrim for readable white captions. */
.ct-photo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#031d31d9);z-index:1;pointer-events:none}.ct-photo figcaption{position:absolute;inset-inline:32px;bottom:35px;z-index:2;color:var(--ct-white)}.ct-photo h2{font-size:29px;font-weight:500;letter-spacing:-.6px;margin-block:13px 4px}.ct-photo p{font-size:14px}.ct-photo-location{font-size:14px}.ct-location-madinah{display:none}.ct-visual[data-city=madinah] .ct-location-madinah{display:inline}.ct-visual[data-city=madinah] .ct-location-makkah{display:none}
.ct-whatsapp{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:20px 4px;font-size:13px;font-weight:500}.ct-whatsapp>span{font-size:20px;color:var(--teal)}
.ct-direct{padding-block:90px 70px}.ct-direct>h2{font-size:30px;font-weight:500;letter-spacing:-.6px;margin-bottom:32px}.ct-contact-grid{display:grid;grid-template-columns:1fr 1.2fr 1.1fr;gap:6%}.ct-contact-grid h3{font-size:16px;font-weight:700;margin-bottom:14px;letter-spacing:0}.ct-contact-grid a{display:table;font-size:17px;line-height:1.9;max-width:100%;overflow-wrap:anywhere;transition:color .2s}.ct-contact-grid a:hover{color:var(--teal)}.ct-contact-grid p{font-size:14px;line-height:2}.ct-hours{margin-top:12px;max-width:270px}.ct-contact-grid .ct-map{font-size:14px;color:var(--teal);margin-top:12px;text-decoration:underline;text-underline-offset:5px}
.contact-page [hidden]{display:none!important}.ct-form .ct-request{scroll-margin-top:130px}.ct-field input,.ct-field textarea{scroll-margin-top:140px}
html[lang=en] .contact-page{font-family:Poppins,Cairo,sans-serif}html[lang=en] .ct-intro h1{font-size:clamp(36px,3.65vw,54px);line-height:1.2;letter-spacing:-1.8px}html[lang=en] .ct-intro p{line-height:1.8}html[lang=en] .ct-form-heading{align-items:start}html[lang=en] .ct-form-heading h2{font-size:23px;line-height:1.4}html[lang=en] .ct-small{max-width:130px}html[lang=en] .ct-choice>span{font-size:12px}html[lang=en] .ct-submit{grid-template-columns:1fr}html[lang=en] .ct-submit .button{justify-self:start}
@media(min-width:1500px){.ct-city-photo{height:660px}}
@media(max-width:1100px){.contact-page{padding-top:145px}.ct-intro{gap:35px}.ct-studio{grid-template-columns:1.3fr .85fr;gap:20px}.ct-form-surface{padding:26px}.ct-form-heading{display:block}.ct-small{margin-top:5px}.ct-choice>span{font-size:12px;padding-inline:4px}.ct-grid{gap:16px}.ct-submit{grid-template-columns:1fr}.ct-submit .button{justify-self:start}.ct-city-photo{height:580px}.ct-photo figcaption{inset-inline:23px}.ct-photo h2{font-size:25px}.ct-contact-grid{gap:25px;grid-template-columns:1fr 1.2fr}.ct-contact-grid>div:last-child{grid-column:1/-1;max-width:450px}}
@media(max-width:800px){.ct-intro{grid-template-columns:1fr;gap:15px;margin-bottom:30px}.ct-intro h1{font-size:38px}.ct-intro>div{padding:0}.ct-intro p{max-width:620px}.ct-intro-link{margin-top:8px}.ct-studio{grid-template-columns:1fr}.ct-visual{position:static;display:grid;grid-template-columns:1fr}.ct-city-photo{height:340px;object-position:center 56%}.ct-photo h2{font-size:27px}.ct-contact-grid{gap:30px}.ct-direct{padding-top:60px}.ct-form-heading{display:flex}.ct-small{margin:0}.ct-choice>span{font-size:14px}html[lang=en] .ct-small{max-width:none}.ct-submit{grid-template-columns:auto 1fr}}
@media(max-width:540px){.contact-page{padding-top:130px}.ct-intro,.ct-studio,.ct-direct{width:88%}.ct-intro h1{font-size:34px;letter-spacing:-.8px}.ct-intro p{font-size:14px;line-height:2}.ct-intro-link{font-size:13px}.ct-form-surface{padding:23px 18px;border-radius:8px}.ct-form-heading{display:block;margin-bottom:18px}.ct-form-heading h2{font-size:23px}.ct-small{margin-top:4px}.ct-request .ct-choice-row{gap:2px;padding:4px;margin-bottom:21px}.ct-choice>span{font-size:11px;min-height:45px;padding:8px 4px}.ct-grid{grid-template-columns:1fr;gap:17px}.ct-field label{font-size:13px}.ct-field input{min-height:48px}.ct-city-choice{flex:1}.ct-city-choice>span{font-size:11px;padding-inline:9px;gap:6px}.ct-form legend{font-size:13px}.ct-dates{grid-template-columns:1fr 1fr;gap:15px 12px}.ct-hint{font-size:12px}.ct-submit{grid-template-columns:1fr;gap:12px}.ct-submit .button{width:100%;font-size:13px}.ct-handoff{font-size:12px;line-height:1.9}.ct-visual{margin-top:6px}.ct-city-photo{height:auto;aspect-ratio:4/3;object-position:center}.ct-photo figcaption{bottom:24px;inset-inline:23px}.ct-photo h2{font-size:25px;margin-top:7px}.ct-photo p{font-size:13px}.ct-photo-location{font-size:12px}.ct-whatsapp{font-size:12px;padding-top:17px}.ct-whatsapp>span{font-size:18px}.ct-direct{padding-block:45px 40px}.ct-direct>h2{font-size:25px;margin-bottom:23px}.ct-contact-grid{grid-template-columns:1fr;gap:28px}.ct-contact-grid>div:last-child{grid-column:auto}.ct-contact-grid h3{margin-bottom:8px}.ct-contact-grid a{font-size:16px}.ct-contact-grid p{font-size:14px}.ct-hours{max-width:none}html[lang=en] .ct-intro h1{font-size:36px}html[lang=en] .ct-choice>span{font-size:10px;white-space:normal;text-align:center;line-height:1.5}html[lang=en] .ct-form-heading h2{font-size:22px}html[lang=en] .ct-city-choice>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.contact-page *{animation:none!important;transition:none!important}.ct-city-photo{transform:none!important}}

/* Readable supporting copy, including compact phone controls. */
.contact-page .ct-small,.contact-page .ct-hint,.contact-page .ct-optional,.contact-page .ct-handoff,.contact-page .ct-choice>span,.contact-page .ct-city-choice>span,.contact-page .ct-whatsapp,.contact-page .ct-photo-location{font-size:13px}
.ct-photo h2{margin-top:0;margin-bottom:6px}.ct-photo-location{display:block;margin-bottom:5px}
@media(max-width:540px){.ct-choice>span{white-space:normal;text-align:center;line-height:1.65}.ct-city-choice>span{padding-inline:7px}.ct-city-choice>span:before{display:none}html[lang=en] .ct-choice>span,html[lang=en] .ct-city-choice>span{font-size:13px}.ct-request .ct-choice-row{align-items:stretch}.ct-choice>span{height:100%}}

/* The request selection moves as one piece; the photograph breathes gently. */
.ct-request .ct-choice-row{position:relative;isolation:isolate}.ct-request .ct-choice-row:before{content:'';position:absolute;inset-block:5px;inset-inline-start:5px;width:calc((100% - 18px)/3);border-radius:4px;background:var(--navy);transform:translateX(calc((100% + 4px) * var(--ct-choice-index,0) * -1));transition:transform .45s var(--ease);z-index:0}.ct-request .ct-choice{z-index:1}.ct-request .ct-choice input:checked+span{background:transparent}html[dir=ltr] .ct-request .ct-choice-row:before{transform:translateX(calc((100% + 4px) * var(--ct-choice-index,0)))}
.ct-city-photo{animation:ct-destination-drift 18s ease-in-out infinite alternate}.ct-resting .ct-city-photo{animation-play-state:paused}@keyframes ct-destination-drift{from{transform:scale(1.015)}to{transform:scale(1.055)}}
@media(max-width:540px){.ct-request .ct-choice-row:before{inset-block:4px;inset-inline-start:4px;width:calc((100% - 12px)/3)}.ct-request .ct-choice-row:before{transform:translateX(calc((100% + 2px) * var(--ct-choice-index,0) * -1))}html[dir=ltr] .ct-request .ct-choice-row:before{transform:translateX(calc((100% + 2px) * var(--ct-choice-index,0)))}}
@media(prefers-reduced-motion:reduce){.ct-city-photo{animation:none!important}}
