/* Hallmark · shape: photographic masthead and massage folio · genre: editorial · theme: custom · job: book · idea: "The original gold Elysium identity becomes a photographic massage folio" · vibe: "midnight gold expressive type real touch"
 * paper: oklch(20% 0.045 260) · accent: oklch(78% 0.09 85) · display: Bodoni Moda · body: Manrope · hero: oversized masthead crossing the photograph · nav: logo and compact section links · footer: address and original logo · imagery: stock photographs · signature: full-width Elysium lettering above hands at work · axes: dark/high-contrast-serif/warm · posture: Committed · contrast: pending · fold: pending · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S3 R4 V4 · weakest: S, stock photographs remain provisional; original logo and actual Madhapur address anchor the page. */
/* User preferences override Hallmark's one-filled-button, photograph-area and visible-pause defaults. Call and WhatsApp have equal prominence; stock photographs explicitly requested. */
@import url('./tokens.css');
@font-face{font-family:'Bodoni Moda';src:url('./assets/bodoni.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Manrope';src:url('./assets/manrope.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Manrope';src:url('./assets/manrope-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--color-paper:#07172b;--color-paper-2:#10263c;--color-paper-3:#19334a;--color-ink:#f1efe8;--color-ink-2:#cbd0d1;--color-muted:#b2bdc5;--color-rule:#536171;--color-accent:#d9bd7d;--color-accent-ink:#152137;--color-focus:#f2cf79;--color-light:#e2e6e3;--color-light-ink:#172d3d;--color-green:#255d49;--color-green-hover:#31735b;--color-gold-hover:#ead39f;--color-agency:#f8ce28;--color-shadow:#030f1b88;--color-overlay:#07172bba;--font-display:'Bodoni Moda',Georgia,serif;--font-body:'Manrope',Arial,sans-serif;--space-zero:0;--space-nav:18px;--space-section:110px;--space-gutter:clamp(20px,4.2vw,64px);--container:1440px}
*{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:var(--space-lg)}body{margin:var(--space-zero);overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font:400 16px/1.6 var(--font-body);font-synthesis:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}button:active,.btn:active{transform:translateY(2px)}.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-gutter)}h1,h2,h3,p{margin:var(--space-zero);min-width:0}h1,h2,h3{font-family:var(--font-display);font-weight:400;overflow-wrap:break-word;text-wrap:balance}p{text-wrap:pretty}h2{font-size:clamp(40px,5vw,70px);line-height:1.12;letter-spacing:-.035em}h3{font-size:clamp(28px,3vw,42px);line-height:1.2}.skip{position:absolute;top:-80px;background:var(--color-accent);color:var(--color-paper);padding:var(--space-md);z-index:999}.skip:focus{top:0}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg)}.logo{width:145px;height:67px;object-fit:contain}.site-header nav{display:flex;gap:var(--space-xl)}.site-header nav button{border:0;background:none;padding:var(--space-xs) var(--space-zero);font-size:14px}.site-header nav button:hover,.header-call:hover{color:var(--color-accent)}.header-call{display:flex;gap:var(--space-sm);align-items:center;font-size:14px}.hero{padding-top:var(--space-md)}.hero-intro{display:flex;justify-content:space-between;color:var(--color-ink-2);font-size:14px}.hero h1{font-size:clamp(100px,16.4vw,238px);line-height:1.02;letter-spacing:-.055em;text-align:center;position:relative;z-index:2;margin-top:var(--space-sm);margin-bottom:-.15em;pointer-events:none}.hero-photo{position:relative;height:clamp(280px,30vw,415px);overflow:hidden;border-radius:5px}.hero-photo>img{height:100%;object-position:50% 52%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--color-overlay),transparent 58%)}.photo-caption{position:absolute;inset:auto var(--space-xl) var(--space-lg);z-index:1;display:flex;justify-content:space-between;align-items:end}.photo-caption span{font:400 clamp(25px,3vw,42px)/1.12 var(--font-display)}.photo-caption button{background:var(--color-paper);border:1px solid var(--color-ink-2);border-radius:4px;display:grid;place-items:center;width:48px;height:56px}.photo-caption button svg{animation:down 2.8s ease-in-out infinite}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);padding-block:var(--space-lg)}.hero-bottom p{font-size:14px;color:var(--color-ink-2)}.contact-pair{display:flex;gap:var(--space-sm)}.btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:52px;padding:var(--space-md) var(--space-lg);min-width:178px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:600;transition:background-color .2s ease,transform .2s ease}.call{background:var(--color-accent);color:var(--color-accent-ink)}.call:hover{background:var(--color-gold-hover)}.whatsapp{background:var(--color-green);color:var(--color-ink);border-color:var(--color-rule)}.whatsapp:hover{background:var(--color-green-hover)}
@keyframes down{0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}
.massages{padding-block:var(--space-section)}.section-opening{display:flex;justify-content:space-between;align-items:end;gap:var(--space-xl);margin-bottom:var(--space-xl)}.section-opening>p{color:var(--color-muted);font-size:15px;max-width:360px;padding-bottom:var(--space-xs)}.filters{display:flex;gap:var(--space-lg);border-bottom:1px solid var(--color-rule);margin-block:var(--space-xl) var(--space-2xl)}.filters button{border:0;border-bottom:2px solid transparent;background:none;padding:var(--space-md) var(--space-zero);font-size:14px;color:var(--color-ink-2);transition:color .2s}.filters button.active{border-bottom-color:var(--color-accent);color:var(--color-accent)}.filters button:hover{color:var(--color-accent)}.filters span{margin-left:var(--space-xs);font-size:12px}.massage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl) var(--space-xl);align-items:start}.massage-card:nth-child(even){transform:translateY(55px)}.massage-card[hidden]{display:none}.service-open{padding:var(--space-zero);text-align:left;background:none;border:0;width:100%}.service-image{overflow:hidden;border-radius:5px}.service-image img{aspect-ratio:4/3;height:auto;max-height:400px}.service-content{padding-top:var(--space-lg)}.service-content p{font-size:15px;color:var(--color-muted);margin-top:var(--space-xs)}.service-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-rule);padding-block:var(--space-lg) var(--space-md);font-size:13px;color:var(--color-accent)}.service-link>span{font-size:25px;line-height:1}.service-open:hover .service-link{border-color:var(--color-accent)}.service-open:hover h3{color:var(--color-accent)}.menu-note{margin-top:var(--space-section);font-size:15px;color:var(--color-muted)}.menu-note a{text-decoration:underline;text-underline-offset:5px;color:var(--color-ink)}.experience{background:var(--color-paper-2);padding-block:var(--space-section)}.visit-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);align-items:center}.visit-copy>p{margin-block:var(--space-lg) var(--space-xl);color:var(--color-muted)}.visit-point{padding-block:var(--space-lg);border-top:1px solid var(--color-rule)}.visit-point h3{font-family:var(--font-body);font-size:18px;font-weight:600}.visit-point p{font-size:15px;color:var(--color-muted);margin-top:var(--space-xs);max-width:45ch}.visit-photo{margin:var(--space-zero);position:relative}.visit-photo img{height:650px;border-radius:45% 45% 4px 4px;object-position:52% 50%}.visit-photo figcaption{font-size:13px;color:var(--color-muted);padding-top:var(--space-md)}.questions{padding-block:var(--space-section);display:grid;grid-template-columns:minmax(0, .85fr) minmax(0,1.15fr);gap:var(--space-2xl)}.questions h2{max-width:8ch}.faq-list details{border-bottom:1px solid var(--color-rule)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);list-style:none;cursor:pointer;padding-block:var(--space-lg);font-size:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:25px;color:var(--color-accent)}details[open] summary span{transform:rotate(45deg)}.faq-list p{color:var(--color-muted);font-size:15px;padding-bottom:var(--space-lg);max-width:60ch}.location{background:var(--color-light);color:var(--color-light-ink);padding-block:var(--space-section)}.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2xl);align-items:center}address{font-style:normal;line-height:1.8;margin-block:var(--space-xl) var(--space-lg);font-size:16px}.location-phone{display:block;font-size:26px;margin-bottom:var(--space-lg)}.location .contact-pair{max-width:390px}.location .call{border-color:var(--color-light-ink)}.map-area iframe{width:100%;height:390px;border:0;border-radius:4px;background:var(--color-ink-2);display:block}.directions{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-md);font-size:14px;text-decoration:underline;text-underline-offset:5px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding-block:var(--space-xl);font-size:13px}.footer-main p{color:var(--color-muted)}.agency{background:var(--color-agency);color:var(--color-paper);display:flex;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-xs) var(--space-lg);font-size:11px}.agency img{width:85px;height:32px;object-fit:contain}.agency span:first-of-type{font-weight:600}.mobile-contact{display:none}.contact-clearance{display:none}.service-dialog{border:1px solid var(--color-rule);border-radius:8px;background:var(--color-paper-2);color:var(--color-ink);width:min(590px,calc(100% - 32px));padding:var(--space-2xl) var(--space-xl) var(--space-xl);max-height:90svh}.service-dialog::backdrop{background:var(--color-overlay);backdrop-filter:blur(8px)}.service-dialog h2{font-size:44px}.service-dialog p{margin-block:var(--space-lg) var(--space-xl);color:var(--color-ink-2)}.dialog-close{position:absolute;right:16px;top:10px;font-size:30px;background:none;border:0;width:44px;height:44px}.js .reveal{opacity:0;translate:0 35px;transition:opacity .9s ease,translate 1s cubic-bezier(.2,.7,.2,1)}.js .reveal.seen{opacity:1;translate:0 0}.hero h1{animation:hero-title 1.4s cubic-bezier(.16,1,.3,1) both}.hero-photo{animation:hero-photo 1.4s cubic-bezier(.16,1,.3,1) both}.tab-hidden *{animation-play-state:paused!important}button:disabled{opacity:.5;cursor:not-allowed}::selection{background:var(--color-accent);color:var(--color-paper)}html{scrollbar-color:var(--color-rule) var(--color-paper)}@keyframes hero-title{from{opacity:.2;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-photo{from{opacity:.3;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.site-header{height:72px}.logo{width:112px;height:54px}.site-header nav{gap:var(--space-md)}.site-header nav button{font-size:12px}.site-header nav button:nth-child(2){display:none}.header-call{display:none}.hero{padding-top:var(--space-sm)}.hero-intro{font-size:11px;gap:var(--space-sm)}.hero-intro p:last-child{max-width:135px;text-align:right}.hero h1{font-size:23vw;margin-top:var(--space-md);margin-bottom:-.13em;letter-spacing:-.06em}.hero-photo{height:clamp(220px,36svh,330px)}.hero-photo>img{object-position:62% 50%}.photo-caption{inset:auto var(--space-md) var(--space-md)}.photo-caption span{font-size:27px}.photo-caption button{width:40px;height:44px}.hero-bottom{align-items:stretch;flex-direction:column;padding-block:var(--space-md);gap:var(--space-md)}.hero-bottom p{font-size:13px}.contact-pair{width:100%}.btn{min-width:0;flex:1;padding:var(--space-sm);min-height:50px}.hero{padding-bottom:var(--space-lg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:700px){.hero-intro span:last-child{max-width:135px;text-align:right}.massages,.experience,.questions,.location{padding-block:var(--space-2xl)}.section-opening{display:block}.section-opening>p{margin-top:var(--space-lg);font-size:14px}.filters{flex-wrap:wrap;gap:var(--space-zero) var(--space-lg);margin-bottom:var(--space-xl);margin-top:var(--space-lg)}.filters button{font-size:12px;padding-block:var(--space-sm)}.massage-grid{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.massage-card:nth-child(even){transform:none}.service-image img{max-height:none;aspect-ratio:4/3}.service-content{padding-top:var(--space-md)}.service-content h3{font-size:31px}.service-content p{font-size:14px}.service-link{padding-block:var(--space-md) var(--space-sm)}.menu-note{margin-top:var(--space-xl);font-size:14px}.visit-layout,.questions,.location-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.visit-photo img{height:400px;border-radius:35% 35% 4px 4px}.visit-point{padding-block:var(--space-md)}.questions h2{max-width:100%}.questions{gap:var(--space-lg)}.faq-list summary{font-size:15px}.map-area iframe{height:300px}.footer-main{flex-wrap:wrap;padding-block:var(--space-lg);gap:var(--space-md)}.footer-main>a:last-child{width:100%;font-size:12px}.agency{flex-wrap:wrap;gap:var(--space-xs) var(--space-md);padding:var(--space-sm) var(--space-md)}.agency span:last-child{width:100%;text-align:center;font-size:10px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;background:var(--color-paper);padding:var(--space-sm) var(--space-md);gap:var(--space-sm);z-index:40;border-top:1px solid var(--color-rule)}.mobile-contact.show{display:flex}.contact-clearance{height:76px;display:block}.service-dialog{padding:var(--space-2xl) var(--space-lg) var(--space-lg)}.service-dialog h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;translate:none}}

.btn{white-space:nowrap;height:52px;padding-block:var(--space-sm)}.filters button{padding-block:var(--space-sm);min-height:48px}.hero:not(.inview) .photo-caption button svg{animation-play-state:paused}.questions{padding-block:var(--space-4xl)}
@media(max-width:700px){.questions{padding-block:var(--space-2xl)}.service-dialog .contact-pair{flex-direction:column}.service-dialog .btn{flex:auto}.hero .btn,.mobile-contact .btn{font-size:13px;gap:var(--space-xs)}}
