/* Shared responsive rules, loaded after the presentation styles. */
html{scroll-padding-top:24px;scroll-padding-bottom:150px}
body{min-width:0}
.world-journey main,.world-journey section,.world-journey .hero-intro,.world-journey .experience,.world-journey .project-insight>div{min-width:0}
.world-journey .hero-top:before{inset:0}
.world-journey h1,.world-journey h2,.world-journey h3,.world-journey p{overflow-wrap:break-word}
.world-journey .hero-top{display:block!important}
.world-journey .hero-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:center;margin:0 0 28px}
.world-journey .world-choice{grid-column:1/-1;margin:0}
.world-journey .hero-top h1{font-size:clamp(40px,6vw,76px);margin:0}
.world-journey .hero-aside{margin:0;max-width:600px}
.world-journey .world-selector button{min-height:64px;padding:16px 20px}
.world-journey .world-selector strong{font-size:clamp(16px,2vw,24px);margin:0}
.world-journey .world-selector small{display:block;margin-top:8px;font-size:14px}
.world-journey .experience:not(.expanded) .showroom{height:auto!important;min-height:0!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);overflow:visible}
.world-journey .preview-copy{padding:clamp(20px,4vw,48px)}
.world-journey .preview-copy h2{font-size:clamp(28px,3vw,48px);margin:18px 0}
.world-journey .image-stage{height:auto!important;min-height:0;padding:24px;transform:none!important}
.world-journey .image-stage img.project-image,.world-journey .image-stage video.project-film{width:100%;height:auto;max-height:540px;object-fit:contain}
.world-journey .showroom:has(#frame-container:not([hidden])){display:block}
.world-journey .showroom:has(#frame-container:not([hidden]))>.preview-copy,.world-journey .showroom:has(#frame-container:not([hidden]))>.image-stage{display:none}
.world-journey #frame-container{position:relative;inset:auto;width:100%;height:clamp(460px,75svh,860px);min-height:0}
.world-journey #frame-container iframe{width:100%;height:100%}
.world-journey .stage-top,.world-journey .stage-bottom{padding:10px 14px;min-width:0}
.world-journey .category-tabs{flex-wrap:wrap;justify-content:flex-start;overflow:visible;gap:4px}
.world-journey .category-tabs button{white-space:normal;text-align:left;min-height:44px;line-height:1.3;padding:10px 14px}
.world-journey .viewer-actions{flex-wrap:wrap;gap:8px 16px}
.world-journey .viewer-actions button,.world-journey .viewer-actions a{min-height:44px;display:inline-flex;align-items:center;font-size:14px!important}
.world-journey .experience.expanded{inset:0;width:100%;height:100dvh;border-radius:0;max-width:none;margin:0;display:flex;flex-direction:column}
.world-journey .experience.expanded .showroom{flex:1;min-height:0!important;height:auto!important;overflow:auto}
.world-journey .experience.expanded #frame-container{position:absolute;inset:0;height:100%;min-height:0}
.world-journey .experience.expanded .stage-top,.world-journey .experience.expanded .stage-bottom{flex-shrink:0}
.world-journey .experience.expanded .stage-bottom{padding-bottom:max(8px,env(safe-area-inset-bottom))}
.world-journey .project-preview img{object-fit:contain!important;object-position:center!important}
.world-journey .project-preview{background:#f4f5f2}
.world-journey .project-card-body strong{overflow-wrap:anywhere}
.world-journey .contact-bottom{flex-wrap:wrap;gap:20px}
.world-journey .contact-bottom p{flex:1 1 260px}
.world-journey .contact-bottom .pill{min-width:0;max-width:100%;gap:18px}
.world-journey .email{overflow-wrap:anywhere;max-width:100%}
.world-journey footer{flex-wrap:wrap;padding-bottom:160px}
.world-journey .world-dock{left:20px;transform:none;bottom:max(16px,env(safe-area-inset-bottom));max-width:calc(100% - 40px)}
.world-journey .contact-chat-dock{right:20px;bottom:max(16px,env(safe-area-inset-bottom));flex-direction:row}
.world-journey .world-dock button,.world-journey .contact-chat-dock button,.world-journey .contact-chat-dock a{min-height:44px}
body:has(.experience.expanded) .world-dock,body:has(.experience.expanded) .contact-chat-dock{display:none!important}
.project-overlay{inset:0;width:100%;height:100dvh;max-width:100%;border:0;border-radius:0}
.project-overlay header{padding: max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));gap:8px;min-height:56px}
.project-overlay h2{min-width:0;font-size:clamp(14px,2vw,20px);overflow-wrap:anywhere}
.project-overlay header div{flex-shrink:0;gap:6px}
.project-overlay button{min-height:44px}
.project-overlay footer{padding:8px max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;flex-wrap:wrap;gap:8px;min-height:44px}
.project-overlay footer a{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.overlay-body{position:relative;min-width:0;min-height:0;overscroll-behavior:contain}
.configurator-viewport{position:relative;width:100%;height:100%;min-height:0;overflow:auto;background:#f4f6f5}
.configurator-viewport .configurator-canvas{position:absolute;border:0;transform-origin:top left;max-width:none}
.overlay-body video{object-fit:contain}
.overlay-overview{padding:24px;min-width:0}
.world-journey .yacht-coming-soon{min-height:300px}
@media(max-width:1000px){
.world-journey .hero-intro{gap:20px}
.world-journey .expertise,.world-journey .studio{gap:32px}
.world-journey .world-dock{left:50%;transform:translateX(-50%);bottom:max(12px,env(safe-area-inset-bottom))}
.world-journey .contact-chat-dock{bottom:calc(80px + env(safe-area-inset-bottom));right:12px}
.world-journey .contact-chat-dock button,.world-journey .contact-chat-dock a{padding:10px 14px}
}
@media(max-width:700px){
.world-journey .hero-intro{grid-template-columns:1fr}
.world-journey .hero,.world-journey .world-followup,.world-journey .expertise,.world-journey .studio{padding-left:5%;padding-right:5%}
.world-journey .hero-top{padding-top:20px}
.world-journey .world-selector{gap:6px}
.world-journey .world-selector button{padding:12px 8px}
.world-journey .world-selector strong{font-size:16px;letter-spacing:-.3px}
.world-journey .world-selector small{display:none}
.world-journey .experience:not(.expanded) .showroom{grid-template-columns:1fr}
.world-journey .image-stage{padding:16px 20px}
.world-journey .preview-copy{padding:24px}
.world-journey .preview-copy .pill{font-size:14px}
.world-journey .project-insight,.world-journey .expertise,.world-journey .studio{display:grid;grid-template-columns:1fr}
.world-journey .world-projects{grid-template-columns:1fr;gap:18px}
.world-journey .world-followup>p{font-size:16px}
.world-journey .project-card-body{padding:18px 60px 20px 18px}
.world-journey .hero-footer{display:block}
.world-journey .hero-footer span{display:block}
.world-journey .world-dock{gap:2px;padding:5px;max-width:calc(100% - 16px)}
.world-journey .world-dock button{padding:10px 14px;font-size:13px}
.world-journey .contact-chat-dock{position:static;justify-content:center;flex-wrap:wrap;padding:0 12px calc(90px + env(safe-area-inset-bottom))}
.world-journey footer{padding-bottom:24px}
.world-journey header{gap:12px;padding-left:5%;padding-right:5%}
.world-journey header>nav{display:none}
.world-journey .contact-link span{margin-left:10px}
.project-overlay #overlay-fullscreen{display:none}
.project-overlay footer>span{display:none}
.project-overlay footer{justify-content:space-between}
.project-overlay footer button{padding:8px 12px;font-size:13px}
}
@media(max-height:500px) and (orientation:landscape){
.world-journey .world-dock{position:static;transform:none;width:max-content;margin:12px auto}
.world-journey .contact-chat-dock{position:static;justify-content:center;padding:12px 12px 24px}
.world-journey footer{padding-bottom:24px}
.project-overlay header{min-height:44px;padding-top:4px;padding-bottom:4px}
.project-overlay footer{min-height:40px;padding-top:4px!important;padding-bottom:4px!important}
.project-overlay button{min-height:36px;padding:6px 12px}
.world-journey .experience.expanded .category-tabs button{min-height:36px;padding:6px 10px}
}
@media(max-width:380px){.world-journey .world-selector strong{font-size:14px}.world-journey .world-selector strong span{font-size:13px}.world-journey .world-dock button{padding:10px 12px}.world-journey .category-tabs button{font-size:13px!important;padding:8px 10px}}
@media(hover:none){.world-project:hover{transform:none}.pill:hover{transform:none}}
@media(max-width:700px){
 .world-journey .hero-intro{gap:14px;margin-bottom:18px}
 .world-journey .hero-top{padding-top:12px}
 .world-journey .world-choice{margin:0}
 .world-journey .world-selector{margin-top:12px}
 .world-journey .world-selector button{min-height:52px}
 .world-journey .stage-top{padding:8px}
 .world-journey .category-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .world-journey .category-tabs button{font-size:13px!important;min-height:40px;padding:8px 10px;text-align:center}
 .world-journey .phone-product-preview .preview-copy{padding:20px}
 .world-journey .phone-product-preview .preview-copy>.micro{display:none}
 .world-journey .phone-product-preview .preview-copy h2{font-size:28px;line-height:1.12;margin:0 0 16px}
 .world-journey .phone-product-preview .image-stage{padding:0;width:100%;margin:0 0 16px}
 .world-journey .phone-product-preview .image-stage img.project-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
 .world-journey .phone-product-preview .preview-copy .pill{margin:0 0 14px;min-height:44px;width:100%;justify-content:space-between}
 .world-journey .phone-product-preview #demo-copy{font-size:14px;line-height:1.55}
}

/* Visible, consistent project selection buttons. */
.world-journey .category-tabs{gap:8px}
.world-journey .category-tabs button{border:1px solid #aebfb8;background:#f0f5f2;color:#24483d;font-weight:600;border-radius:10px;padding:10px 18px;min-height:44px;transition:background .15s,border-color .15s}
.world-journey .category-tabs button[aria-selected=true]{background:#123c35;color:#fff;border:2px solid #123c35;box-shadow:inset 0 -3px 0 #6bc9b8}
.world-journey .category-tabs button:hover{background:#dcefe7;border-color:#527a6a;color:#123c35}
.world-journey .category-tabs button[aria-selected=true]:hover{background:#123c35;color:#fff}
.world-journey .category-tabs button:focus-visible{outline:3px solid #078d7f;outline-offset:2px}
@media(max-width:700px){.world-journey .category-tabs{gap:6px}.world-journey .category-tabs button{font-size:14px!important;min-height:44px;padding:8px 10px}}

/* Distinguish the project choices from the three main worlds. */
.world-journey .stage-top{display:flex;flex-direction:column;align-items:stretch;gap:10px;background:#f8faf9;padding:16px}
.world-journey .project-choice-label{font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#62776e;margin:0}
.world-journey .category-tabs button{background:#fff;border:1px solid #d4dfd9;color:#415b50;border-radius:7px;box-shadow:none;font-weight:500;min-height:44px}
.world-journey .category-tabs button[aria-selected=true],.world-journey .category-tabs button[aria-selected=true]:hover{background:#e7f3ed;color:#123c35;border:1px solid #26725b;box-shadow:inset 0 0 0 1px #26725b;font-weight:700}
.world-journey .category-tabs button:hover{background:#edf4f0;color:#123c35;border-color:#8aa89b}
@media(max-width:700px){
 .world-journey .stage-top{padding:12px;gap:8px}
 .world-journey .category-tabs button{font-size:13px!important;padding:8px;min-height:44px}
 .world-journey .project-choice-label{font-size:11px;letter-spacing:.06em}
}

@media(max-width:700px){
 .visual-first-phone .hero-intro{gap:10px;margin-bottom:18px}
 .visual-first-phone .hero-top h1{font-size:clamp(48px,14vw,68px);line-height:1.02;letter-spacing:-.055em}
 .visual-first-phone .hero-aside p:first-child{font-size:16px;line-height:1.45;margin:0}
 .visual-first-phone .hero>.eyebrow{font-size:9px;letter-spacing:.08em}
 .visual-first-phone header{height:76px}
 .visual-first-phone header .brand.signature{width:66px;height:66px}
 .visual-first-phone .hero-top>.experience{margin:0 0 20px}
 .visual-first-phone .hero-top>.world-choice{margin:0;padding:0 0 16px}
 .visual-first-phone .hero-top>.stage-top{border:1px solid var(--line);border-radius:12px}
 .visual-first-phone .phone-product-preview .preview-copy{padding:16px}
 .visual-first-phone .phone-product-preview .image-stage{margin:0 0 14px}
 .visual-first-phone .phone-product-preview .preview-copy h2{font-size:24px;margin:4px 0 10px}
 .visual-first-phone .phone-product-preview .preview-copy .pill{margin-bottom:14px}
 .visual-first-phone .experience:not(.expanded):has(#frame-container[hidden]) .stage-bottom{display:none}
 .visual-first-phone #showroom{scroll-margin-top:12px}
}

