/* Thai Silk Box: a consistent publication and customer interface.
   Preserve photographic colours, original hero, selection previews and artwork. */
:root{--tsb-paper:#f7f4ef;--tsb-ink:#253a32;--tsb-copy:#555a52;--tsb-gold:#80663e;--tsb-rule:#d8cebc}
body{margin:0;background:var(--tsb-paper);color:var(--tsb-ink)}
html{scroll-padding-top:28px}
main h1,main h2,main h3{font-weight:400;text-wrap:balance}
main p{ text-wrap:pretty }
main input,main select,main textarea{font-size:16px;line-height:1.5}
main input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]),main select,main textarea{min-height:48px}
main textarea{resize:vertical}
main button,main .button{min-height:44px}
a,button,input,select,textarea,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--tsb-gold);outline-offset:4px}
main .hint{font-family:Arial,sans-serif;font-size:14px;line-height:1.75;color:var(--tsb-copy)}
main label{font-family:Arial,sans-serif;font-size:15px;line-height:1.6}
main .eyebrow{font-family:Arial,sans-serif;font-size:11px;line-height:1.6;letter-spacing:2px;color:var(--tsb-gold)}
.announcement{font-size:10px;line-height:1.6;letter-spacing:1.7px}
.editorial-page .section p,.editorial-page .section-heading>p,.home-magazine .collection-card>p:not(.eyebrow),.home-magazine .steps p,.home-magazine .seo-reading p,.home-magazine .home-signature-spread p:not(.eyebrow),.home-reading-grid p:not(.eyebrow),.home-editorial-close>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--tsb-copy)}
.editorial-page .section-heading>p{max-width:38ch}
.editorial-page .seo-reading p,.editorial-page .section.narrow p,.editorial-page .tsb-policy p,.editorial-page .atelier-copy p{max-width:70ch}
.editorial-page .section.narrow,.editorial-page .tsb-policy{max-width:1000px}
.editorial-page .section p,.editorial-page .tsb-policy p,.editorial-page .atelier-copy p{margin-top:0;margin-bottom:1.15em}
.editorial-page .parent-deck{max-width:48ch;font-size:20px;line-height:1.65}
.editorial-page .parent-note>p:last-child{font-size:15px;line-height:1.8;max-width:70ch}
.parent-masthead,.home-masthead{font-size:10px;letter-spacing:1.5px}
.editorial-page .parent-photo figcaption,.journal-story-photo figcaption{font-size:12px;line-height:1.65;letter-spacing:0}
.editorial-page .text-link,.editorial-page .parent-read,.editorial-page .parent-further a{font-size:14px;line-height:1.6;min-height:44px;padding-top:11px;padding-bottom:9px}
.home-magazine .collection-card .eyebrow,.home-reading-grid .eyebrow,.parent-feature .eyebrow,.parent-note .eyebrow,.parent-further>.eyebrow{font-size:10px;color:var(--tsb-gold)}
.home-magazine .collection-card h3,.editorial-page .collection-card h3{margin-bottom:16px;line-height:1.23}
.collection-card{min-width:0}
.collection-card .text-link{margin-top:auto}
.home-publication-line{font-size:11px;line-height:1.65;letter-spacing:.6px}
.lux-footer{font-size:14px;line-height:1.75}
.lux-footer nav a,.lux-footer>div>a{min-height:36px;display:inline-flex;align-items:center}
.lux-cookie{font-size:13px;line-height:1.7}
.lux-cookie button,.cookie-link{min-height:44px}

