/* SANJIESAN Atelier: retain the existing art, palette and content; refine the shared presentation. */
:root { --atelier-ink:#30334d; --atelier-muted:#716475; --atelier-rose:#8c4d69; --atelier-line:#e7d9e1; --atelier-paper:#fffdfb; --sjs-header-offset:96px; }
html:has(.site-header) { scroll-padding-top:calc(var(--sjs-header-offset) + 22px); }
html[data-sjs-surface=editorial] { scroll-padding-bottom:90px; }
.site-header { top:8px; margin:0 18px 8px; padding:9px 18px; border:1px solid #e8dce3; border-radius:22px; background:#fffdfbf5; box-shadow:0 9px 32px #7057670d; backdrop-filter:blur(16px); }
.site-header .header-inner { gap:14px; }
.site-header .brand strong { color:var(--atelier-ink); }
.site-header .brand span { color:#6e6071; }
.site-header .main-nav > a { font-size:.86rem; font-weight:600; }
.site-header .main-nav > a.current,.site-header .main-nav > a:hover,.site-header .locale-menu a[aria-current] { color:var(--atelier-rose); }
.site-header .main-nav > a.current::after { background:#a56583; }
.site-header .locale-switch > summary,.site-header .mobile-browse > summary { border-color:#deccd8; border-radius:14px; }
.site-header .locale-menu,.site-header .mobile-browse-panel { max-height:calc(100dvh - var(--sjs-header-offset) - 26px); background:#fffdfb; border:1px solid #deccd8; box-shadow:0 20px 55px #48324f1c; }
.site-header .locale-menu a,.site-header .mobile-browse-panel a { color:#504356; font-size:.85rem; }
.site-header .locale-menu a[aria-current],.site-header .mobile-browse-panel a[aria-current] { background:#f3e9f1; color:#734d6c; border-color:#d7bccd; }
.site-header .site-skip-link:focus { z-index:100; color:#452d43; background:#fff; border:2px solid #8c4d69; }
html[data-sjs-surface=editorial] body { color:var(--atelier-ink); --muted:var(--atelier-muted); }
html[data-sjs-surface=editorial] main [id] { scroll-margin-top:calc(var(--sjs-header-offset) + 22px); }
html[data-sjs-surface=editorial] main { overflow-wrap:break-word; }
html[data-sjs-surface=editorial] main :is(h1,h2) { text-wrap:balance; }
html[data-sjs-surface=editorial] main :is(.eyebrow,.ref-hero-kicker) { color:#85596f; }
html[data-sjs-surface=editorial] main .button { min-height:50px; padding:14px 24px; font-size:.9rem; font-weight:700; line-height:1.55; border-radius:15px; box-shadow:0 6px 20px #aa738611; }
html[data-sjs-surface=editorial] main .button.button-primary { color:#542e45!important; background:linear-gradient(135deg,#f8c2d2,#efabc3); border:1px solid #dba0b8; }
html[data-sjs-surface=editorial] main .button-secondary { color:#78435f; border:1px solid #cba3b8; background:#fffdfb; }
html[data-sjs-surface=editorial] main .button:disabled { background:#f1edf1; color:#756977; border-color:#ddd3dd; box-shadow:none; }
html[data-sjs-surface=editorial] main :is(.section-heading,.ref-section-title) { align-items:end; gap:22px; margin-bottom:28px; }
html[data-sjs-surface=editorial] main :is(.section-heading,.ref-section-title) h2 { font-family:Georgia,"Noto Serif SC",serif; font-size:clamp(1.7rem,2.8vw,2.8rem); line-height:1.35; font-weight:500; }
html[data-sjs-surface=editorial] main :is(.section-heading,.ref-section-title) p { font-size:.88rem; line-height:1.85; margin-top:10px; }
html[data-sjs-surface=editorial] main :is(.section-heading,.ref-section-title) > a { color:#85536f; font-size:.84rem; min-height:44px; display:inline-flex; align-items:center; }
html[data-sjs-surface=editorial] :is(.ip-section,.ref-featured,.home-editorial,.why-collabs) { padding-block:46px; }
/* Keep the original illustrated city and characters. Give the central story room to breathe. */
html[data-sjs-surface=editorial] .ref-hero { height:clamp(520px,43vw,650px); min-height:520px; margin-top:-94px; padding-top:94px; }
html[data-sjs-surface=editorial] .ref-hero-center { position:absolute; top:52%; left:50%; transform:translate(-50%,-50%); width:min(530px,43vw); padding:28px 28px 26px; border:1px solid #fffaf6bf; border-radius:32px; background:linear-gradient(145deg,#fffdf3eb,#fff8f1d9); backdrop-filter:blur(5px); box-shadow:0 18px 55px #8e6f6f13; }
html[data-sjs-surface=editorial] .ref-hero-center h1 { font-size:clamp(2.7rem,4.2vw,4.5rem); line-height:1.1; margin:15px 0 10px; color:#68524f; }
html[data-sjs-surface=editorial] .ref-hero-center h2 { font-size:clamp(1.15rem,1.8vw,1.65rem); line-height:1.55; margin:0 0 13px; color:#5d4e60; }
html[data-sjs-surface=editorial] .ref-hero-center p { font-size:.9rem; line-height:1.85; max-width:380px; margin:0 auto 10px; color:#695a65; }
html[data-sjs-surface=editorial] .ref-hero-kicker { font-size:.62rem; letter-spacing:.17em; }
html[data-sjs-surface=editorial] .ref-hero-small { display:block; font-size:.72rem; line-height:1.75; color:#766471; margin-bottom:20px; }
html[data-sjs-surface=editorial] .ip-home-hero-buttons { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
html[data-sjs-surface=editorial] .ref-hero-center .button { min-height:46px; font-size:.86rem; padding:11px 17px; }
html[data-sjs-surface=editorial] .ref-hero-bottom { bottom:18px; font-size:.75rem; gap:24px; line-height:1.65; color:#69576a; }
html[data-sjs-surface=editorial] .ref-category-wrap { border:1px solid var(--atelier-line); border-radius:25px; box-shadow:0 14px 35px #8065740c; padding:18px 22px; }
html[data-sjs-surface=editorial] .ref-category-list { gap:12px; }
html[data-sjs-surface=editorial] .ref-category-list > a { gap:10px; min-width:70px; }
html[data-sjs-surface=editorial] .ref-category-list strong { font-size:.73rem; line-height:1.55; font-weight:600; }
html[data-sjs-surface=editorial] .ref-category-bubble { width:66px; height:66px; border:1px solid #eddee5; background:#fffaf9; }
html[data-sjs-surface=editorial] .ref-category-feature { border-radius:17px; background:#f7edf3; }
html[data-sjs-surface=editorial] .universe-home-shortcuts { justify-content:center; gap:14px; margin-block:25px 5px; }
html[data-sjs-surface=editorial] .universe-home-shortcuts a { min-height:45px; padding:10px 18px; color:#71556c; font-size:.82rem; border-color:#dccbd7; background:#fffdfb; }
html[data-sjs-surface=editorial] .ref-feature-row { display:grid; grid-template-columns:minmax(0,2.8fr) minmax(240px,1fr); gap:24px; align-items:stretch; }
html[data-sjs-surface=editorial] .ref-shelf { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; overflow:visible; width:100%; min-width:0; height:auto; padding:0; margin:0; }
html[data-sjs-surface=editorial] .ref-product-tile { min-width:0; width:100%; height:auto; flex:none; border:1px solid var(--atelier-line); border-radius:20px; background:#fffdfb; box-shadow:0 5px 18px #7a5c6f06; }
html[data-sjs-surface=editorial] .ref-product-photo { height:auto; min-height:0; aspect-ratio:1.1; }
html[data-sjs-surface=editorial] .ref-product-copy { padding:18px; }
html[data-sjs-surface=editorial] .ref-product-copy > span:first-child { color:#80546c; font-size:.62rem; line-height:1.6; letter-spacing:.04em; }
html[data-sjs-surface=editorial] .ref-product-copy h3 { font-size:.94rem; line-height:1.6; margin:7px 0 12px; }
html[data-sjs-surface=editorial] .ref-product-copy p { color:#786679; font-size:.76rem; line-height:1.7; margin-bottom:0; }
html[data-sjs-surface=editorial] .ref-product-arrow { background:#f2d2e0; color:#663c56; }
html[data-sjs-surface=editorial] .ref-cafe-banner { position:relative; inset:auto; width:100%; min-height:410px; height:100%; border-radius:24px; }
html[data-sjs-surface=editorial] .ref-featured .ref-section-title { width:100%; max-width:none; padding-right:0; }
html[data-sjs-surface=editorial] :is(.ip-asset-card,.ip-sector-card,.discovery-card,.editorial-card,.why-grid article,.about-answers article,.ref-fan-card) { border:1px solid var(--atelier-line); border-radius:24px; box-shadow:0 5px 22px #694e6807; background:#fffdfb; overflow:hidden; }
html[data-sjs-surface=editorial] :is(.ip-card-copy,.discovery-card-copy) { padding:22px; }
html[data-sjs-surface=editorial] .ip-card-copy h3 { font-family:Georgia,"Noto Serif SC",serif; font-size:1.16rem; line-height:1.5; font-weight:500; }
html[data-sjs-surface=editorial] .ip-card-copy p { font-size:.88rem; line-height:1.8; color:var(--atelier-muted); }
html[data-sjs-surface=editorial] .ip-card-copy .eyebrow { font-size:.68rem; line-height:1.7; letter-spacing:.07em; }
html[data-sjs-surface=editorial] :is(.ip-page-hero,.ip-brand-hero,.collab-hero,.about-hero > .page-shell) { gap:48px; padding-block:56px; }
html[data-sjs-surface=editorial] :is(.ip-page-hero,.ip-brand-hero,.collab-hero,.about-hero) h1 { font-family:Georgia,"Noto Serif SC",serif; font-size:clamp(2.6rem,4.8vw,4.6rem); font-weight:500; line-height:1.22; }
html[data-sjs-surface=editorial] :is(.ip-page-hero,.ip-brand-hero,.collab-hero,.about-hero) p { font-size:.98rem; line-height:1.95; max-width:580px; }
html[data-sjs-surface=editorial] :is(.ip-page-hero,.ip-brand-hero) .ip-art { border-radius:32px 70px 32px 32px; box-shadow:0 18px 45px #7c657916; }
html[data-sjs-surface=editorial] .ip-hub-nav { gap:10px; padding-block:17px; }
html[data-sjs-surface=editorial] .ip-hub-nav a { border:1px solid #ddcad6; border-radius:13px; padding:12px 17px; min-height:46px; font-size:.83rem; color:#70576d; background:#fffdfb; }
html[data-sjs-surface=editorial] :is(.lead-form,.ip-brand-form,.contact-panel) { border:1px solid #dfcdd9; border-radius:26px; padding:30px; box-shadow:0 12px 40px #7e66770b; background:#fffdfb; }
html[data-sjs-surface=editorial] .lead-form label { color:#4e3e51; font-size:.86rem; line-height:1.7; }
html[data-sjs-surface=editorial] .lead-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { min-height:52px; background:#fffdfc; border:1px solid #bfa5ba; border-radius:12px; font:inherit; font-size:1rem; padding:12px 15px; color:#403447; }
html[data-sjs-surface=editorial] .lead-form :is(input,select,textarea):focus { border-color:#8c4d69; box-shadow:0 0 0 3px #a46d8b20; }
html[data-sjs-surface=editorial] .lead-form :is(input,select,textarea)[aria-invalid=true] { border-color:#a03458; outline-color:#a03458; }
html[data-sjs-surface=editorial] .lead-form :is(input[type=checkbox],input[type=radio]) { accent-color:#8c4d69; width:18px; height:18px; flex-shrink:0; }
html[data-sjs-surface=editorial] :is(.support-page,.document-page,.article-body,.policy-content,.contact-page) p { font-size:1rem; line-height:1.9; }
html[data-sjs-surface=editorial] .breadcrumbs { font-size:.8rem; line-height:1.8; color:#765b72; }
html[data-sjs-surface=editorial] :is(.about-now-next,.home-now-next) article { border-radius:24px; border:1px solid var(--atelier-line); padding:32px; }
html[data-sjs-surface=editorial] :is(.ip-create-strip,.world-bridge,.behind-home) { border-radius:30px; overflow:hidden; }
html[data-sjs-surface=editorial] main :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #835075; outline-offset:4px; }
.site-footer { width:min(1290px,calc(100% - 40px)); margin:50px auto 22px; border:1px solid #e4d4df; border-radius:30px; background:linear-gradient(125deg,#fffaf7,#faf3f8 50%,#f3f6fb); padding:48px 42px; gap:50px; }
.site-footer .footer-brand strong { font-family:Georgia,serif; letter-spacing:.08em; font-size:1.8rem; color:var(--atelier-ink); }
.site-footer .footer-brand p { font-size:.86rem; line-height:1.85; color:var(--atelier-muted); }
.site-footer .footer-brand > span { font-size:.8rem; line-height:1.8; color:#765c72; }
.site-footer .footer-groups nav b { color:#72546b; font-size:.72rem; letter-spacing:.06em; margin-bottom:12px; }
.site-footer .footer-groups nav a { font-size:.81rem; line-height:1.7; min-height:38px; color:#66586d; }
@media (hover:hover) and (pointer:fine) {
 html[data-sjs-surface=editorial] :is(.ref-product-tile,.ip-asset-card,.ip-sector-card,.discovery-card):hover { border-color:#cba5bd; box-shadow:0 14px 32px #8d678916; transform:translateY(-4px); }
 html[data-sjs-surface=editorial] .button-primary:hover { background:linear-gradient(135deg,#f4b3c8,#eaa1bc); border-color:#c78ca8; }
}
@media (max-width:1319px) { .site-header .main-nav,.site-header .header-search { display:none; } }
@media (max-width:1000px) {
 html[data-sjs-surface=editorial] .ref-hero-center { width:min(500px,57vw); }
 html[data-sjs-surface=editorial] .ref-feature-row { grid-template-columns:minmax(0,1fr); }
 html[data-sjs-surface=editorial] .ref-cafe-banner { min-height:260px; height:300px; }
 html[data-sjs-surface=editorial] :is(.ip-page-hero,.ip-brand-hero,.collab-hero) { gap:28px; }
 .site-footer { padding:35px 28px; gap:30px; }
}
@media (max-width:700px) {
 .site-header { top:5px; margin:0 8px 7px; padding:5px 10px; border-radius:18px; }
 .site-header .header-inner { gap:7px; }
 .site-header .brand strong { font-size:1.06rem; }
 .site-header .mobile-browse-panel { width:min(390px,calc(100vw - 30px)); right:0; }
 html[data-sjs-surface=editorial] main .button { font-size:.86rem; min-height:48px; padding:12px 18px; }
 html[data-sjs-surface=editorial] .ref-hero { height:620px; min-height:620px; margin-top:-78px; padding-top:78px; }
 html[data-sjs-surface=editorial] .ref-hero-center { top:44%; width:calc(100% - 44px); max-width:430px; padding:24px 20px; border-radius:26px; background:linear-gradient(145deg,#fffdf2ee,#fff8f3df); }
 html[data-sjs-surface=editorial] .ref-hero-center h1 { font-size:clamp(2.2rem,9vw,3.2rem); margin:13px 0 9px; }
 html[data-sjs-surface=editorial] .ref-hero-center h2 { font-size:1.25rem; line-height:1.5; }
 html[data-sjs-surface=editorial] .ref-hero-center p { font-size:.88rem; line-height:1.85; }
 html[data-sjs-surface=editorial] .ref-hero-small { font-size:.74rem; }
 html[data-sjs-surface=editorial] .ref-hero-center .button { min-height:46px; font-size:.84rem; padding:10px 14px; }
 html[data-sjs-surface=editorial] .ref-hero-bottom { bottom:28px; width:calc(100% - 32px); left:16px; transform:none; justify-content:center; text-align:center; gap:8px 16px; flex-wrap:wrap; font-size:.71rem; }
 html[data-sjs-surface=editorial] .universe-home-shortcuts { display:flex; flex-wrap:wrap; gap:10px; }
 html[data-sjs-surface=editorial] .universe-home-shortcuts a { flex:1 1 120px; justify-content:center; text-align:center; text-wrap:balance; padding:10px 12px; min-height:46px; font-size:.8rem; }
 html[data-sjs-surface=editorial] .ref-category-wrap { margin-top:-18px; padding:15px; border-radius:22px; }
 html[data-sjs-surface=editorial] .ref-category-list { gap:13px; }
 html[data-sjs-surface=editorial] .ref-category-list strong { font-size:.72rem; }
 html[data-sjs-surface=editorial] .ref-category-bubble { width:58px; height:58px; }
 html[data-sjs-surface=editorial] .ref-shelf { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
 html[data-sjs-surface=editorial] .ref-product-copy { padding:15px; }
 html[data-sjs-surface=editorial] .ref-product-copy h3 { font-size:.88rem; }
 html[data-sjs-surface=editorial] .ref-product-copy > span:first-child { font-size:.64rem; }
 html[data-sjs-surface=editorial] .ref-product-tile:last-child:nth-child(odd) { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; }
 html[data-sjs-surface=editorial] :is(.ip-section,.ref-featured,.home-editorial,.why-collabs) { padding-block:32px; }
 html[data-sjs-surface=editorial] :is(.section-heading,.ref-section-title) { align-items:start; flex-wrap:wrap; gap:12px; margin-bottom:22px; }
 html[data-sjs-surface=editorial] :is(.section-heading,.ref-section-title) h2 { font-size:1.8rem; line-height:1.4; }
 html[data-sjs-surface=editorial] :is(.ip-page-hero,.ip-brand-hero,.collab-hero,.about-hero > .page-shell) { padding-block:35px; gap:24px; }
 html[data-sjs-surface=editorial] :is(.ip-page-hero,.ip-brand-hero,.collab-hero,.about-hero) h1 { font-size:clamp(2.1rem,9vw,3.2rem); line-height:1.28; }
 html[data-sjs-surface=editorial] :is(.ip-page-hero,.ip-brand-hero,.collab-hero,.about-hero) p { font-size:.93rem; line-height:1.9; }
 html[data-sjs-surface=editorial] .ip-card-copy { padding:18px; }
 html[data-sjs-surface=editorial] .ip-card-copy h3 { font-size:1.04rem; }
 html[data-sjs-surface=editorial] .ip-card-copy p { font-size:.85rem; }
 html[data-sjs-surface=editorial] .ip-card-copy .eyebrow { font-size:.69rem; }
 html[data-sjs-surface=editorial] :is(.lead-form,.ip-brand-form,.contact-panel) { padding:22px; border-radius:22px; }
 html[data-sjs-surface=editorial] .lead-form label { font-size:.88rem; }
 html[data-sjs-surface=editorial] .lead-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { font-size:16px; }
 .site-footer { width:calc(100% - 24px); margin-top:35px; padding:28px 23px; border-radius:24px; gap:28px; }
 .site-footer .footer-groups { gap:22px; }
 .site-footer .footer-groups nav a { min-height:44px; font-size:.83rem; }
}
@media (prefers-reduced-motion:reduce) {
 html:has(.site-header) { scroll-behavior:auto!important; }
 html[data-sjs-surface=editorial] :is(.button,.ref-product-tile,.ip-asset-card,.ip-sector-card,.discovery-card,.ip-art img,.ref-product-photo img) { animation:none!important; transition:none!important; }
 html[data-sjs-surface=editorial] :is(.button,.ref-product-tile,.ip-asset-card,.ip-sector-card,.discovery-card):hover { transform:none!important; }
}
