/* Shared tokens; theme overrides keep each brand independent. */
:root{--bg:#101513;--fg:#edece4;--muted:#a7ada5;--accent:#d1b681;--line:#ffffff26;--serif:Georgia,'Times New Roman',serif;--space:clamp(24px,6vw,100px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.07}h1{font-family:var(--serif);font-size:clamp(49px,7.7vw,116px);letter-spacing:-.055em;max-width:1000px}h2{font-family:var(--serif);font-size:clamp(37px,4.9vw,72px);letter-spacing:-.04em}h3{font-family:var(--serif);font-size:clamp(25px,2.7vw,39px)}p{max-width:65ch}.kicker{font-size:11px;letter-spacing:.23em;text-transform:uppercase;color:var(--accent);margin-bottom:23px}.muted{color:var(--muted)}.skip{position:fixed;top:-100px;z-index:100;background:var(--fg);color:var(--bg);padding:12px}.skip:focus{top:0}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space);border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--bg)}.brand{font-size:15px;letter-spacing:.12em;font-weight:700}.brand small{font-size:10px;display:block;color:var(--muted);letter-spacing:.15em}.nav{display:flex;gap:27px;align-items:center;font-size:12px}.nav a{padding:10px 0}.menu{display:none;background:transparent;border:1px solid var(--line);color:var(--fg);padding:10px 15px}.button{display:inline-flex;gap:30px;align-items:center;justify-content:space-between;border:1px solid var(--accent);padding:15px 23px;font-size:12px;letter-spacing:.06em;background:transparent;color:var(--fg);min-height:48px}.button.solid{background:var(--accent);color:var(--bg)}.section{padding:var(--space)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.section-head p{max-width:340px}.hero{min-height:calc(100svh - 86px);position:relative;display:flex;align-items:center;padding:80px var(--space);overflow:hidden}.hero-content{position:relative;z-index:2}.hero p.lead{margin:28px 0 35px;font-size:clamp(15px,1.5vw,19px);max-width:460px;color:#e3e4de}.hero-foot{position:absolute;left:var(--space);right:var(--space);bottom:25px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.15em;z-index:3}.hero-photo{position:absolute;inset:0}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09120ce8,#09120c14),linear-gradient(0deg,#09120c66,transparent)}.hero-photo img{object-position:center}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card-image{height:350px;overflow:hidden}.card-image img{transition:transform .8s}.card:hover img{transform:scale(1.035)}.card h3{margin:19px 0 12px}.card p{color:var(--muted);font-size:14px}.number{font-size:11px;color:var(--accent);display:block;margin-bottom:25px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split .visual{height:540px;position:relative}.split p:not(.kicker){margin:25px 0;color:var(--muted)}.band{border-block:1px solid var(--line);padding:35px var(--space);display:flex;justify-content:space-between;gap:20px;font-size:12px}.faq{max-width:900px;margin:40px auto 0}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{cursor:pointer;font-size:18px}.faq details p{color:var(--muted);padding-top:16px}.closing{padding:90px var(--space);text-align:center;border-top:1px solid var(--line)}.closing h2{max-width:800px;margin:auto}.closing p{margin:24px auto}.closing .button{margin-top:12px}footer{padding:30px var(--space);display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.prototype{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding:10px var(--space)}dialog{background:var(--bg);color:var(--fg);border:1px solid var(--accent);max-width:560px;width:calc(100% - 32px);padding:28px}dialog::backdrop{background:#000b}dialog h2{font-size:38px}dialog label{display:block;margin-top:18px;font-size:13px}input,select,textarea{background:transparent;border:1px solid var(--line);color:var(--fg);width:100%;padding:12px;margin-top:7px}select option{background:var(--bg)}textarea{min-height:95px}.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.status{font-size:13px;color:var(--accent);margin-top:20px}.filterbar{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.filterbar button{padding:10px 20px;border:1px solid var(--line);color:var(--fg);background:transparent;min-height:44px}.filterbar button[aria-pressed=true]{background:var(--accent);color:var(--bg)}[hidden]{display:none!important}.empty{padding:30px;border:1px solid var(--line)}.vip{--bg:#10120f;--accent:#c6ab74;--fg:#eeeadf;--muted:#b3b1a6}.vip .hero{background:radial-gradient(ellipse at 80% 50%,#a7773e65,transparent 50%),linear-gradient(150deg,#121914,#29281c 70%,#10120f)}.flight-art{position:absolute;width:55vw;height:55vw;right:-8vw;top:8%;border:1px solid #c6ab7433;border-radius:50%;transform:rotate(-18deg)}.flight-art:before,.flight-art:after{content:'';position:absolute;inset:12%;border:1px solid #c6ab7426;border-radius:50%}.flight-art:after{inset:24%}.flight-line{position:absolute;right:8%;bottom:18%;font-size:11px;color:var(--accent);letter-spacing:.2em;writing-mode:vertical-rl}.vip h1 em{color:var(--accent);font-weight:400}.vip .services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.vip .service{padding:45px 30px 45px 0;border-bottom:1px solid var(--line)}.service p{margin-top:18px;color:var(--muted);font-size:14px}.journey{counter-reset:step}.journey li{list-style:none;padding:24px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:45px 1fr;gap:15px}.journey li:before{counter-increment:step;content:'0' counter(step);color:var(--accent);font-size:12px}.journey{padding:0}.journey strong{display:block;font-weight:400;font-size:20px}.journey span{font-size:13px;color:var(--muted)}.art-label{position:absolute;bottom:20px;left:20px;font-size:10px;color:var(--muted);letter-spacing:.1em}.explorer{--bg:#f1f0e9;--fg:#153b32;--muted:#5b6e64;--accent:#215e49;--line:#153b322b}.explorer .hero{color:#fff}.explorer .hero .kicker{color:#cbe5cf}.explorer .hero .button{color:#fff;border-color:#cbe5cf}.explorer .card:nth-child(2){margin-top:70px}.explorer .card:nth-child(3){margin-top:140px}.explorer .card-image{height:430px}.route{background:#153b32;color:#eef0df}.route .muted{color:#becbc1}.route .kicker{color:#cbdc9f}.route-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}.route .journey li{border-color:#ffffff38}.route .journey span{color:#c4d0c8}.shop{--bg:#f5f0e5;--fg:#3b3024;--muted:#736759;--accent:#75472c;--line:#3b30242b}.shop .hero{display:grid;grid-template-columns:1fr 1fr;gap:5vw;min-height:680px}.shop .hero p.lead{color:var(--muted)}.shop .still-life{height:530px;border-radius:50% 50% 0 0;overflow:hidden}.shop .product-art{height:300px;background:#e9dfcd;display:grid;place-items:center}.vessel{width:120px;height:165px;background:linear-gradient(90deg,#795d40,#bba282,#826649);border-radius:22% 22% 40% 40%;box-shadow:14px 18px 28px #533b202b;position:relative}.vessel:after{content:'';position:absolute;inset:0 0 auto;height:22px;border-radius:50%;background:#4b392a;border:7px solid #99805e}.vessel.tea{width:140px;height:110px;border-radius:10% 10% 40% 40%;background:linear-gradient(90deg,#607453,#a6ab80)}.shop .illustration-note{font-size:10px;margin-top:10px}.lab{--bg:#0b0b14;--fg:#f2efff;--muted:#a49fb8;--accent:#c3f978;--line:#e8dfff26}.lab h1,.lab h2,.lab h3{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.065em;font-weight:700}.lab .hero{min-height:740px}.lab .hero h1{max-width:760px}.lab .orbital{position:absolute;right:5%;top:20%;width:400px;height:400px;border:1px solid #b09ce86b;border-radius:50%;background:radial-gradient(circle at 35% 35%,#c9b5ff,#6f44b1 32%,#222033 65%);box-shadow:0 0 130px #7345b84d;opacity:.65}.lab .hero-content{mix-blend-mode:normal}.lab .project{border-top:1px solid var(--line);padding:45px 0;display:grid;grid-template-columns:100px 1fr 1fr;gap:30px}.lab .project h3{font-size:40px}.lab .project-art{height:200px;background:repeating-linear-gradient(120deg,#252238 0 2px,#12121e 3px 20px);border:1px solid #786799;display:grid;place-items:center;font-size:50px;color:#c3f978}.journal{--bg:#f6f3eb;--fg:#292e2a;--muted:#656a61;--accent:#846239;--line:#292e2a30}.journal .masthead{padding:50px var(--space) 25px;border-bottom:1px solid var(--line)}.journal .masthead h1{font-size:clamp(52px,10vw,145px);max-width:none}.journal .lead-story{display:grid;grid-template-columns:1.3fr 1fr;gap:5vw;padding:var(--space)}.journal .lead-story .visual{height:470px}.journal .lead-story h2{margin:25px 0}.journal .article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.journal .article-row{border-top:1px solid var(--line);padding:30px 0}.journal .article-row p{margin:20px 0;color:var(--muted)}.journal article.reader{max-width:760px;margin:auto;padding:60px 24px}.reader p,.reader ul{font-size:18px;line-height:1.85;margin:25px 0}.reader h2{font-size:36px;margin-top:50px}.business{--bg:#e9eef3;--fg:#15334c;--muted:#526a7d;--accent:#215e8b;--line:#15334c2e}.business .hero{min-height:680px;display:grid;grid-template-columns:1.2fr .8fr;gap:7vw}.business .hero p.lead{color:var(--muted)}.business .blueprint{height:390px;border:1px solid var(--accent);background:linear-gradient(90deg,#215e8b12 1px,transparent 1px),linear-gradient(#215e8b12 1px,transparent 1px);background-size:35px 35px;display:grid;place-items:center}.blueprint span{font-family:var(--serif);font-size:130px;color:var(--accent)}.business .service{border-top:1px solid var(--line);padding:30px 0}.components .example{border:1px solid var(--line);padding:30px;margin:25px 0}.registry{--bg:#111915;--accent:#d3bf94}.registry .intro{padding:80px var(--space) 40px}.registry .intro h1{font-size:clamp(55px,8vw,110px)}.registry .preview-card{border:1px solid var(--line);padding:27px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#ffffff09,transparent)}.preview-card:hover{border-color:var(--accent)}.preview-card h2{font-size:36px}.preview-card p{font-size:13px;color:var(--muted);margin:20px 0}.registry .grid{padding:30px var(--space) 80px}.registry .tag{font-size:10px;letter-spacing:.12em;color:var(--accent)}@media(min-width:1800px){main,header,footer{max-width:1800px;margin-inline:auto}}@media(max-width:760px){.topbar{height:76px}.menu{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:24px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:start}.nav.open{display:flex}.hero{min-height:calc(100svh - 76px);padding-block:80px 100px}h1{font-size:clamp(49px,13.5vw,82px)}.section{padding-block:60px}.section-head,.split,.route-grid,.shop .hero,.business .hero,.journal .lead-story{display:grid;grid-template-columns:1fr;gap:30px}.grid,.vip .services,.journal .article-list{grid-template-columns:1fr}.hero p.lead{max-width:320px}.section-head{margin-bottom:30px}.card-image,.explorer .card-image{height:380px}.explorer .card:nth-child(n){margin-top:0}.split .visual{height:380px}.band{flex-wrap:wrap;gap:20px}.flight-art{width:100vw;height:100vw;right:-45vw;top:25%;opacity:.6}.flight-line{display:none}.vip .service{padding:30px 0}.hero-foot{font-size:8px}.shop .still-life{height:370px}.shop .hero{padding-bottom:50px}.lab .orbital{right:-200px;opacity:.4}.lab .project{grid-template-columns:35px 1fr;gap:15px}.lab .project .project-art{grid-column:2}.lab .project h3{font-size:30px}.journal .lead-story .visual{height:320px}.business .blueprint{height:280px}.registry .grid{grid-template-columns:1fr}.registry .intro{padding-top:55px}footer{flex-direction:column}.dialog-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Explorer-only refinements. Original Factory styles remain untouched. */
.text-link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:40px}.module-grid article{border-top:1px solid #ffffff50;padding-top:24px}.module-grid p{color:#d4dfd7;margin:16px 0}.module-grid span{font-size:12px;color:#d4dfd7}.route .journey li:before{color:#d4dfd7}.faq{margin-inline:0}.faq details{scroll-margin-top:30px}.faq summary{padding:8px 0;min-height:44px}.nav a{min-height:44px;display:inline-flex;align-items:center}dialog{max-height:90svh;overflow:auto}.status{white-space:pre-line}.hero-foot{gap:20px}.hero-foot span{max-width:48%}body{overflow-wrap:break-word}.topbar{gap:15px}.brand{letter-spacing:.06em}.filterbar[hidden]{display:none}.menu{min-height:44px}noscript p{padding:12px var(--space)}
.hero-content,.hero-foot span,.section-head>*,.route-grid>*,.split>*{min-width:0}
@media(max-width:760px){.module-grid{grid-template-columns:1fr}.brand{font-size:13px}.brand small{font-size:9px}.hero-content{width:100%}.hero-foot{line-height:1.6}.hero-foot span:last-child{text-align:right}.hero-photo img{object-position:60% center}.card-image,.explorer .card-image{height:330px}.nav a{width:100%}.section-head p{max-width:100%}h1{font-size:clamp(34px,12vw,82px)}h2{font-size:clamp(30px,9vw,37px)}}
.place-block{scroll-margin-top:96px}.place-block h3{font-size:clamp(22px,2.2vw,32px);margin:28px 0 8px}.place-block ul{margin:8px 0 0;padding-left:1.15em;color:var(--muted)}.place-block li{margin:8px 0}.place-block li::marker{color:var(--accent)}.source-note{font-size:13px;color:var(--muted);margin-top:28px;max-width:70ch}.source-note a{text-decoration:underline;text-underline-offset:3px}#bangkok-phuket,#journeys,#connections,#destinations{scroll-margin-top:96px}
@media(min-width:761px){.explorer #dest-grid .card{margin-top:0}.explorer #dest-grid:has(.card:not([hidden])~.card:not([hidden])~.card:not([hidden])) .card:nth-child(2){margin-top:70px}.explorer #dest-grid:has(.card:not([hidden])~.card:not([hidden])~.card:not([hidden])) .card:nth-child(3){margin-top:140px}}
@media(prefers-reduced-motion:no-preference){.button,.text-link{transition:background-color .2s,color .2s}.button:hover{background:var(--accent);color:var(--bg)}}
