/* Faithful implementation of the GPT-generated, user-approved editorial design.
   Source of visual decisions: designs/homepage-editorial-concept.png and internal-page boards. */
@font-face { font-family:MorrowSerif; src:url('assets/fonts/bodoni-moda.ttf') format('truetype'); font-style:normal; font-weight:400 900; font-display:swap; }
@font-face { font-family:MorrowSerif; src:url('assets/fonts/bodoni-moda-italic.ttf') format('truetype'); font-style:italic; font-weight:400 900; font-display:swap; }
@font-face { font-family:MorrowSans; src:url('assets/fonts/dm-sans.ttf') format('truetype'); font-style:normal; font-weight:100 1000; font-display:swap; }
:root { --paper:#f6f2e9; --white:#fbf8f1; --ink:#173d35; --green:#173d35; --green-light:#e8eadd; --muted:#5f665e; --line:#c9c5b5; --sand:#eae4d8; --orange:#a96548; --radius:3px; --shadow:none; }
body { font-family:MorrowSans,'Segoe UI',Arial,sans-serif; background:var(--paper); }
h1,h2,.serif { font-family:MorrowSerif,Georgia,serif; font-weight:400; font-optical-sizing:auto; letter-spacing:-.065em; }
h1,h2 { line-height:1.02; }
h1 em,h2 em { font-weight:400; }
.wrap { width:min(1344px,calc(100% - 112px)); }
.demo-bar { color:#666c60; background:var(--paper); font-size:9px; padding:4px 14px; border-bottom:1px solid #cbc6b84d; letter-spacing:.035em; }
.demo-bar button { font-size:9px; }
.header { background:#f6f2e9f5; border-bottom:0; backdrop-filter:blur(12px); }
.nav { min-height:85px; gap:28px; }
.logo { font-family:MorrowSerif,Georgia,serif; letter-spacing:-3px; font-size:47px; line-height:1; gap:13px; padding-bottom:7px; }
.logo span { font-family:MorrowSans,sans-serif; font-size:9px; font-weight:600; letter-spacing:4px; margin:11px 0 0; }
.nav-links { gap:32px; font-size:12px; }
.nav-links a { padding:29px 0 22px; }
.nav-actions { gap:13px; }
.nav-actions .btn { font-size:11px; padding:10px 20px; }
.nav-actions .studio-link { border-color:#667268; }
.btn { border-radius:1px; padding:14px 23px; font-weight:450; font-size:13px; letter-spacing:.02em; }
.btn:hover { transform:none; }
.btn.secondary { border-color:#8a9587; }
.btn .icon { width:17px; height:17px; }
.btn.ghost { border-radius:0; border-bottom:1px solid #819083; padding:8px 0; }
.btn.sm { border-radius:1px; }
.icon-btn { border-radius:2px; }
.eyebrow { color:var(--orange); font-size:10px; letter-spacing:3px; font-weight:550; margin-bottom:18px; }
.photo { border-radius:3px; }
.photo img { transition:transform .6s; }
.photo .photo-label { border-radius:1px; }
.photo .sample-mark { border-radius:1px; font-size:8px; background:#173d3555; letter-spacing:.06em; }
.card { border-radius:3px; box-shadow:none; background:#fcfaf549; }
.notice { border-radius:2px; padding:11px 14px; background:#edf0e680; font-size:11px; }
.notice.warning { background:#f5efdf90; }
.pill { border-radius:2px; font-size:10px; padding:4px 8px; }
.tabs { gap:23px; border-bottom:1px solid var(--line); }
.tabs button { border:0; border-radius:0; padding:10px 0; border-bottom:2px solid transparent; margin-bottom:-1px; background:transparent; font-size:12px; }
.tabs button.active { background:transparent; border-color:var(--green); color:var(--green); font-weight:600; }
.chip { border-radius:1px; padding:10px 17px; font-size:12px; }
.style-card { padding:0; border-radius:2px; border:1px solid transparent; }
.style-card:hover { background:transparent; border-color:transparent; }
.style-card.selected { border:1px solid var(--green); padding:0; background:transparent; }
.style-card.selected .photo { border:3px solid var(--paper); }
.style-card .photo { border-radius:1px; }
.style-card h3 { font-family:MorrowSerif,Georgia,serif; font-size:23px; font-weight:400; margin:13px 0 3px; letter-spacing:-.05em; }
.style-card p { font-size:11px; margin:0 0 14px; }
.style-card.selected h3,.style-card.selected p { margin-left:8px; }
.style-card .selected-check { border-radius:1px; top:10px; right:10px; }
.field input,.field select,.field textarea { border-radius:1px; background:#fcfaf9a0; font-size:13px; }
.empty { border-radius:1px; }
.footer { border-top:1px solid var(--line); padding:40px 0 20px; }
.footer .logo { font-size:38px; }
.footer-links strong { color:var(--orange); font-size:9px; letter-spacing:1.6px; }
.footer-links a { font-size:11px; }
.footer-brand p { font-size:11px; }
.footer-bottom { margin-top:30px; font-size:9px; }
dialog { border-radius:3px; box-shadow:0 20px 100px #102b2938; }
dialog h2 { font-size:38px; }
dialog .photo,.image-crop { border-radius:2px; }
#toast { border-radius:2px; }
.section { padding-block:70px; }
.section-top h2 { font-size:clamp(38px,4.6vw,60px); }
.page-title { padding:48px 0 34px; }
.page-title h1 { font-size:clamp(44px,4.8vw,64px); }
.page-title p { font-size:13px; }
.section-top .eyebrow { margin-bottom:14px; }

/* Approved homepage composition: one large portrait, an overlapping personal image,
   narrow contact strip, forest product section and cream lookbook. */
.home-hero { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:center; padding:10px 0 26px; }
.home-copy { padding:24px 0 22px; min-width:0; }
.home-copy .eyebrow { font-size:10px; letter-spacing:3px; margin-bottom:17px; }
.home-copy h1 { font-size:clamp(66px,6.8vw,105px); letter-spacing:-.075em; line-height:.98; margin:0 0 30px; }
.home-copy h1 em { color:#68765b; white-space:nowrap; }
.home-copy>p { color:#36433c; font-size:17px; font-weight:400; line-height:1.7; margin-bottom:28px; max-width:490px; }
.home-copy .actions { margin-top:32px; gap:30px; }
.home-copy .actions .btn:first-child { font-family:MorrowSerif,Georgia,serif; font-size:21px; letter-spacing:-.04em; padding:12px 24px; }
.home-copy .how-link { font-size:13px; padding:11px 0; }
.home-fineprint { font-size:11px; color:#786f60; margin-top:30px; }
.home-portraits { position:relative; display:grid; grid-template-columns:1fr 32%; gap:10px; height:550px; }
.hero-main { position:relative; min-width:0; overflow:hidden; }
.hero-main>.photo { height:100%; width:100%; aspect-ratio:auto; border-radius:2px; }
.hero-main>.photo img { object-position:53% center; }
.on-photo-caption { position:absolute; right:17px; bottom:18px; color:#fffdf4; font-size:9px; letter-spacing:1.5px; text-shadow:0 1px 4px #0007; }
.hero-side { display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); gap:9px; min-width:0; }
.hero-side .photo { width:100%; height:100%; aspect-ratio:auto; border-radius:2px; }
.hero-overlap { position:absolute; left:-65px; bottom:-9px; width:37%; margin:0; z-index:2; }
.hero-overlap .photo { aspect-ratio:.93; border:3px solid var(--paper); border-radius:2px; }
.hero-overlap figcaption { color:var(--orange); font-size:9px; font-weight:550; letter-spacing:1.5px; margin:5px 0 0 3px; }
.home-steps { border-top:1px solid #bbb8a7; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:23px 0; margin-top:3px; }
.home-steps a { display:flex; align-items:center; justify-content:center; gap:22px; padding:0 22px; border-left:1px solid #c8c1b0; }
.home-steps a:first-child { border-left:0; }
.home-steps .icon { width:28px; height:28px; color:#906345; stroke-width:1.1; }
.home-steps strong { font-family:MorrowSerif,Georgia,serif; font-size:25px; letter-spacing:-.045em; font-weight:400; }
.home-steps p { font-size:11px; margin-top:3px; }
.home-experiences { background:var(--green); color:var(--paper); padding:43px 0 34px; }
.home-experiences .section-top { align-items:center; margin-bottom:23px; }
.home-experiences .eyebrow { color:#d6b495; font-size:9px; letter-spacing:3px; }
.home-experiences h2 { font-size:clamp(50px,6vw,82px); letter-spacing:-.06em; line-height:.98; }
.home-experiences .section-top>p { color:#d2d7cb; font-size:13px; max-width:410px; line-height:1.7; }
.experience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.experience-panel { position:relative; height:456px; overflow:hidden; border-radius:2px; }
.experience-panel>.photo { height:100%; width:100%; aspect-ratio:auto; border-radius:2px; }
.experience-panel>.photo img { object-position:center; }
.experience-panel::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#17231dda, #17231d69 43%,transparent 78%); pointer-events:none; }
.experience-copy { position:absolute; left:25px; top:50%; transform:translateY(-40%); width:57%; z-index:2; }
.experience-copy .eyebrow { color:#f3ece0; font-size:8px; letter-spacing:2px; margin-bottom:14px; }
.experience-copy h3 { font-family:MorrowSerif,Georgia,serif; font-size:clamp(32px,3.5vw,50px); font-weight:400; letter-spacing:-.06em; line-height:1.03; }
.experience-copy p { font-size:11px; color:#f0ede3; line-height:1.7; margin-top:18px; max-width:205px; }
.experience-copy .btn { margin-top:24px; padding:9px 14px; font-size:11px; }
.btn.outline-light { color:var(--paper); background:transparent; border-color:#eee7d2; }
.btn.outline-light:hover { background:#f6f2e919; }
.home-lookbook { padding:34px 0 26px; }
.home-lookbook .section-top { margin-bottom:23px; align-items:end; }
.home-lookbook h2 { font-size:clamp(36px,4.6vw,64px); white-space:normal; }
.home-lookbook .eyebrow { font-size:9px; margin-bottom:13px; }
.home-lookbook .btn { font-size:11px; white-space:nowrap; }
.home-lookbook .grid-3 { gap:14px; }
.lookbook-item { border:0; padding:0; background:none; color:var(--ink); text-align:left; width:100%; min-width:0; }
.lookbook-item .photo { aspect-ratio:1.57; border-radius:2px; }
.lookbook-item>span { display:block; font-family:MorrowSerif,Georgia,serif; font-size:20px; letter-spacing:-.04em; margin-top:6px; }
.home-sample-note { margin-top:22px; font-size:9px; color:#797d70; padding-top:16px; border-top:1px solid #c9c5b57a; }

/* Interior typography and surfaces follow the GPT interior design references. */
.stepper { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:20px 0 0; gap:18px; border-bottom:0; }
.stepper button { font-size:11px; border-bottom:2px solid var(--line); padding:10px 0 14px; text-align:left; }
.stepper button.active { border-bottom-color:var(--green); }
.stepper .step-line { display:none; }
.stepper .step-circle { border-radius:0; border:0; background:transparent; color:#a38b70; font-family:MorrowSerif,Georgia,serif; font-size:20px; }
.stepper .active .step-circle { color:var(--green); background:transparent; border:0; }
.stepper .done .step-circle { color:var(--green); background:transparent; }
.workbench { grid-template-columns:minmax(0,1fr) 300px; gap:48px; padding:39px 0 64px; }
.workbench h1 { font-size:clamp(43px,5.25vw,73px); }
.workbench h1 em { color:#68765b; }
.workbench .intro { font-size:13px; }
.workbench .grid-3 { gap:16px; }
.workbench .style-card h3 { font-size:21px; }
.workbench .style-card .photo { aspect-ratio:4/5; }
.workbench .tabs { margin-top:30px; margin-bottom:26px !important; }
.workbench .tabs button { padding:10px 23px; }
.workbench .tabs button.active { color:var(--paper); background:var(--green); border-color:var(--green); }
.summary-card { border-radius:0; border:0; border-left:1px solid var(--line); background:transparent; padding:0 0 0 25px; top:115px; }
.summary-card>.photo { aspect-ratio:1; border-radius:1px; }
.summary-card .eyebrow { font-size:9px; letter-spacing:2px; }
.summary-card h3 { font-family:MorrowSerif,Georgia,serif; font-size:35px; font-weight:400; line-height:1.1; letter-spacing:-.05em; }
.summary-preview { display:flex; align-items:center; gap:13px; border-top:1px solid var(--line); padding:14px 0; }
.summary-preview .icon { width:19px; }
.summary-continue .btn { font-family:MorrowSerif,Georgia,serif; font-size:21px; }
.summary-row { font-size:11px; border-bottom:1px solid #c9c5b54d; padding:13px 0; }
.summary-row span:last-child { text-align:right; }
.summary-row.total { font-size:18px; border-bottom:0; }
.summary-card .inline-note { font-size:10px; }
.upload-zone { border-radius:2px; background:#eeefe580; padding:42px 24px; }
.upload-item .photo { border-radius:1px; }
.wizard-nav { margin-top:25px; }
.checkout-grid { grid-template-columns:1.15fr .85fr; gap:65px; }
.checkout-editorial { padding-top:40px; }
.checkout-editorial .page-title { padding-top:0; }
.checkout-editorial .page-title h1 { font-size:clamp(40px,5vw,70px); }
.checkout-editorial .page-title h1 em { color:#526956; }
.checkout-grid .card { background:transparent; border:0; border-radius:0; padding:5px 0 30px; }
.checkout-grid>aside.card { border:1px solid var(--line); padding:34px; margin-top:15px; }
.checkout-grid h3 { font-family:MorrowSerif,Georgia,serif; font-size:32px; font-weight:400; }
.checkout-order-line { display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:18px; padding:20px 0 12px; border-bottom:1px solid var(--line); }
.checkout-order-line>.photo { aspect-ratio:1.15; }
.checkout-order-line h4 { font-family:MorrowSerif,Georgia,serif; font-weight:400; font-size:23px; line-height:1.15; letter-spacing:-.04em; margin-top:5px; }
.checkout-order-line p { font-size:11px; margin:8px 0 13px; }
.checkout-order-line small { color:var(--muted); font-size:10px; }
.checkout-looks { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.checkout-looks>span { font-size:9px; padding:6px 9px; border:1px solid var(--line); }
.order-line-price { font-family:MorrowSerif,Georgia,serif; font-size:25px; padding-top:4px; }
.checkout-details { padding-top:10px; }
.checkout-details summary { color:var(--muted); font-size:11px; }
.checkout-details p { margin-top:12px; font-size:11px; }
.payment-panel h2 { font-size:34px; line-height:1.06; letter-spacing:-.05em; }
.payment-panel>p { font-size:12px; margin-top:18px; }
.payment-panel .payment-logo { font-family:MorrowSans,sans-serif; text-align:center; font-size:39px; margin:30px 0 25px; color:#083c88; }
.payment-panel .payment-logo span { color:#0899cc; }
.payment-button { border-radius:1px; display:flex; align-items:center; justify-content:center; gap:16px; }
.payment-demo-note { font-size:10px !important; text-align:center; }
.payment-current { margin-top:16px; text-align:center; }
.payment-outcomes { border-top:1px solid var(--line); }
.gallery-toolbar { border-bottom:1px solid var(--line); padding-bottom:18px; }
.gallery-toolbar .tabs { border-bottom:0; }
.gallery-item .photo { border-radius:1px; aspect-ratio:1.48; }
.gallery-item>.icon-btn { border:0; background:#fff9; width:30px; height:30px; border-radius:1px; }
.gallery-item .caption { font-family:MorrowSerif,Georgia,serif; font-size:19px; line-height:1.3; letter-spacing:-.04em; padding:9px 0 22px; }
.gallery-item .caption>.icon-btn { border:0; background:transparent; }
.gallery-item .select-photo { top:15px; left:12px; }
.progress-card { border:0; background:transparent; }
.progress-card h1 { font-size:46px; }
.progress-ring { border-radius:1px; }
.project-card { border-radius:2px; padding:0 0 20px; border:0; border-bottom:1px solid var(--line); background:none; }
.project-card .photo { border-radius:1px; }
.project-card h3 { font-family:MorrowSerif,Georgia,serif; font-size:28px; font-weight:400; }
.project-card .project-meta,.project-card .actions,.project-card>p { padding-inline:0; }
.dashboard-stats { gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.stat { border:0; border-radius:0; border-left:1px solid var(--line); background:none; padding:20px 25px; }
.stat:first-child { border-left:0; }
.stat strong { font-family:MorrowSerif,Georgia,serif; font-size:39px; }
.price-card { border-radius:1px; padding:30px; }
.price-card.highlight { background:#eaecdf; border-color:#9da58f; }
.price-card .price { font-family:MorrowSerif,Georgia,serif; }
.admin-layout { gap:40px; grid-template-columns:175px 1fr; }
.admin-nav { border-right:1px solid var(--line); padding-right:15px; }
.admin-nav a { border-radius:0; font-size:11px; padding:12px 9px; }
.admin-nav a.active { background:transparent; color:var(--green); border-left:2px solid var(--green); }
.admin-main .grid-4 { gap:0; margin:0 0 35px !important; padding:5px 0 15px; border-bottom:1px solid var(--line); }
.admin-main .stat { padding:8px 18px; }
.admin-main h2 { font-size:37px; }
.table-wrap { border-radius:0; border:0; background:transparent; }
th { background:transparent; color:#7f7b6b; font-size:10px; text-transform:uppercase; letter-spacing:1px; }
th,td { border-bottom:1px solid #c9c5b5a0; padding:18px 14px; }
.admin-style-row { border-radius:1px; background:transparent; }
.product-hero h1 { font-size:68px; }
.product-hero-photos .photo { border-radius:2px; }
.feature-strip { border-color:var(--line); }
.legal h3 { font-family:MorrowSerif,Georgia,serif; font-size:27px; font-weight:400; }

html[lang="zh-CN"] h1,html[lang="zh-CN"] h2 { font-family:Georgia,'Songti SC',SimSun,serif; letter-spacing:-.025em; line-height:1.2; }
html[lang="zh-CN"] .home-copy h1 { font-size:clamp(45px,5vw,72px); }
html[lang="zh-CN"] .home-experiences h2 { font-size:clamp(40px,4.7vw,66px); }
html[lang="zh-CN"] .experience-copy h3 { font-family:Georgia,'Songti SC',SimSun,serif; font-size:clamp(27px,3vw,42px); line-height:1.2; }
html[lang="zh-CN"] .home-lookbook h2 { font-size:clamp(28px,3.4vw,46px); }

@media (min-width:1650px) { .home-hero { padding-top:20px; gap:75px; } .home-portraits { height:590px; } }
@media (max-width:1200px) {
  .wrap { width:calc(100% - 72px); }
  .nav { gap:18px; }
  .logo { font-size:39px; }
  .logo span { font-size:8px; letter-spacing:3px; }
  .nav-links { gap:22px; }
  .nav-actions { gap:10px; }
  .nav-actions .btn { padding:9px 14px; }
  .home-hero { gap:38px; }
  .home-copy h1 { font-size:clamp(64px,7.1vw,88px); }
  .home-copy>p { font-size:15px; }
  .home-portraits { height:470px; }
  .hero-overlap { left:-40px; width:38%; }
  .home-experiences h2 { font-size:65px; }
  .experience-panel { height:400px; }
  .experience-copy { left:22px; }
  .home-lookbook h2 { font-size:50px; }
  .workbench { grid-template-columns:minmax(0,1fr) 270px; gap:28px; }
  .workbench h1 { font-size:47px; }
  .workbench .style-card h3 { font-size:19px; }
}
@media (max-width:960px) {
  .nav-links { gap:17px; }
  .nav-actions .studio-link { display:none; }
  .logo { font-size:35px; }
  .home-portraits { height:420px; }
  .home-copy h1 { font-size:69px; }
  .home-copy>p { font-size:13px; }
  .home-copy .actions { gap:20px; }
  .home-copy .actions .btn:first-child { font-size:18px; padding:12px 18px; }
  .home-fineprint { font-size:10px; }
  .home-steps { padding:20px 0; }
  .home-steps a { gap:13px; padding:0 13px; }
  .home-steps strong { font-size:21px; }
  .home-steps p { font-size:10px; }
  .home-experiences .section-top>p { max-width:300px; font-size:12px; }
  .experience-panel { height:360px; }
  .experience-copy { width:65%; }
  .experience-copy h3 { font-size:37px; }
  .experience-copy .eyebrow { font-size:7px; letter-spacing:1.5px; }
  .experience-copy .btn { padding:8px 10px; font-size:9px; }
  .home-lookbook .section-top { flex-direction:column; align-items:start; gap:18px; }
  .product-hero h1 { font-size:54px; }
  .workbench { grid-template-columns:minmax(0,1fr) 230px; gap:25px; }
  .summary-card { padding-left:20px; }
}
@media (max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  .nav { min-height:69px; }
  .logo { font-size:36px; }
  .logo span { font-size:7px; letter-spacing:3px; }
  .nav-actions { gap:8px; }
  .nav-actions>.btn { display:none; }
  .mobile-toggle { border:0; background:transparent; margin-left:0; }
  .nav-links { padding-top:0; gap:0; }
  .menu-open .nav-links { display:flex; }
  .nav-links a { padding:12px 0; }
  .demo-bar { font-size:8px; padding:5px 10px; line-height:1.5; }
  .demo-bar button { font-size:8px; }
  .home-hero { grid-template-columns:1fr; gap:26px; padding:18px 0 25px; }
  .home-copy { padding:5px 0 0; }
  .home-copy .eyebrow { font-size:8px; letter-spacing:2.5px; margin-bottom:15px; }
  .home-copy h1 { font-size:clamp(57px,13.8vw,87px); line-height:.99; margin-bottom:23px; }
  .home-copy>p { font-size:14px; max-width:400px; margin-bottom:0; }
  .home-copy>p br { display:none; }
  .home-copy .actions { margin-top:23px; gap:25px; }
  .home-copy .actions .btn:first-child { font-size:20px; padding:10px 20px; }
  .home-fineprint { margin-top:22px; font-size:10px; }
  .home-portraits { height:390px; gap:8px; grid-template-columns:1fr 27%; margin-left:23px; margin-top:10px; }
  .hero-side { gap:7px; }
  .hero-overlap { left:-23px; width:38%; bottom:-8px; }
  .hero-overlap .photo { border-width:2px; }
  .hero-overlap figcaption { font-size:7px; letter-spacing:1px; }
  .on-photo-caption { right:10px; bottom:14px; font-size:7px; letter-spacing:1px; }
  .home-steps { margin-top:10px; padding:18px 0; gap:0; }
  .home-steps a { gap:7px; padding:0 9px; align-items:start; flex-direction:column; }
  .home-steps a:first-child { padding-left:0; }
  .home-steps a:last-child { padding-right:0; }
  .home-steps .icon { width:20px; height:20px; }
  .home-steps strong { font-size:17px; white-space:normal; }
  .home-steps p { font-size:9px; line-height:1.5; max-width:90px; }
  .home-experiences { padding:31px 0 25px; }
  .home-experiences .section-top { gap:20px; align-items:start; margin-bottom:24px; }
  .home-experiences h2 { font-size:57px; }
  .home-experiences .eyebrow { font-size:8px; letter-spacing:2px; margin-bottom:15px; }
  .home-experiences .section-top>p { font-size:12px; max-width:none; }
  .experience-grid { grid-template-columns:1fr; gap:15px; }
  .experience-panel { height:370px; }
  .experience-copy { width:62%; left:23px; }
  .experience-copy .eyebrow { font-size:7px; letter-spacing:1.6px; }
  .experience-copy h3 { font-size:44px; }
  .experience-copy p { font-size:11px; margin-top:14px; }
  .experience-copy .btn { font-size:10px; margin-top:20px; padding:9px 13px; }
  .home-lookbook { padding:31px 0 26px; }
  .home-lookbook h2 { font-size:42px; line-height:1.04; }
  .home-lookbook .section-top { gap:17px; margin-bottom:22px; }
  .home-lookbook .grid-3 { grid-template-columns:1fr; gap:23px; }
  .lookbook-item .photo { aspect-ratio:1.52; }
  .lookbook-item>span { font-size:22px; }
  .footer .logo { font-size:36px; }
  .footer-links { gap:15px; }
  .footer-links strong { font-size:8px; letter-spacing:1px; }
  .footer-links a { font-size:10px; }
  .page-title { padding:30px 0 27px; }
  .page-title h1 { font-size:43px; line-height:1.05; }
  .page-title p { font-size:12px; }
  .section { padding-block:45px; }
  .section-top h2 { font-size:39px; }
  .stepper { justify-content:space-between; gap:7px; padding:18px 0; }
  .stepper .step-line { width:20px; }
  .stepper button { gap:4px; font-size:10px; }
  .stepper .step-circle { font-size:18px; }
  .workbench { grid-template-columns:1fr; gap:30px; padding-top:25px; }
  .workbench h1 { font-size:40px; }
  .workbench .style-card h3 { font-size:23px; }
  .workbench .grid-3 { gap:16px; }
  .summary-card { border-left:0; border-top:1px solid var(--line); padding:25px 0 0; position:static; }
  .summary-card>.photo { aspect-ratio:1; max-width:110px; float:right; margin-left:20px; }
  .summary-card h3 { font-size:27px; }
  .summary-row { font-size:11px; }
  .summary-card .summary-row { clear:none; }
  .checkout-grid { grid-template-columns:1fr; gap:22px; }
  .checkout-editorial { padding-top:27px; }
  .checkout-grid>aside.card { border:1px solid var(--line); padding:25px; }
  .checkout-order-line { grid-template-columns:90px minmax(0,1fr) auto; gap:11px; }
  .checkout-order-line h4 { font-size:21px; }
  .order-line-price { font-size:22px; }
  .payment-panel h2 { font-size:32px; }
  .progress-card h1 { font-size:37px; }
  .gallery-item .caption { font-family:MorrowSans,sans-serif; font-size:10px; letter-spacing:0; }
  .gallery-toolbar { gap:16px; }
  .gallery-toolbar .tabs { gap:15px; }
  .gallery-toolbar .tabs button { font-size:11px; }
  .dashboard-stats .stat { padding:12px; }
  .dashboard-stats .stat strong { font-size:29px; }
  .project-card h3 { font-size:25px; }
  .admin-layout { grid-template-columns:1fr; gap:20px; }
  .admin-nav { border-right:0; border-bottom:1px solid var(--line); padding:0 0 8px; }
  .admin-nav a { padding:9px 7px; }
  .admin-nav a.active { border-left:0; border-bottom:1px solid var(--green); }
  .admin-main .stat { border:0; padding:8px 12px; }
  .product-hero { gap:28px; padding-top:30px; }
  .product-hero h1 { font-size:48px; }
  dialog h2 { font-size:34px; }
  html[lang="zh-CN"] .home-copy h1 { font-size:clamp(42px,10.8vw,64px); }
  html[lang="zh-CN"] .home-experiences h2 { font-size:48px; }
  html[lang="zh-CN"] .experience-copy h3 { font-size:35px; }
  html[lang="zh-CN"] .home-lookbook h2 { font-size:34px; }
}
@media (prefers-reduced-motion:reduce) { .photo img { transition:none; } }

/* Same-person reference examples reuse the existing three-card guide layout. */
.upload-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.reference-photo { aspect-ratio:3/4; }
.reference-photo img { object-fit:contain; }
.reference-guide { margin:25px 0 45px; }
.reference-guide>.grid-3 { margin:20px 0 16px; }
