/* AQLUMA / mobile-first refinement
   Desktop composition remains untouched. Additive, scoped overrides for phones. */
.mobile-contact-dock,.story-touch-controls{display:none}
@media(max-width:800px){
  .site-header{gap:15px}
  .menu-toggle{width:44px;height:44px;flex:none;border:1px solid var(--line)}
  .header-cta{min-height:44px}
  .mobile-nav{z-index:32;max-height:calc(100dvh - 76px);overflow:auto;overscroll-behavior:contain;padding-top:15px;padding-bottom:24px;box-shadow:0 20px 32px #17211f12}
  .mobile-nav a,.mobile-nav button{min-height:52px;padding-block:17px}
}
@media(max-width:600px){
  :root{--gutter:22px;--mobile-dock-height:78px}
  html{scroll-padding-top:22px;scroll-padding-bottom:calc(var(--mobile-dock-height) + env(safe-area-inset-bottom,0px) + 18px)}
  .section-shell{padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}
  .site-header{height:72px;gap:12px;padding-inline:var(--gutter)}
  .site-header .brand{margin-right:auto}
  .site-header .header-cta{margin-left:0;min-height:44px;padding:12px 14px;font-size:12px;gap:21px}
  .menu-toggle{width:44px;height:44px}
  .mobile-nav{top:72px;max-height:calc(100dvh - 72px);padding-inline:var(--gutter)}
  .mobile-nav a{font-size:24px;font-weight:300;letter-spacing:-.025em;padding-block:18px}
  .mobile-nav button{font-size:14px;color:var(--copper);padding-top:23px}
  /* The headline keeps its signature; targets no longer compete side by side. */
  .hero{padding-top:23px}
  .hero-copy{padding-top:0;padding-bottom:23px}
  .hero-copy .eyebrow{font-size:9px;letter-spacing:.06em}
  .hero h1{font-size:clamp(43px,12.7vw,67px);line-height:1.045;margin:20px 0 17px}
  .hero h1 em{font-size:.99em}
  .hero-description{font-size:15px;line-height:1.55;max-width:38ch;color:#4f5a53}
  .hero-actions{width:100%;display:grid;grid-template-columns:1fr;gap:4px;align-items:stretch;margin-top:22px}
  .hero .button{width:100%;min-height:54px;font-size:14px;padding:17px 20px;gap:24px}
  .hero-actions>.underlined-link{justify-self:center;display:flex;justify-content:center;align-items:center;gap:14px;max-width:none;min-height:44px;padding:10px 16px;border-bottom:0;font-size:12px}
  .hero-actions>.underlined-link span{font-size:19px}
  .hero-footnote{margin-top:9px;gap:10px}
  .hero-footnote p{font-size:10px;line-height:1.55}
  .hero-visual{min-height:0;aspect-ratio:4/5;width:100%;max-height:none}
  .visual-topline,.visual-bottomline{left:20px;right:20px;font-size:8px;line-height:1.5}
  .visual-topline{top:20px}
  .visual-bottomline{bottom:19px;gap:15px;align-items:flex-end}
  .visual-bottomline>span:last-child{font-size:7px;max-width:115px;text-align:right;line-height:1.6}
  .visual-coordinate{left:20px;top:59px;font-size:8px;line-height:1.5;max-width:230px}
  .hero-visual-title{font-size:clamp(38px,11.5vw,61px);left:23px;bottom:62px}
  .hero-index{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:16px 0 12px;align-items:center}
  .hero-index>span{grid-column:1/-1;font-size:8px;line-height:1.6;letter-spacing:.05em}
  .hero-index .motion-toggle{justify-content:flex-start;font-size:9px;min-height:44px;padding:8px 0}
  .hero-index>a{min-height:44px;font-size:9px;display:flex;align-items:center;padding:8px 0}
  .conviction-strip{padding-block:22px;font-size:13px;gap:5px 10px}
  .conviction-strip .strip-conclusion{font-size:20px}
  /* Reading sizes: primary arguments are never rendered as desktop footnotes. */
  .section-space{padding-block:58px}
  .section-kicker{margin-bottom:27px;padding-top:16px}
  .eyebrow{font-size:9px;line-height:1.65}
  .micro-label{font-size:10px;line-height:1.6;letter-spacing:.055em}
  h2{font-size:clamp(31px,8.95vw,43px);line-height:1.13;letter-spacing:-.045em;text-wrap:pretty}
  .perspective-heading,.film-heading,.transformation-heading,.deliverables-heading{gap:19px}
  .perspective-heading>p,.film-heading>p,.transformation-heading>p,.deliverables-heading>p{font-size:15px;line-height:1.72;max-width:none}
  .audience-switch{gap:10px;margin-top:29px}
  .audience-switch button{min-height:58px;font-size:12px;line-height:1.4;gap:9px;text-align:left;padding:15px 3px}
  .audience-switch button span{font-size:9px;flex:none}
  .audience-panel{gap:20px;padding-top:28px}
  .audience-panel h3{font-size:27px;line-height:1.18;letter-spacing:-.03em}
  .audience-panel p{font-size:15px;line-height:1.72}
  .audience-arrow{font-size:30px}
  .audience-answer{padding-left:18px}
  .audience-answer .text-button{min-height:44px;font-size:13px;align-items:center;padding-block:10px;margin-top:14px}
  .audience-disclaimer{font-family:var(--sans);font-size:12px;line-height:1.65;margin-top:18px}
  /* An actual portrait canvas, ready for the approved 9:16 film. */
  .film-stage{aspect-ratio:9/16;min-height:0;height:auto;margin-top:28px}.film-stage-background iframe{inset:-2%;width:104%;height:104%}.film-construction-lines{display:none}.film-play-button{width:76px;height:76px}.film-play-button span{border-top-width:10px;border-bottom-width:10px;border-left-width:16px}.film-close-button{right:12px;top:12px}
  .film-stage-top,.film-stage-bottom{left:19px;right:19px;font-size:8px;line-height:1.7}
  .film-stage-top{top:22px}
  .film-stage-top>span:first-child{max-width:145px}
  .film-stage-top>span:last-child{max-width:110px}
  .film-stage-bottom{bottom:23px;align-items:flex-end}
  .film-stage-bottom>span:first-child{max-width:150px;font-size:8px}
  .film-stage-bottom>span:last-child{font-size:8px;max-width:100px}
  .film-stage-center>p{font-size:clamp(43px,12.2vw,65px)}
  .media-pending-label{font-size:9px;letter-spacing:.075em;max-width:230px;line-height:1.7}
  .film-note{margin-top:17px;gap:9px}
  .film-note .micro-label{font-size:8px}
  .film-note>p{font-size:12px;line-height:1.6}
  /* The six scenes become an editorial, thumb-friendly horizontal strip. */
  .story-heading{margin-top:45px}
  .story-heading h3{font-size:31px;line-height:1.13}
  .story-heading>p{font-size:14px;line-height:1.6;margin-top:13px}
  .story-touch-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}
  .story-touch-hint{font-size:11px;color:#bdc7bd;line-height:1.5}
  .story-touch-hint>span{color:#cf9a7e;margin-left:5px;font-size:15px}
  .story-touch-navigation{display:flex;align-items:center;gap:9px}
  .story-touch-navigation button{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:1px solid #f4f2ec38;color:var(--white);font-size:21px;font-weight:300}
  .story-touch-navigation button:disabled{color:#b4bdbb;opacity:.38;cursor:default}
  .story-touch-navigation button:not(:disabled):active{background:#a9624340;border-color:var(--copper)}
  #story-position{font:10px var(--mono);letter-spacing:.05em;color:#d4c7b9;min-width:49px;text-align:center}
  .story-layout{gap:23px;margin-top:15px;min-width:0}
  .story-tabs{position:relative;display:flex;flex-direction:row;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#a9624380 transparent;border-top:1px solid #f4f2ec33;border-bottom:1px solid #f4f2ec33;min-width:0;max-width:100%;padding-bottom:6px;scroll-padding-inline:8px}
  .story-tabs::-webkit-scrollbar{height:3px}
  .story-tabs::-webkit-scrollbar-thumb{background:#a9624380}
  .story-tabs button,.story-tabs button[aria-selected=true]{flex:0 0 148px;display:grid;grid-template-columns:1fr 22px;align-content:center;gap:9px 5px;min-height:88px;padding:15px 14px;font-size:15px;line-height:1.3;font-weight:400;scroll-snap-align:start;border-bottom:0;border-right:1px solid #f4f2ec16}
  .story-tabs button>span{grid-column:1;font-size:9px}
  .story-tabs button>i{grid-column:2;grid-row:1;font-size:21px;line-height:1;justify-self:end}
  .story-tabs button[aria-selected=true]{color:var(--white);background:#a9624317}
  .story-panel{min-width:0}
  .story-visual{height:auto;aspect-ratio:4/3;touch-action:pan-y pinch-zoom}
  .story-visual[data-scene="0"]{--story-image:url('../images/story-01-address-mobile.png')}
  .story-visual[data-scene="1"]{--story-image:url('../images/story-02-reveal-mobile.png')}
  .story-visual[data-scene="2"]{--story-image:url('../images/story-03-spaces-mobile.png')}
  .story-visual[data-scene="3"]{--story-image:url('../images/story-04-life-mobile.png')}
  .story-visual[data-scene="4"]{--story-image:url('../images/story-05-desire-mobile.png')}
  .story-visual[data-scene="5"]{--story-image:url('../images/story-06-decision-mobile.png')}
  .story-visual-caption{font-size:9px;line-height:1.6;left:17px;right:17px;top:17px;max-width:255px}
  .story-placeholder{font-size:8px;left:17px;bottom:18px;max-width:230px;line-height:1.6}
  .story-visual-number{font-size:65px;right:19px;bottom:32px}
  .scene-description{margin-top:22px;gap:15px}
  .scene-description .micro-label{font-size:9px}
  .scene-description h4{font-size:27px;line-height:1.19;letter-spacing:-.03em}
  .scene-description>p{font-size:15px;line-height:1.75}
  /* Comparison reads as a tactile plate, not as tiny desktop coordinates. */
  .comparison{height:auto;aspect-ratio:1/1;touch-action:pan-y pinch-zoom}
  .comparison-caption{font-size:9px;top:20px}
  .comparison-divider>span{width:54px;height:54px;font-size:24px}
  .comparison-footnote{font-size:8px;line-height:1.65;left:12px;right:12px;bottom:12px;max-width:none;padding:7px 9px;text-align:center}
  .terrain-label{font-size:9px}
  .transformation-bottom>p:last-child{font-size:14px;line-height:1.7;max-width:none}
  /* Social format becomes a dedicated, clean viewing block on phones. */
  .format-composition{height:830px;margin-top:22px;padding-top:24px}
  .format-landscape{width:100%;height:225px}
  .format-detail{top:188px;bottom:auto}
  .format-portrait{top:390px;left:50%;right:auto;width:min(66vw,230px);height:auto;aspect-ratio:9/16;border-width:5px;transform:translateX(-50%) rotate(1deg)}
  .format-social-play{width:76px;height:76px}
  .format-social-play span{margin-left:5px;border-top-width:10px;border-bottom-width:10px;border-left-width:16px}
  .format-corner{font-size:8px}
  .format-portrait>span,.format-portrait>b{font-size:8px}
  .format-detail>span{font-size:7px}
  .deliverable-list{gap:26px}
  .deliverable-list article{grid-template-columns:29px 1fr;gap:9px;padding-top:20px}
  .deliverable-list h3{font-size:20px;line-height:1.3}
  .deliverable-list p{font-size:14px;line-height:1.7}
  .scope-note{font-family:var(--sans);font-size:12px;line-height:1.65;margin-top:25px}
  .method-intro h2{font-size:clamp(30px,8.8vw,42px);line-height:1.15}
  .method-intro>p{font-size:15px;line-height:1.7}
  .ground-truth-sign small{font-size:12px;line-height:1.55;display:block}
  .ground-truth-sign p{font-size:10px;line-height:2}
  .method-steps li{gap:17px;padding-block:26px}
  .method-steps li>span{font-size:11px}
  .method-steps h3{font-size:21px;line-height:1.3}
  .method-steps p{font-size:14px;line-height:1.75}
  .method-steps small{font-size:9px;line-height:1.7;letter-spacing:.02em}
  .extension-section h2{font-size:30px;line-height:1.2}
  .extension-section>div>p{font-size:14px;line-height:1.75}
  .extension-services summary{min-height:62px;font-size:15px;padding-block:19px}
  .extension-services details p{font-size:14px;line-height:1.7}
  .extension-services .micro-label{font-size:9px;line-height:1.75}
  .faq-list summary{font-size:16px;line-height:1.45;min-height:70px;padding-block:21px}
  .faq-list details p{font-size:14px;line-height:1.8}
  .faq-list summary>span{width:24px;text-align:center}
  .booking-section{padding-block:58px 42px}
  .booking-section .section-kicker{margin-bottom:28px}
  .booking-heading{gap:18px}
  .booking-heading h2{font-size:clamp(34px,9.8vw,48px);line-height:1.1}
  .booking-heading>p{font-size:15px;line-height:1.7}
  .booking-frame{margin-top:30px;padding:47px 10px 16px;box-shadow:0 18px 38px #17211f12}
  .booking-frame:before{inset:7px}
  .booking-frame-meta{top:20px;left:16px;right:16px;font-size:7px}
  .booking-datum{display:none}
  .cal-inline-shell{height:700px;min-height:600px;border-color:#17211f24}
  .booking-note{margin:13px 6px 0;font-size:8px;line-height:1.65}
  .closing-content{padding-top:58px}
  .closing-content>.eyebrow{font-size:9px}
  .closing-section h2{font-size:clamp(35px,10.2vw,56px);line-height:1.1}
  .closing-bottom{gap:26px;margin-top:29px}
  .closing-bottom>p{font-size:15px;line-height:1.7}
  .closing-bottom .button{min-height:56px;width:100%;font-size:14px;padding:18px 20px}
  .closing-caption{font-size:8px;line-height:1.65}
  .closing-caption>span:last-child{max-width:100px}
  .site-footer{padding-top:45px}
  .footer-main{grid-template-columns:1fr;gap:37px;padding-bottom:43px}
  .footer-identity .brand{margin-bottom:24px}
  .footer-signature{font-size:20px;line-height:1.42}
  .footer-legal{margin-top:22px;font-size:8px;max-width:none}
  .footer-contact>.micro-label{padding:15px 0 17px}
  .footer-contact>a{grid-template-columns:72px minmax(0,1fr) 20px;gap:10px;min-height:67px}
  .footer-contact a>strong{font-size:15px;overflow-wrap:anywhere}
  .footer-contact a>i{font-size:19px;text-align:right}
  .footer-network{grid-template-columns:1fr;gap:28px;padding:35px 0}
  .footer-network>div>p{font-size:24px}
  .social-links{grid-template-columns:repeat(3,1fr)}
  .social-links>a,.social-link{min-height:92px;padding:14px 10px}
  .social-links i{font-size:21px}
  .social-links span span,.social-links a span{font-size:6px}
  .footer-bottom{display:grid;grid-template-columns:1fr auto;font-size:8px;line-height:1.65;align-items:center;gap:7px 13px;padding-block:20px}
  .footer-bottom>span:nth-child(2){display:block;grid-column:1/-1;grid-row:2}
  .privacy-trigger{grid-column:2;grid-row:1 / span 2;font-size:9px;min-height:44px;max-width:145px}
  .whatsapp-button{right:14px;bottom:calc(var(--mobile-dock-height) + env(safe-area-inset-bottom,0px) + 14px);min-height:48px;padding:11px 15px;font-size:11px;gap:9px}
  .whatsapp-button i{font-size:21px}
  /* Contextual thumb dock: not shown over forms, navigation or the final CTA. */
  .mobile-contact-dock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px max(14px,env(safe-area-inset-right,0px)) max(10px,env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));background:var(--white);border-top:1px solid var(--line);box-shadow:0 -7px 26px #17211f0d}
  .mobile-dock-inner{display:grid;grid-template-columns:75px minmax(0,1fr);gap:10px;max-width:560px;margin-inline:auto;align-items:center}
  .mobile-dock-film{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;font-size:12px;line-height:1.3}
  .mobile-dock-film>span{font-size:18px}
  .mobile-contact-dock .button{min-height:54px;width:100%;font-size:13px;padding:16px 17px;gap:14px}
  body.dialog-open .mobile-contact-dock,body.mobile-menu-open .mobile-contact-dock{display:none}
  /* A proper phone sheet, with native scrolling and room for the virtual keyboard. */
  dialog.inquiry-dialog,dialog.privacy-dialog{position:fixed;inset:auto 0 var(--dialog-bottom,0px);margin:0 auto;width:100%;max-width:600px;max-height:calc(var(--usable-height,100dvh) - 12px);border-radius:18px 18px 0 0;border:1px solid #17211f15;border-bottom:0;padding:22px max(22px,env(safe-area-inset-right,0px)) max(28px,env(safe-area-inset-bottom,0px)) max(22px,env(safe-area-inset-left,0px));overscroll-behavior:contain;scroll-padding-block:58px 20px;box-shadow:0 -12px 55px #17211f24}
  dialog.inquiry-dialog:before,dialog.privacy-dialog:before{content:'';display:block;width:32px;height:3px;border-radius:2px;background:#17211f2b;margin:-10px auto 13px}
  dialog .dialog-close{position:sticky;float:right;top:0;right:0;margin:-3px -3px 0 12px;width:44px;height:44px;background:var(--white);border:1px solid var(--line);font-size:28px;z-index:4}
  .inquiry-header>.eyebrow,.privacy-dialog>.eyebrow{font-size:9px}
  .inquiry-header h2,.privacy-dialog h2{font-size:35px;line-height:1.07;margin:12px 0}
  .inquiry-header h2 br{display:none}
  .inquiry-header h2 em:before{content:' '}
  .inquiry-header>p{font-size:13px;line-height:1.6;max-width:none;clear:both;padding-top:4px}
  .form-progress{font-size:10px;gap:23px;margin:22px 0 23px}
  .field,.field-label{font-size:13px;font-weight:500}
  .field{gap:9px;margin-bottom:18px}
  .field input,.field select,.field textarea{font-size:16px;min-height:52px;padding:14px;border-color:#17211f40;border-radius:3px;scroll-margin-block:60px 25px}
  .field textarea{min-height:104px}
  .form-grid{grid-template-columns:1fr;gap:0}
  .profile-options{gap:9px}
  .profile-options label>span{font-size:13px;min-height:54px;padding:14px 8px;line-height:1.4;border-radius:3px}
  .form-step>.button{min-height:55px;font-size:14px;padding:17px 19px}
  .form-controls{gap:15px}
  .form-controls>.button{min-height:54px;font-size:13px;padding:17px 18px;gap:17px}
  .form-controls>.text-button{min-height:44px;font-size:13px;align-items:center;padding-block:8px}
  .consent{font-size:12px;line-height:1.65;gap:12px;margin-bottom:24px;padding-block:6px}
  .consent>input{width:20px;height:20px;margin-top:2px}
  .form-hint{font-size:12px;line-height:1.65}
  .inquiry-ready>p{font-size:14px;line-height:1.7}
  .inquiry-ready>.text-button{min-height:44px;align-items:center;font-size:13px}
  .inquiry-ready>.button{font-size:14px;min-height:54px}
  .inquiry-ready summary{min-height:44px;font-size:13px}
  .inquiry-ready pre{font-size:12px}
  .privacy-dialog p{font-size:14px;line-height:1.75}
  .privacy-dialog .legal-draft{font-size:12px}
  .dialog-close:focus-visible{outline-offset:2px}
}
@media(max-width:360px){
  :root{--gutter:18px}
  .site-header{gap:9px}
  .site-header .brand{width:108px}
  .site-header .brand img{width:164px;left:-27px;top:-9px}
  .site-header .header-cta{padding-inline:12px;gap:13px;font-size:11px}
  .hero h1{font-size:44px}
  .hero-copy .eyebrow{font-size:8px}
  .hero-index>span{font-size:8px}
  .hero-index .motion-toggle{font-size:9px}
  .audience-switch button{font-size:11px}
  .story-touch-hint{max-width:105px;font-size:10px}
  .story-touch-navigation{gap:6px}
  .mobile-dock-inner{grid-template-columns:63px minmax(0,1fr);gap:8px}
  .mobile-contact-dock .button{font-size:12px;padding-inline:13px;gap:10px}
  .form-controls>.button{font-size:12px;padding-inline:14px;gap:12px}
  .closing-section h2{font-size:35px}
}
@media(max-width:600px) and (max-height:550px){
  dialog.inquiry-dialog,dialog.privacy-dialog{border-radius:8px 8px 0 0;padding-top:12px}
  .inquiry-header h2,.privacy-dialog h2{font-size:28px}
  .inquiry-header>p{font-size:12px}
  .form-progress{margin-block:15px}
}
@media print{.mobile-contact-dock,.story-touch-controls{display:none!important}}
