/* Phone composition. System typography, safe areas and shared colour tokens. */
:root{--phone-ink:#2c2428;--phone-muted:#655a60;--phone-wine:#50313c;--phone-wine-dark:#312229;--phone-paper:#f6f2ee;--phone-card:#fffcf9;--phone-line:#e2d8d1;--phone-gold:#e5c58c;--phone-radius:22px}
html{scroll-padding-top:88px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body:not(.admin-body){font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;background:#151314}
body:not(.admin-body) :is(button,input,select,textarea){font-family:inherit}
body:not(.admin-body) :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #aa8147;outline-offset:4px}
body:not(.admin-body) .header{position:sticky;top:0;z-index:30;height:calc(68px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));gap:12px;background:#191618f5;border-bottom:1px solid #e5c58c26}
.header .wordmark{font-size:23px;letter-spacing:1.4px;line-height:1;white-space:nowrap;color:#f1dfbc}
.header .wordmark span,.header-end>.languages{display:none}
.header .header-end{gap:6px}
.header .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #e5c58c26;border-radius:14px;background:#ffffff08}
.menu-toggle span{width:19px;height:1.5px;margin:0;background:#f0dfc4;transition:transform .18s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.mobile-language{display:block;position:relative;color:#f0dfc4}
.mobile-language>summary{display:flex;align-items:center;justify-content:center;gap:5px;min-width:52px;min-height:44px;font-size:14px;font-weight:600;list-style:none;border-radius:14px;cursor:pointer}
.mobile-language>summary::-webkit-details-marker{display:none}
.mobile-language>summary svg{width:14px;height:14px}
.mobile-language[open]>summary{background:#50313c}
.mobile-language-list{position:absolute;top:calc(100% + 10px);right:0;min-width:92px;padding:6px;background:#2d2328;border:1px solid #e5c58c42;border-radius:18px;box-shadow:0 12px 30px #0003}
.mobile-language-list>span{display:none}
.mobile-language-list>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;font-size:15px;border-radius:12px}
.mobile-language-list>a[aria-current=page]{background:#e5c58c;color:#2c2428}
#mobile-nav{inset:calc(78px + env(safe-area-inset-top,0px)) 12px auto;width:auto;z-index:29;max-height:calc(100dvh - 180px - env(safe-area-inset-top,0px));padding:10px 18px;background:#2d2328;border:1px solid #e5c58c42;border-radius:24px;box-shadow:0 18px 50px #0004;overflow:auto;overscroll-behavior:contain}
#mobile-nav a{display:flex;align-items:center;min-height:52px;padding:13px 8px;font:500 17px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#faf3e8;border-bottom:1px solid #ffffff10}
#mobile-nav a:last-child{border:0}
.portrait-hero:has(.agency-intro){height:auto;min-height:0;max-height:none;padding-top:12px;background:#151314}
.hero:has(.agency-intro)::before{display:none}
.portrait-hero:has(.agency-intro) .hero-image{position:relative;inset:auto;width:calc(100% - 24px);height:clamp(290px,78vw,380px);margin:0 12px;object-position:center 29%;border-radius:24px;animation:none;transform:none}
.portrait-hero:has(.agency-intro) .hero-shade{top:12px;left:12px;right:12px;width:auto;height:clamp(290px,78vw,380px);border-radius:24px;background:linear-gradient(0deg,#151314b8,transparent 40%)}
.portrait-hero .agency-intro{max-width:100%;padding:24px 20px 34px}
.hero .agency-intro h1{font-size:clamp(45px,12vw,60px);line-height:1.08;letter-spacing:-1.4px;margin:0 0 18px}
.hero .agency-intro .eyebrow{font:600 12px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:1.25px;color:#e5c58c;margin-bottom:12px}
.agency-subtitle{font:400 17px/1.5 -apple-system,BlinkMacSystemFont,sans-serif;margin-top:9px;color:#e1d4c0;letter-spacing:0}
.hero .hero-sensual{font-size:19px;line-height:1.5;color:#e8dbce;margin:0 0 22px;max-width:34ch}
.agency-actions{grid-template-columns:1fr 1fr;gap:10px;max-width:none}
.agency-actions a,.agency-actions .hero-contact{min-height:50px;padding:12px 15px;border:1px solid #e5c58c38;border-radius:15px;background:#2c2227;color:#f3e8d6;font:500 16px/1.35 -apple-system,BlinkMacSystemFont,sans-serif}
.agency-actions .hero-message{min-height:54px;grid-column:1/-1;background:linear-gradient(120deg,#e5c58c,#f0d8ac);color:#2c2428;border-color:#e5c58c;font-size:17px;box-shadow:none}
.hero .agency-intro .hero-message::after{display:none}
.hero .hero-reassurance{font:14px/1.6 -apple-system,BlinkMacSystemFont,sans-serif;color:#cdbebc;margin:14px 0 0}
.section-pad{padding:46px 20px}
.light-surface,.reading-page main{background:var(--phone-paper);color:var(--phone-ink);border-color:var(--phone-line)}
.section-heading{display:block;margin-bottom:28px}
.section-heading:after{bottom:-10px;width:40px;background:#a37e48}
.section-heading h2,h2,.about-copy h2,.travel h2,.enquiry-section h2{font-size:34px;line-height:1.18;letter-spacing:-.65px}
.section-heading h2{margin-bottom:14px}
.section-intro,.service summary>p,.service-detail p,.about-copy>p:not(.eyebrow),.about-story p,.travel>p:not(.eyebrow){font-size:17px;line-height:1.65}
.eyebrow{font-size:12px;line-height:1.5;letter-spacing:1.2px;margin-bottom:14px}
main#main>#gallery.gallery-section{padding:36px 20px 40px;background:linear-gradient(155deg,#412d36,#302229);border-color:#9c79804a}
#gallery .section-intro{font-size:16px}
.gallery-grid.balanced-gallery{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.balanced-gallery .portrait{aspect-ratio:3/4;border-radius:18px;overflow:hidden;transform:none;box-shadow:none}
.balanced-gallery .portrait img{transform:none;transition:none}
.balanced-gallery .photo-number{left:10px;bottom:10px;border-radius:8px;font-size:12px;padding:3px 7px}
.balanced-gallery .photo-expand{right:8px;bottom:8px;width:34px;min-width:34px;height:34px;min-height:34px;border-radius:50%;font-size:21px}
.experience-section .service-navigation{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:0 0 12px;margin:0 0 22px;border:0;scrollbar-width:none;scroll-padding:4px}
.experience-section .service-navigation::-webkit-scrollbar{display:none}
.experience-section .service-navigation a{flex:0 0 auto;white-space:nowrap;min-height:46px;padding:11px 16px;font-size:15px;line-height:1.5;background:#efe8e3;color:var(--phone-wine);border:1px solid #d5c5c3;border-radius:24px}
.service-grid{grid-template-columns:1fr;gap:14px}
.experience-section .service{padding:12px;border:1px solid var(--phone-line);border-radius:var(--phone-radius);background:var(--phone-card);box-shadow:0 3px 12px #50313c05;overflow:hidden}
.service summary{grid-template-columns:98px minmax(0,1fr);gap:6px 14px;align-items:start}
.service-image{grid-row:1/4;width:98px;height:132px;aspect-ratio:auto;border-radius:14px;margin:0}
.service-title{align-items:start;gap:6px}
.service-title h3{font:600 20px/1.3 -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.3px}
.service-plus{display:grid;place-items:center;width:28px;min-width:28px;height:28px;font-size:24px;line-height:1;color:var(--phone-wine)}
.service[open] .service-plus{transform:rotate(45deg)}
.service summary>p{font-size:15px;line-height:1.5;margin:0}
.service-link{font-size:14px;line-height:1.5;min-height:24px;color:#75531e;padding:0;margin:0}
.service-detail{padding:18px 4px 4px;margin-top:14px;border-top:1px solid var(--phone-line)}
.service:target{scroll-margin-top:90px;border-color:#9c7681}
.gold-cue,.travel .destination-arrow{width:28px;height:28px;min-width:28px;flex-basis:28px;box-shadow:none;border:1px solid #cba86b;background:#f0d9af;color:#463321}
.agency-actions .gold-cue{background:#ffffff10;color:inherit;border-color:#e5c58c50;box-shadow:none;width:25px;height:25px;min-width:25px;flex-basis:25px}
.agency-actions .hero-message .gold-cue{border-color:#75531e55;background:#fff9ed55}
.about-visual{max-height:380px;border-radius:var(--phone-radius)}
.about-visual img{height:380px;object-position:center 24%}
.about-caption{font-size:13px;line-height:1.5;letter-spacing:.5px}
.qualities{font-size:14px;line-height:1.5;gap:10px 16px}
.about-story>summary{min-height:52px;border-radius:12px;padding:8px 0;font-size:17px}
.story-invitation{padding-top:24px;margin-top:24px}
.story-invitation h3{font-size:28px;line-height:1.2}
:is(.conversation-card,.enquiry-form,.review-card,.feedback-form,.article-invitation){border-radius:var(--phone-radius);background:var(--phone-card);border-color:var(--phone-line);box-shadow:none}
.conversation-card{padding:20px}
.conversation-choices{gap:8px}
.conversation-choices button{font-size:14px;min-height:46px;border-radius:14px;flex:1 1 130px}
.message-preview{padding:16px;border-radius:14px}
.message-preview p{font-size:17px;line-height:1.6}
.cta,.enquiry-submit,.article-whatsapp{min-height:54px;padding:15px 18px;border-radius:16px;font-size:17px;line-height:1.4;background:linear-gradient(120deg,#e5c58c,#f0d8ac);color:var(--phone-ink);border-color:#cba86b;box-shadow:none;white-space:normal}
.conversation-send{width:100%;justify-content:space-between}
.telegram-option{font-size:15px;line-height:1.5;border-radius:14px;padding:12px 16px;min-height:48px}
.travel{text-align:left}
.travel .destinations{margin:26px 0 0;gap:0;grid-template-columns:1fr;background:var(--phone-card);border:1px solid var(--phone-line);border-radius:var(--phone-radius);padding:4px 16px}
.travel .destinations a,.travel .destinations>span{font:500 18px/1.4 -apple-system,BlinkMacSystemFont,sans-serif;color:var(--phone-wine);padding:15px 0;min-height:60px;border-color:var(--phone-line)}
.travel .destinations>:last-child{border-bottom:0}
.escape-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.escape-card{min-height:142px;border-radius:18px;border-color:#e5c58c40;box-shadow:none}
.escape-name{font-size:22px}
.escape-heading h3{font-size:28px;line-height:1.25}
.journal-grid{gap:14px}
.journal-card>a{padding:22px;background:var(--phone-card);border:1px solid var(--phone-line);border-radius:var(--phone-radius)}
.journal-card h3{font:600 23px/1.35 -apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:-.45px}
.journal-card p:not(.eyebrow){font-size:16px;line-height:1.65;margin-bottom:18px}
.journal-card .eyebrow{font-size:12px;line-height:1.5}
.journal-link{font-size:15px}
.journal-all{margin-top:24px}
.reviews-preview{background:var(--phone-wine-dark);color:#f8efe6}
.reviews-preview p{color:#e1d2ca}
.reviews-preview h2{color:#f8efe6}
.reviews-preview .text-cta{color:#e5c58c}
.review-card,.article-invitation{color:var(--phone-ink)}
.review-card :is(h3,p),.reviews-preview .review-card :is(h3,p),.article-invitation :is(h2,p),.article-invitation .article-privacy{color:var(--phone-ink)}
.review-card .review-summary-label{color:var(--phone-muted)}
.faq-section{gap:24px}
.faq details{border:1px solid var(--phone-line);border-radius:18px;background:var(--phone-card);padding:0 16px;margin-bottom:10px}
.faq summary{font-size:17px;line-height:1.5;padding:18px 0;min-height:56px}
.faq details p{font-size:17px;line-height:1.65}
.enquiry-section{gap:26px}
.enquiry-form{padding:22px 18px}
.field{margin-bottom:20px}
.field label{font-size:15px;line-height:1.5;margin-bottom:8px}
.field :is(input,select,textarea){font-family:inherit;font-size:17px;line-height:1.5;min-height:52px;border-radius:14px;padding:13px 14px;background:#fffdfb}
.field textarea{min-height:138px}
.field label small{font-size:13px;line-height:1.5}
.enquiry-consent{font-size:14px;line-height:1.65}
.enquiry-consent input{width:22px;height:22px;accent-color:var(--phone-wine)}
.direct-contact .direct-actions .direct-whatsapp{font-size:17px;padding:16px 18px;border-radius:16px}
.direct-actions{width:100%}
.direct-actions .telegram-option{width:100%;justify-content:center}
.reading-page .header{position:sticky;background:#191618f5}
.reading-intro,.city-page .reading-intro{padding:28px 20px 32px}
.reading-intro h1,.city-page .reading-intro h1{font-size:35px;line-height:1.2;letter-spacing:-.65px;margin:16px 0 22px}
.article-lead{font-size:19px;line-height:1.7}
.article-meta,.reading-back{font-size:14px;line-height:1.6}
.reading-back{margin-bottom:22px;min-height:44px;padding-block:8px}
.article-body{padding:0 20px 32px}
.article-body h2{font-size:28px;line-height:1.25;letter-spacing:-.4px}
.article-body p{font-size:18px;line-height:1.8}
.article-body section{margin-bottom:34px}
.breadcrumbs{padding:20px 20px 0}
.breadcrumbs ol{flex-wrap:wrap;gap:6px 10px;font-size:13px;line-height:1.6}
.article-invitation{padding:20px;gap:18px}
.article-invitation>img{border-radius:16px}
.article-invitation h2{font-size:28px}
.related-reading{margin:0 20px 40px}
.related-reading>a{font-size:21px;line-height:1.45}
.review-grid{grid-template-columns:1fr;gap:14px}
.review-card{padding:22px}
body:not(.admin-body) footer{padding:36px 20px calc(96px + env(safe-area-inset-bottom,0px));font-size:14px;background:#191618}
/* Compact contacts leave the reading surface open. */
.contact-floats{display:flex;align-items:flex-end;gap:10px;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:25}
.contact-floats .whatsapp-float{animation:phone-contact-bounce 7s ease-in-out infinite;max-width:none;transform-origin:center bottom}
.contact-floats .whatsapp-orb{width:58px;height:58px;box-shadow:0 5px 18px #0003,0 0 0 4px #25d36614}
.contact-floats .whatsapp-orb svg{width:31px;height:31px}
.contact-floats .whatsapp-label{display:none}
.contact-floats .telegram-float{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;margin-bottom:7px;box-shadow:0 3px 12px #0002}
.contact-floats .telegram-float svg{width:22px;height:22px;flex-basis:22px}
.contact-floats .whatsapp-float:hover,.contact-floats .whatsapp-float:focus-visible{animation-play-state:paused}
body:has(dialog[open]) .contact-floats,body:has(.field :is(input,textarea,select):focus) .contact-floats{visibility:hidden}
@keyframes phone-contact-bounce{0%,82%,100%{transform:translateY(0)}86%{transform:translateY(-6px)}90%{transform:translateY(0)}93%{transform:translateY(-3px)}96%{transform:translateY(0)}}
#lightbox{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:22px;padding:52px 14px 46px}
#lightbox figure{margin:0}
#lightbox-image{max-height:calc(100dvh - 170px);object-fit:contain;border-radius:12px}
#lightbox .close{min-width:44px;min-height:44px}
@supports(backdrop-filter:blur(16px)){body:not(.admin-body) .header{background:#191618e8;backdrop-filter:blur(16px)}}
@media(max-width:360px){.header .wordmark{font-size:21px;letter-spacing:1px}.hero .agency-intro h1{font-size:44px}.service summary{grid-template-columns:80px minmax(0,1fr);gap:6px 10px}.service-image{width:80px;height:120px}.service-title h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}.hero .agency-intro>*{animation:none!important;transform:none!important;opacity:1!important}}
