/* Travel Tricks public experience — responsive system */
html{max-width:100%;overflow-x:clip}
body.luxury-public{width:100%;max-width:100%;overflow-x:clip}
.luxury-public img,.luxury-public svg,.luxury-public video{max-width:100%;height:auto}
.luxury-public input,.luxury-public select,.luxury-public textarea,.luxury-public button{min-width:0}
.site-atmosphere{contain:paint}
.search-deck>*,.destination-ledger>*,.editorial-heading>*,.planner-page>*,.form-page>*,.account-auth>*,.studio-explainer>*,.enquiry-paths>*,.search-assurance>*{min-width:0}
.unified-search,.search-console,.search-inputs,.search-fields,.search-kind,.search-tabs{width:100%;max-width:100%;min-width:0}
.ai-panel{visibility:hidden}
.ai-panel.open{visibility:visible}

@media(max-width:900px){
  .lux-nav{width:100%;padding-inline:18px;background:rgba(250,249,245,.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(17,40,37,.08)}
  .lux-logo{width:178px;height:68px}
  .lux-menu{min-width:44px;min-height:44px;padding:5px;border-radius:50%}
  .lux-nav.open{width:100%;padding:22px;background:var(--paper)}
  .lux-nav.open nav{width:100%;font-size:clamp(28px,8vw,42px)}
  .lux-nav.open nav a{width:100%;padding:4px 0}
  .lux-nav.open .lux-nav-actions{width:100%}
  .lux-nav.open .lux-nav-actions a{min-height:46px}
  .world-stage{height:100svh}
  .journey-copy{left:20px;bottom:clamp(92px,14svh,132px);width:calc(100% - 58px);max-width:520px}
  .journey-copy{isolation:isolate}
  .journey-copy:before{content:"";position:absolute;z-index:-1;inset:-18px -12px -18px -16px;border-radius:20px;background:linear-gradient(90deg,rgba(247,245,239,.94),rgba(247,245,239,.82) 68%,rgba(247,245,239,0));backdrop-filter:blur(2px)}
  .journey-copy>span{max-width:88%;margin-bottom:14px;font-size:8px;line-height:1.5;letter-spacing:.16em}
  .journey-copy h1,.journey-copy h2{font-size:clamp(43px,13.5vw,66px);line-height:.92;letter-spacing:-.055em}
  .journey-copy p{max-width:min(88%,390px);margin:17px 0;font-size:13px;line-height:1.55}
  .journey-copy>a{min-height:40px;align-items:center;gap:28px;font-size:12px}
  .journey-index{right:12px;height:160px}
  .search-deck{width:100%;grid-template-columns:minmax(0,1fr);gap:38px;padding:78px 20px}
  .search-intro,.unified-search{width:100%;max-width:100%;min-width:0}
  .unified-search{padding:8px 16px 18px;border-radius:20px}
  .search-kind,.search-tabs{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .search-kind label,.search-tabs label{flex:0 0 auto}
  .search-inputs,.search-fields{grid-template-columns:minmax(0,1fr)!important}
  .search-inputs label,.search-fields label,.search-inputs button,.search-fields button{width:100%;min-width:0}
  .proof-strip{max-width:100%;overflow:hidden}
  .ai-panel{left:12px;right:12px;bottom:82px;width:auto;max-width:none;height:min(68svh,560px)}
  .ai-panel>*{min-width:0}
  .ai-prompts{max-width:100%;overflow-x:auto}
  .footer-statement,.footer-grid,.footer-base{min-width:0}
  .footer-grid a,.footer-grid p,.hk-contact-band a{overflow-wrap:anywhere}
}

@media(max-width:600px){
  .luxury-public{font-size:14px}
  .lux-nav{height:70px;padding-inline:14px}
  .lux-logo{width:160px;height:64px}
  .luxury-public main:not(:has(.world-journey)){padding-top:70px}
  .world-journey{height:470svh}
  .world-light{background:linear-gradient(0deg,rgba(247,245,239,.96),rgba(247,245,239,.16) 72%,rgba(247,245,239,.04))}
  .journey-copy{left:18px;bottom:96px;width:calc(100% - 52px)}
  .journey-copy h1,.journey-copy h2{font-size:clamp(42px,14vw,57px)}
  .journey-copy p{font-size:12px}
  .search-deck,.editorial-section,.destination-ledger,.home-capabilities,.region-atlas,.service-intro,.destination-philosophy,.delivery-model,.global-regions,.recognition-band,.studio-explainer,.enquiry-paths,.search-assurance,.planner-prompts,.response-promise,.search-human{padding:72px 18px!important}
  .search-intro h2,.editorial-heading h2,.ledger-title h2,.service-intro h2,.destination-philosophy h2,.studio-explainer h2,.enquiry-paths h2,.search-assurance h2{font-size:clamp(36px,12vw,52px);letter-spacing:-.045em}
  .unified-search{padding:7px 12px 14px;border-radius:17px}
  .luxury-public .search-kind span,.luxury-public .search-tabs span{padding:11px 13px!important;font-size:11px!important}
  .search-inputs{padding-top:13px}
  .search-inputs label{padding:11px 13px}
  .search-inputs input,.search-fields input,.public-form input,.public-form select,.public-form textarea,.auth-boxes input{font-size:16px!important}
  .search-inputs button,.search-fields button,.public-form .lux-btn,.auth-boxes .lux-btn{min-height:50px;width:100%}
  .editorial-heading{gap:18px}
  .editorial-grid{grid-template-columns:1fr;grid-template-rows:430px 340px 380px;gap:12px}
  .editorial-card{padding:22px}
  .editorial-card h3{font-size:clamp(28px,9vw,39px)}
  .destination-ledger{gap:32px}
  .ledger-list a{grid-template-columns:28px minmax(0,1fr) 24px;gap:12px;padding:26px 2px}
  .ledger-list h3{font-size:28px}
  .final-invitation{min-height:72svh;padding:72px 18px}
  .final-invitation h2,.public-service-cta h2,.search-human h2{font-size:clamp(43px,14vw,62px);letter-spacing:-.055em}
  .final-invitation>div>div{width:100%;gap:18px}
  .final-invitation .dark-button,.public-service-cta .dark-button,.search-human .dark-button{width:100%;min-height:50px}
  .capability-wheel{grid-template-columns:1fr}
  .capability-wheel article{min-height:0;padding:24px 18px}
  .capability-wheel h3{margin-top:32px}
  .region-cloud{gap:8px}
  .region-cloud span{padding:12px 15px;font-size:14px!important}
  .lux-footer{padding:72px 18px 24px}
  .footer-statement{padding-bottom:55px}
  .footer-statement h2{font-size:clamp(48px,16vw,72px);margin:22px 0 34px}
  .footer-grid{grid-template-columns:1fr;gap:38px;padding:42px 0}
  .footer-grid>div:first-child{grid-column:auto}
  .footer-base{flex-direction:column;gap:10px}
  .page-mast,.story-hero,.search-hero{min-height:58svh;padding:100px 18px 60px!important}
  .page-mast h1,.story-hero h1,.search-hero h1{font-size:clamp(44px,14vw,64px)!important;letter-spacing:-.055em!important}
  .page-mast p,.story-hero p,.search-hero>p{font-size:14px!important}
  .dest-grid,.service-grid{padding:0 18px 80px!important}
  .dest-feature{gap:28px!important;padding:52px 0!important}
  .dest-photo{height:360px!important}
  .dest-feature h2{font-size:44px!important}
  .service-card{min-height:320px!important;padding:24px!important}
  .service-card h2{font-size:28px!important}
  .values{grid-template-columns:1fr!important;padding:0 18px 72px!important}
  .values>div{padding:25px 18px!important;border-right:0!important}
  .story-copy,.hk-contact-band{padding:72px 18px!important;gap:30px!important}
  .story-copy h2,.recognition-band h2,.hk-contact-band h2{font-size:clamp(38px,12vw,54px)!important}
  .delivery-model li{grid-template-columns:30px minmax(0,1fr);gap:12px}
  .delivery-model li strong{font-size:20px}
  .global-regions>div:last-child article{grid-template-columns:minmax(0,1fr) 28px;gap:10px;padding:24px 0}
  .planner-page,.form-page,.account-auth{min-height:auto;padding:62px 16px!important;gap:38px!important}
  .planner-copy h1,.form-intro h1,.account-auth>div:first-child h2{font-size:clamp(40px,12vw,54px)!important}
  .public-form,.auth-boxes form{padding:22px!important;border-radius:18px!important}
  .field-row,.auth-boxes{grid-template-columns:1fr!important;gap:10px!important}
  .portal-entry{padding:76px 16px 48px!important}
  .portal-entry-copy h1{font-size:clamp(47px,14vw,64px)!important}
  .identity-grid{grid-template-columns:1fr!important;gap:10px!important;margin-top:38px!important}
  .identity-card{min-height:0!important;padding:20px!important}
  .identity-card i{margin:14px 0}
  .identity-card p{min-height:0}
  .role-auth{scroll-margin-top:70px}
  .search-hero .search-console{margin-top:30px;padding:8px 10px 14px}
  .search-fields{padding-top:12px}
  .search-results{padding:68px 18px!important}
  .results-head{grid-template-columns:1fr!important;gap:14px!important}
  .result-grid{grid-template-columns:1fr!important}
  .result-grid article{padding:22px!important}
  .result-grid article>div{align-items:flex-start;flex-direction:column;gap:14px}
  .thankyou,.plan-head,.account-head{padding:100px 18px 68px!important}
  .thankyou h1,.plan-head h1,.account-head h1{font-size:clamp(43px,13vw,58px)!important}
  .thankyou>div:last-child,.hero-actions{align-items:stretch!important;flex-direction:column!important;width:100%}
  .account-head{align-items:flex-start!important;flex-direction:column!important;gap:24px}
  .account-content{padding:55px 16px!important}
  .workspace-summary{grid-template-columns:1fr 1fr!important}
  .workspace-grid,.account-actions{grid-template-columns:1fr!important}
  .journey-list article{grid-template-columns:42px minmax(0,1fr)!important}
  .journey-status{grid-column:2}
  .public-days{margin:45px auto;padding:0 16px}
  .public-days article{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:25px 0}
  .public-days section p{grid-template-columns:1fr}
  .result-cta{padding:60px 18px}
  .ai-panel{left:8px;right:8px;bottom:72px;height:min(72svh,570px);border-radius:18px}
  .ai-panel>header{padding:15px}
  .ai-prompts{display:flex;flex-wrap:nowrap}
  .ai-prompts button{flex:0 0 auto}
  .ai-pearl,.wa-float{bottom:12px}
  .ai-pearl{right:12px}
  .wa-float{left:12px}
}

@media(max-width:360px){
  .lux-logo{width:145px;height:58px}
  .journey-copy h1,.journey-copy h2{font-size:40px}
  .workspace-summary{grid-template-columns:1fr!important}
  .search-deck,.editorial-section,.destination-ledger,.home-capabilities,.region-atlas{padding-inline:14px!important}
}

@media(hover:none){
  .editorial-card:hover,.service-card:hover,.identity-card:hover,.capability-wheel article:hover,.dest-feature:hover{transform:none!important}
}

@media(prefers-reduced-motion:reduce){
  .luxury-public *{scroll-behavior:auto!important}
}