/* Customer screens use serif hierarchy and practical, readable form typography. */
body:not(.lux-site){font-family:Arial,sans-serif;font-size:16px;line-height:1.75}
body:not(.lux-site) main{padding:44px 28px 56px;max-width:1080px;margin-inline:auto}
body:not(.lux-site) main h1{font-family:Georgia,serif;font-size:clamp(36px,4.5vw,58px);line-height:1.13;letter-spacing:-1px;margin:14px 0 22px}
body:not(.lux-site) main h2{font-family:Georgia,serif;font-size:clamp(26px,3vw,34px);line-height:1.22;letter-spacing:-.4px;margin:0 0 20px}
body:not(.lux-site) main h3{font-family:Georgia,serif;line-height:1.3}
body:not(.lux-site) main>p:not(.eyebrow):not(#message):not(#localNote){max-width:65ch}
body:not(.lux-site) main section{border-radius:5px;padding:clamp(20px,3vw,32px);margin:24px 0;border-color:var(--tsb-rule)}
body:not(.lux-site) main .primary{background:var(--tsb-ink);border-color:var(--tsb-ink);color:white}
body:not(.lux-site) main .primary:hover:not(:disabled){background:#3c5748}
body:not(.lux-site) main input,body:not(.lux-site) main select,body:not(.lux-site) main textarea{border-color:#bdaf98;border-radius:4px;background:#fffdf9;color:var(--tsb-ink)}
body:not(.lux-site) main button{font-size:15px;border-radius:4px}
body:not(.lux-site) main .actions{gap:14px;flex-wrap:wrap;align-items:center}
#progress{gap:8px 10px;margin:24px 0}
#progress li{padding:11px 13px;min-height:40px;font:13px/1.5 Arial,sans-serif;border-radius:3px}
#progress [aria-current=step]{background:var(--tsb-ink)}
.account-introduction{color:var(--tsb-copy);line-height:1.85}
.quote-card{border-radius:4px;padding:28px;background:#fffdf9}
.quote-card h3{font-size:26px;line-height:1.3}
.quote-card dl{font-size:15px;line-height:1.7;gap:12px 24px}
.quote-card details summary{font-size:16px;line-height:1.65;padding:8px 0;min-height:44px}
.quote-status{font-size:13px;line-height:1.65}
.order-journey{background:#eee8dc;padding:22px 24px}
.journey-eyebrow{font-size:11px;color:var(--tsb-gold)}
.journey-milestones li,.journey-note{font-size:14px;line-height:1.75}
.client-proof figcaption,.proof-gallery figcaption,.photo-review figcaption{font-size:13px;line-height:1.7;color:var(--tsb-copy)}
.client-proof>p,.proof-policy p{font-size:15px;line-height:1.75}
.client-proof legend{font-size:20px;line-height:1.5}
.proof-choice,.proof-check,.check-line{font-size:15px;padding:8px 0;min-height:44px}
.proof-choice input,.proof-check input,.check-line input{min-height:0;accent-color:var(--tsb-ink)}
.proof-response-saved,.client-response{overflow-wrap:anywhere}
.photo-review figure{border-radius:3px}
.invitation{border-radius:4px;padding:28px}
.invitation h2{font-size:28px}
.tsb-interface-footer{max-width:1216px;margin:0 auto;padding:26px 28px 36px;border-top:1px solid var(--tsb-rule);font:13px/1.8 Arial,sans-serif;color:var(--tsb-copy)}
.tsb-interface-footer p{max-width:65ch;margin:0 0 12px}
.tsb-interface-footer nav{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0;margin:0;max-width:none}
.tsb-interface-footer a{min-height:44px;display:inline-flex;align-items:center;color:var(--tsb-ink);text-underline-offset:4px}
/* The ceremonial thank-you retains its approved gold cursive title. */
body:not(.lux-site) main .thank-you h1{font-family:"Great Vibes","Snell Roundhand","Brush Script MT",cursive;color:#9e8158;font-size:clamp(62px,8vw,90px);line-height:1.2;letter-spacing:0}
body:not(.lux-site) main .thank-you{padding:0;border:0;margin-top:-24px}
body:not(.lux-site) main .thank-you>p{margin-inline:auto}
body:has(.work-header) main{max-width:1250px}
@media(max-width:700px){
 .announcement{font-size:9px;letter-spacing:1.2px;padding:10px 18px}
 .editorial-page .section p,.home-magazine .collection-card>p:not(.eyebrow),.home-magazine .steps p,.home-reading-grid p:not(.eyebrow){font-size:15px;line-height:1.8}
 .editorial-page .parent-feature h1{font-size:clamp(36px,8.2vw,46px);line-height:1.13}
 .editorial-page .parent-deck{font-size:19px;line-height:1.65}
 .home-magazine .home-magazine-intro h1{font-size:clamp(36px,8.5vw,46px);line-height:1.12}
 .parent-masthead,.home-masthead{font-size:9px;letter-spacing:1px;gap:16px}
 .home-publication-line{font-size:10px;gap:12px 22px}
 body:not(.lux-site) main{padding:32px 20px 40px}
 .account-heading{align-items:flex-start;gap:12px}
 .quote-card{padding:20px}
 .quote-card dl{grid-template-columns:1fr;gap:5px}
 .quote-card dd{margin-bottom:12px}
 .tsb-interface-footer{margin:0 20px;padding:22px 0 30px}
}
@media(max-width:480px){
 .home-magazine .collection-grid,.editorial-page .collection-grid{grid-template-columns:1fr;gap:30px}
 .home-magazine .collection-card .card-image,.home-magazine .collection-card .card-image img{height:240px;max-height:240px}
 .home-magazine .collection-card h3,.editorial-page .collection-card h3{font-size:27px;max-width:22ch}
 .home-magazine .collection-card>p:not(.eyebrow){max-width:42ch}
 .parent-photo figcaption{flex-wrap:wrap;gap:5px}
 #progress li{font-size:12px;padding:10px}
 .client-proof{padding:18px}
 .history-filters{grid-template-columns:1fr}
 body:not(.lux-site) main .actions>*{max-width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
