/*
 * Lamplight 9.0 —— 全站视觉层（最后加载）。
 * 配色恢复为原品牌的暖米色、沙色、棕色与陶土色；保留 9.0 的布局、排版和交互。
 * 全站单一字体 Familjen Grotesk，衬线只保留在品牌字标里。
 * 只改外观，不改任何动效逻辑、价格、联系方式或交易流程。
 */
@font-face{font-family:"Familjen Grotesk";src:url('familjen-grotesk-latin-normal.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Familjen Grotesk";src:url('familjen-grotesk-latin-italic.woff2') format('woff2');font-style:italic;font-weight:400 700;font-display:swap}

/* ---------- 1. 设计令牌 ---------- */
body.teileter-studio{
  --plaster:#F2ECE4;
  --paper:#F2ECE4;
  --surface:#E7DDD1;
  --surface-raised:#FBF6EF;
  --surface-strong:#DCC9B6;
  --tile:#FFFFFF;
  --ink:#2D211C;
  --muted:#6B5B52;
  --line:#CAB8AA;
  --line-soft:#E0D2C4;
  --accent:#A84424;
  --accent-ink:#FFF8F1;
  --glow:#E0A040;
  --glow-deep:#9A6216;
  --night:#211713;
  --night-raised:#2A1D18;
  --night-ink:#F3EADF;
  --night-muted:#C2B1A5;
  --night-line:#594137;
  --photo-shadow:rgb(76 44 25 / .2);
  --contact-off-surface:#E7DDD1;
  --contact-off-line:#CAB8AA;
  --contact-off-ink:#6B5B52;
  --sans:"Familjen Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --display:var(--sans);
  --serif:var(--sans);
  --gutter:clamp(1.25rem,4.4vw,4.5rem);
  --ts-radius:0px;
  --pill:999px;
  --type-display:clamp(3rem,6.6vw,6.5rem);
  --type-page:clamp(2.5rem,4.8vw,4.75rem);
  --type-section:clamp(2rem,3.4vw,3.375rem);
  --type-subheading:clamp(1.25rem,1.55vw,1.5rem);
  --type-body:1.0625rem;
  --type-small:.9375rem;
  --type-caption:.8125rem;
  --ts-measure:62ch;
  --ease:cubic-bezier(.2,.7,.1,1);
  background:var(--plaster);
  color:var(--ink);
  font-family:var(--sans);
  font-size:var(--type-body);
  line-height:1.6;
  font-feature-settings:"ss01" 0;
}
@media (prefers-color-scheme:dark){
  body.teileter-studio{
    --plaster:#211713;--paper:#211713;--surface:#2A1D18;--surface-raised:#31231D;--surface-strong:#3C2A21;--tile:#F2ECE4;
    --ink:#F3EADF;--muted:#C2B1A5;--line:#594137;--line-soft:#443026;--accent:#E58B58;--accent-ink:#21140F;
    --night:#211713;--night-raised:#2A1D18;--night-line:#594137;--photo-shadow:rgb(0 0 0 / .38);
    --contact-off-surface:#2C211C;--contact-off-line:#594137;--contact-off-ink:#C2B1A5;
  }
}
body.teileter-studio ::selection{background:var(--glow);color:#1D1B18}
body.teileter-studio :focus-visible{outline:2px solid var(--glow);outline-offset:3px;border-radius:2px}

/* ---------- 2. 排版 ---------- */
body.teileter-studio :is(h1,h2,h3,h4),
body.teileter-studio .site-main :is(h1,h2,h3){font-family:var(--sans);font-weight:400;color:var(--ink);text-wrap:balance}
body.teileter-studio .site-main h1{font-size:var(--type-page);line-height:1;letter-spacing:-.035em;margin-bottom:1.5rem}
body.teileter-studio .site-main h2,
body.teileter-studio .contact-invitation h2{font-size:var(--type-section);line-height:1.04;letter-spacing:-.03em;margin-bottom:1.25rem}
body.teileter-studio .site-main h3{font-size:var(--type-subheading);line-height:1.25;letter-spacing:-.012em;font-weight:500;margin-bottom:.625rem}
body.teileter-studio p{color:var(--muted);line-height:1.6}
body.teileter-studio :is(.intro,.page-hero .intro){font-size:clamp(1.0625rem,1.25vw,1.25rem);line-height:1.55;color:var(--muted);max-width:52ch}
body.teileter-studio :is(.page-body>p,.article-copy>p,.editorial-copy p,.product-description>p,.faq-list p,.prose p,.seo-introduction p,.seo-support p){font-size:1.0625rem;line-height:1.7;max-width:var(--ts-measure)}
body.teileter-studio .small{font-size:var(--type-small);line-height:1.55}
/* 去掉模板味的小标签：大写字距、强调色眉标 */
body.teileter-studio :is(.eyebrow,.status-label,.mega-eyebrow,.product-model){font-size:var(--type-caption);font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
body.teileter-studio .hero-kicker{display:none!important}
body.teileter-studio :is(.button .arrow,.text-link>span[aria-hidden],.nav-contact>span[aria-hidden]){display:none}

/* ---------- 3. 按钮与链接 ---------- */
body.teileter-studio .button,
body.teileter-studio :is(.site-main,.contact-invitation) .button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;width:auto;padding:0 1.75rem;
  border:1px solid var(--accent);border-radius:var(--pill);background:var(--accent);color:var(--accent-ink);
  font:500 1rem/1 var(--sans);letter-spacing:0;text-transform:none;box-shadow:none;transform:none;
  transition:box-shadow .35s var(--ease),background-color .25s,color .25s,border-color .25s}
body.teileter-studio .button:is(:hover,:focus-visible),
body.teileter-studio :is(.site-main,.contact-invitation) .button:is(:hover,:focus-visible){
  background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:none;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--glow) 38%,transparent),0 0 28px 2px color-mix(in srgb,var(--glow) 30%,transparent)}
body.teileter-studio .button:active{transform:scale(.98)}
body.teileter-studio .button.outline,
body.teileter-studio :is(.site-main,.contact-invitation) .button.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
body.teileter-studio .button.outline:is(:hover,:focus-visible){background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
body.teileter-studio .text-link,
body.teileter-studio .site-main .text-link{
  display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
  color:var(--ink);font-weight:500;font-size:1rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em;
  text-decoration-color:color-mix(in srgb,var(--ink) 40%,transparent);transition:text-decoration-color .25s,text-decoration-thickness .25s}
body.teileter-studio .text-link:is(:hover,:focus-visible),
body.teileter-studio .site-main .text-link:is(:hover,:focus-visible){color:var(--ink);gap:.4rem;background:none;box-shadow:none;transform:none;text-decoration-color:var(--glow);text-decoration-thickness:2px}
body.teileter-studio .site-main a:not([class]){text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:.3em}

/* ---------- 4. 公告栏与页眉 ---------- */
body.teileter-studio .announcement{background:var(--night);color:var(--night-ink);border:0;min-height:36px;font-size:.8125rem}
body.teileter-studio .announcement-track p{color:var(--night-ink)}
body.teileter-studio .announcement-controls button{color:var(--night-muted);border-left-color:var(--night-line)}
body.teileter-studio .announcement-controls button:is(:hover,:focus-visible){color:var(--night-ink)}
body.teileter-studio .site-header,
body.teileter-studio:not(.home) .site-header,
body.home.teileter-studio .site-header{
  margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--plaster);box-shadow:none}
body.teileter-studio .site-header.is-scrolled{box-shadow:none;border-color:var(--line)}
body.teileter-studio .header-inner{min-height:72px}
body.teileter-studio .main-nav :is(.nav-label,.nav-item-topline>a){font-size:.9375rem;font-weight:500;letter-spacing:0;color:var(--ink)}
body.teileter-studio .main-nav .nav-label[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--glow);text-decoration-thickness:2px;text-underline-offset:.5em}
body.teileter-studio .nav-contact,
body.home.teileter-studio .site-header .nav-contact{
  gap:.5rem;min-height:42px;padding:0 1.25rem;border:1px solid var(--ink);border-radius:var(--pill);color:var(--ink);font-size:.9375rem;font-weight:500}
/* 页眉的悬停与键盘聚焦状态覆盖旧导航文字色，保证按钮文字可读。 */
body.teileter-studio .site-header .nav-contact:is(:hover,:focus-visible){background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
body.home.teileter-studio .site-header .menu-toggle,
body.teileter-studio .menu-toggle{color:var(--ink)}
body.teileter-studio .mega-menu,
body.teileter-studio .mega-menu-inner{background:var(--surface-raised);border-color:var(--line);border-radius:0;box-shadow:0 30px 60px -30px var(--photo-shadow)}
body.teileter-studio .mega-index a{font-size:1.125rem;letter-spacing:-.01em}
body.teileter-studio .mega-card figure,
body.teileter-studio .mega-card img{border-radius:0}
body.teileter-studio .mega-card span{font-size:.9375rem;font-weight:500}
@media (prefers-color-scheme:dark){
  body.teileter-studio .site-header .brand-wordmark{filter:brightness(0) invert(.92)}
}

/* ---------- 5. 首页首屏（保留轮播与入场动效，只改文字层） ---------- */
body.home.teileter-studio .hero-stage:after{background:linear-gradient(90deg,rgb(20 17 14 / .52) 0%,rgb(20 17 14 / .18) 46%,transparent 70%),linear-gradient(0deg,rgb(20 17 14 / .38) 0%,transparent 40%)}
body.home.teileter-studio .hero-stage .hero-copy h1{font-family:var(--sans);font-size:var(--type-display);font-weight:400;line-height:.94;letter-spacing:-.045em;max-width:11ch;color:#F6F5F1;margin-bottom:1.5rem}
body.home.teileter-studio .hero-stage .hero-copy>p{font-size:clamp(1.0625rem,1.2vw,1.25rem);line-height:1.5;max-width:40ch;color:rgb(246 245 241 / .86)}
body.home.teileter-studio .hero-stage .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;width:auto}
body.home.teileter-studio .hero-stage .hero-actions .button{width:auto;min-width:0;min-height:54px;padding:0 1.875rem;font-size:1rem;font-weight:500;letter-spacing:0;text-transform:none}
body.home.teileter-studio .hero-stage .hero-actions .hero-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
body.home.teileter-studio .hero-stage .hero-actions .hero-primary:is(:hover,:focus-visible){background:var(--accent);color:var(--accent-ink)}
body.home.teileter-studio .hero-stage .hero-actions .hero-secondary{min-height:44px;padding:0;border:0;border-radius:0;background:none;color:#F6F5F1;text-decoration:underline;text-decoration-color:rgb(246 245 241 / .5);text-underline-offset:.35em}
body.home.teileter-studio .hero-stage .hero-actions .hero-secondary:is(:hover,:focus-visible){background:none;box-shadow:none;text-decoration-color:var(--glow);text-decoration-thickness:2px}
body.home.teileter-studio .hero-video-toggle{border-radius:var(--pill);border-color:rgb(246 245 241 / .35);background:rgb(20 17 14 / .45);color:#F6F5F1;font-size:.8125rem;font-weight:500;letter-spacing:0;text-transform:none;padding:.5rem 1rem;min-height:36px}
body.home.teileter-studio .hero-video-toggle:is(:hover,:focus-visible){background:rgb(20 17 14 / .7);transform:none}

/* ---------- 6. 首页信息条 ---------- */
body.teileter-studio .proof-strip{background:var(--plaster);border-bottom:1px solid var(--line)}
body.teileter-studio .proof-grid>div{border-color:var(--line);gap:.25rem}
body.teileter-studio .proof-grid strong{font-size:1.0625rem;font-weight:500;color:var(--ink);letter-spacing:-.01em}
body.teileter-studio .proof-grid span{font-size:.9375rem;color:var(--muted);line-height:1.45}

/* ---------- 7. 产品卡片（保留悬停换房间图，去掉浮起和阴影） ---------- */
body.teileter-studio .product-image,
body.teileter-studio .product-card>a:is(:hover,:focus-visible) .product-image{border:0;border-radius:0;background:var(--tile);box-shadow:none}
body.teileter-studio .product-card>a,
body.teileter-studio .product-card>a:is(:hover,:focus-visible){transform:none}
body.teileter-studio .product-image img{background:var(--tile)}
body.teileter-studio .product-image-cue{border-radius:var(--pill);border:0;background:rgb(246 245 241 / .92);color:#1D1B18;font-size:.75rem;font-weight:500;letter-spacing:0;text-transform:none;backdrop-filter:none}
body.teileter-studio .product-meta{padding-top:.875rem;gap:1rem}
body.teileter-studio .product-meta h3,
body.teileter-studio .site-main .product-meta h3{font-family:var(--sans);font-size:1.0625rem;font-weight:500;line-height:1.3;letter-spacing:-.005em;margin:0 0 .25rem;color:var(--ink)}
body.teileter-studio .product-meta p{font-size:.875rem;color:var(--muted)}
body.teileter-studio .product-card-price,
body.home.teileter-studio .collection-section .product-card-price{font-size:1.0625rem;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
body.teileter-studio .product-card-status,
body.teileter-studio .site-main .catalog-grid .product-card-status,
body.home.teileter-studio .collection-section .product-card-status{display:inline-flex;align-items:center;gap:.45rem;margin-top:.375rem;color:var(--muted);font-size:.8125rem;font-weight:400;letter-spacing:0;text-transform:none}
body.teileter-studio .product-card-status:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--glow);box-shadow:0 0 0 3px color-mix(in srgb,var(--glow) 22%,transparent)}
body.teileter-studio .catalog-grid .product-meta{min-height:0}

/* ---------- 8. 首页各段 ---------- */
body.teileter-studio .section,
body.teileter-studio .he-section{padding-block:clamp(4.5rem,9vw,9rem)}
body.home.teileter-studio .collection-section .stacked-heading h2,
body.teileter-studio .he-heading h2{max-width:16ch}
body.teileter-studio .collection-art{opacity:.9}
body.home.teileter-studio .collection-note-viewport{background:transparent;border-block:1px solid var(--line)}
body.home.teileter-studio .collection-note-group span{color:var(--muted);font-size:.9375rem}
body.teileter-studio .collection-motion-toggle{border-radius:var(--pill)}
body.teileter-studio .he-material-photo img,
body.teileter-studio .he-journal-grid figure img,
body.teileter-studio .he-factory img,
body.teileter-studio .clarity-feature-media{border-radius:0}
body.teileter-studio .he-material-photo figcaption,
body.teileter-studio .he-caption{font-size:.8125rem;letter-spacing:0;text-transform:none;color:var(--muted)}
body.teileter-studio .he-material-rows a{border-color:var(--line)}
body.teileter-studio .he-material-rows a>span[aria-hidden],
body.teileter-studio .he-material-rows img{border-radius:0}
body.teileter-studio .he-step{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.875rem;font-weight:500}
body.teileter-studio .he-help-links .he-step{display:none}
body.teileter-studio .he-help-links>a{grid-template-columns:minmax(0,1fr)}
body.teileter-studio :is(.he-read-link,.he-option-link,.he-checklist a,.he-dimension-caption a){font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent);text-underline-offset:.35em}
body.teileter-studio :is(.he-read-link,.he-option-link,.he-checklist a,.he-dimension-caption a):is(:hover,:focus-visible){text-decoration-color:var(--glow);text-decoration-thickness:2px}
body.teileter-studio .clarity-rotator-toggle{border-radius:var(--pill);font-size:.75rem;letter-spacing:0;text-transform:none}
/* 套组优惠：数量是有意义的序列，保留 1/2/3+ */
.he-set-band,
body.teileter-studio .he-set-band{background:var(--surface);border-block:0}
body.teileter-studio .he-set-options>a{border-color:var(--line);border-radius:0;background:transparent;box-shadow:none}
body.teileter-studio .he-option-number{font-size:clamp(2.5rem,4vw,3.5rem);font-weight:400;letter-spacing:-.04em;color:var(--ink);font-family:var(--sans)}
body.teileter-studio .he-set-options strong{color:var(--ink);font-weight:500}
body.teileter-studio .he-set-options>a:is(:hover,:focus-visible) strong{color:var(--glow-deep)}

/* ---------- 9. 配送说明：去掉彩色竖线框 ---------- */
body.teileter-studio .shipping-statement{background:transparent;border-top:1px solid var(--line);border-radius:0;padding-inline:0}
body.teileter-studio .shipping-statement>:is(h2,h3){font-family:var(--sans);font-weight:400;letter-spacing:-.025em}
body.teileter-studio .shipping-routes>div{border:0;border-left:0;padding-left:0}
body.teileter-studio .shipping-routes dt{font-weight:500;color:var(--ink)}
body.teileter-studio .shipping-routes dt span{color:var(--muted);font-weight:400}
body.teileter-studio .shipping-statement-compact{border-top:1px solid var(--line);padding:1.25rem 0 0;margin:1.75rem 0}
body.teileter-studio .shipping-statement-compact>h3{font-size:1.125rem;font-weight:500;letter-spacing:-.01em}

/* ---------- 10. 页尾：暖沙色咨询区与米色页脚 ---------- */
body.teileter-studio .contact-invitation{background:var(--surface-strong);border:0;color:var(--ink)}
body.teileter-studio .contact-invitation h2{color:var(--ink);max-width:14ch}
body.teileter-studio .contact-invitation p,
body.teileter-studio .contact-invitation .cta p,
body.teileter-studio .contact-invitation .home-contact-checks li{color:var(--muted)}
body.teileter-studio .contact-invitation .button{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
body.teileter-studio .contact-invitation .button:is(:hover,:focus-visible){background:var(--accent);color:var(--accent-ink)}
body.teileter-studio .site-footer,
body.home.teileter-studio .site-footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
body.teileter-studio .site-footer :is(h2,h3,strong,.footer-brand-tagline){color:var(--ink)}
body.teileter-studio .site-footer :is(p,span,small,li){color:var(--muted)}
body.teileter-studio .site-footer a{color:var(--ink)}
body.teileter-studio .footer-col h2{font-family:var(--sans);font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}
body.teileter-studio .footer-col a{font-size:1rem}
body.teileter-studio .footer-col a:is(:hover,:focus-visible){text-decoration:underline;text-decoration-color:var(--glow);text-underline-offset:.35em}
/* 保留原图金、黑、白三色；仅深色背景的文字字标调整亮度。 */
body.teileter-studio .footer-brand :is(.brand-mark,.brand-wordmark){filter:none}
@media (prefers-color-scheme:dark){
  body.teileter-studio .footer-brand .brand-wordmark{filter:brightness(0) invert(.93)}
}
body.teileter-studio .footer-brand .brand-category{color:var(--ink)}
body.teileter-studio .footer-brand .footer-brand-tagline,
body.home.teileter-studio .footer-brand .footer-brand-tagline{font-family:var(--sans);font-size:1.5rem;letter-spacing:-.02em;font-weight:400}
body.teileter-studio .footer-contact-section{border-color:var(--line)}
body.teileter-studio .footer-contact-intro h2{font-family:var(--sans);font-weight:400;letter-spacing:-.025em}
body.teileter-studio .footer-contact-column :is(a, div).contact-channel{background:var(--surface-raised);border:1px solid var(--line);border-radius:0;box-shadow:none}
body.teileter-studio .footer-contact-column :is(a, div).contact-channel:is(:hover,:focus-visible){border-color:var(--glow);background:var(--surface-raised);transform:none}
body.teileter-studio .footer-contact-column :is(.contact-channel-title,.contact-channel-value){color:var(--ink)}
body.teileter-studio .footer-contact-column :is(.contact-channel-state,.contact-channel-action){color:var(--muted)}
body.teileter-studio .footer-bottom{border-color:var(--line);color:var(--muted)}

/* ---------- 11. 内页通用 ---------- */
body.teileter-studio .breadcrumb a{border-radius:0;text-decoration-color:color-mix(in srgb,var(--muted) 50%,transparent)}
body.teileter-studio .breadcrumb a:is(:hover,:focus-visible){color:var(--ink);background:none;text-decoration-color:var(--glow)}
body.teileter-studio .page-hero{border-color:var(--line)}
body.teileter-studio .faq-list details{border-color:var(--line)}
body.teileter-studio .faq-list summary{font-size:1.125rem;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
body.teileter-studio :is(.dispatch-care,.product-care,.project-prompt,.callout,.notice){border-radius:0;border-inline-start-width:1px;border-inline-start-color:var(--line);box-shadow:none}

/* ---------- 12. 商品详情页 ---------- */
body.teileter-studio .product-jump-nav a{font-size:.875rem;color:var(--muted)}
body.teileter-studio .product-jump-nav a:is(:hover,:focus-visible){color:var(--ink);border-bottom-color:var(--glow)}
body.teileter-studio .product-gallery-stage,
body.teileter-studio .product-gallery-main,
body.teileter-studio .product-gallery-thumbnail,
body.teileter-studio .product-gallery-thumbnail img{border-radius:0}
body.teileter-studio .product-gallery-stage{background:var(--tile);border:0;box-shadow:none}
body.teileter-studio .product-gallery-thumbnail{border-color:transparent;background:transparent}
body.teileter-studio .product-gallery-thumbnail.is-selected img{outline:1px solid var(--ink);outline-offset:3px}
body.teileter-studio .product-gallery-thumbnail span{font-size:.8125rem;color:var(--muted)}
body.teileter-studio .gallery-arrow{border-radius:var(--pill)}
body.teileter-studio .product-identity{border-color:var(--line);padding-bottom:1.5rem}
body.teileter-studio .product-identity h1,
body.teileter-studio .site-main .product-identity h1{font-size:clamp(2rem,3.1vw,3rem);line-height:1.02;letter-spacing:-.035em;margin:.25rem 0 1rem;max-width:16ch}
body.teileter-studio .product-identity .product-tagline{margin:0 0 1.25rem;font-size:1.125rem;line-height:1.45;color:var(--muted);max-width:36ch}
body.teileter-studio .product-price{font-size:1.75rem;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
body.teileter-studio .product-quick-facts span{border:0;border-radius:0;background:none;padding:0;min-height:0;font-size:.9375rem;color:var(--muted)}
body.teileter-studio .product-quick-facts{gap:.375rem 1.5rem;padding-block:1rem;border-bottom:1px solid var(--line)}
body.teileter-studio .product-benefits li{border:0;padding:0}
body.teileter-studio .product-benefits strong{font-weight:500;color:var(--ink)}
body.teileter-studio .product-offers legend{font-weight:500;font-size:1rem}
body.teileter-studio .product-offer-options label>span{border-radius:4px;border-color:var(--line);background:var(--surface-raised);box-shadow:none}
body.teileter-studio .product-offer-options input:checked+span{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
body.teileter-studio .product-offer-options small{color:var(--muted)}
body.teileter-studio .product-offer-total strong{font-weight:500}
body.teileter-studio .product-order-button,
body.teileter-studio .site-main .product-order-button{width:100%;min-height:56px;background:var(--ink);border-color:var(--ink);color:var(--accent-ink);font-size:1.0625rem}
body.teileter-studio .product-email-link,
body.teileter-studio .product-set-link{color:var(--ink);font-weight:500}
body.teileter-studio .product-room-grid img{border-radius:0}
body.teileter-studio .product-room-grid figcaption{font-size:.9375rem;color:var(--ink);font-weight:500}
body.teileter-studio .product-room-grid .room-setting-copy{display:block;font-weight:400;color:var(--muted)}
body.teileter-studio .image-zoom-trigger,
body.teileter-studio .image-zoom-hint{border-radius:var(--pill)}
body.teileter-studio .product-spec-groups h3{font-size:1rem;font-weight:500;letter-spacing:0;color:var(--ink)}
body.teileter-studio .product-spec-groups dt{font-size:.8125rem;color:var(--muted)}
body.teileter-studio .product-spec-groups dd{font-size:1rem;color:var(--ink)}
body.teileter-studio .product-making-story{background:var(--surface)}

/* ---------- 13. 系列页 ---------- */
body.teileter-studio :is(.collection-filters,.catalog-tabs,.category-links) :is(a,button){border-radius:var(--pill)}

/* ---------- 14. 窄屏 ---------- */
@media (max-width:700px){
  body.teileter-studio{--type-display:clamp(2.75rem,12.5vw,3.75rem);--type-section:clamp(1.875rem,8.4vw,2.5rem);--type-page:clamp(2.375rem,10vw,3rem)}
  body.teileter-studio .announcement{font-size:.75rem}
  body.teileter-studio .header-inner{min-height:64px}
  body.home.teileter-studio .hero-stage .hero-actions{gap:.75rem 1.5rem}
  body.home.teileter-studio .hero-stage .hero-actions .hero-primary{width:100%}
  body.teileter-studio .proof-grid>div{padding-inline:0}
}
@media (prefers-reduced-motion:reduce){
  body.teileter-studio .button{transition:none}
}

/* ---------- 15. 首页专用覆盖（首页公告栏和页眉原先是绝对/固定定位的浮动卡片） ---------- */
body.home.teileter-studio .announcement{background:var(--night);color:var(--night-ink);border-color:transparent;letter-spacing:0}
body.home.teileter-studio .site-header{left:0;right:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--plaster);box-shadow:none;color:var(--ink)}
body.home.teileter-studio .hero-stage .hero-actions .button{border-radius:var(--pill)}
body.home.teileter-studio .hero-stage .hero-actions .hero-secondary{border-radius:0}
body.home.teileter-studio .hero-stage .hero-copy h1{max-width:13ch}

/* 16. Product room story with three scenes (European / North American / Australian) */
body.teileter-studio .product-room-grid.has-three{grid-template-columns:minmax(0,6fr) minmax(0,5fr) minmax(0,4fr);gap:clamp(16px,2vw,28px)}
body.teileter-studio .product-room-grid.has-three figure:nth-child(2){margin-top:clamp(48px,7vw,112px)}
body.teileter-studio .product-room-grid.has-three figure:nth-child(3){margin-top:clamp(24px,3.5vw,56px)}
@media (max-width:1100px){
  body.teileter-studio .product-room-grid.has-three{grid-template-columns:1fr 1fr}
  body.teileter-studio .product-room-grid.has-three figure:nth-child(3){grid-column:1/-1;width:min(100%,66%);justify-self:end;margin-top:0}
}
@media (max-width:700px){
  body.teileter-studio .product-room-grid.has-three{grid-template-columns:1fr}
  body.teileter-studio .product-room-grid.has-three figure:nth-child(n){margin-top:0;width:100%}
}

/* 17. Product purchase column: one quiet link stack, aligned shipping routes, inline status dot */
body.teileter-studio .shipping-statement .shipping-routes>div{padding-left:0;border-left:0}
body.teileter-studio .shipping-statement .shipping-routes dd{margin-top:.25rem}
body.teileter-studio .product-purchase .product-contact-hours{display:block;margin-top:.875rem}
body.teileter-studio .product-purchase .product-contact-hours::before{display:inline-block;vertical-align:.15em;margin-right:.5rem}
body.teileter-studio .product-purchase :is(.product-email-link,.product-set-link,.product-trust-link a){display:flex;width:fit-content;justify-content:flex-start;align-items:center;min-height:44px;padding:0;margin:0;text-align:left;font-size:.9375rem;font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.35em;text-decoration-color:color-mix(in srgb,var(--ink) 35%,transparent)}
body.teileter-studio .product-purchase :is(.product-email-link,.product-set-link,.product-trust-link a):is(:hover,:focus-visible){text-decoration-color:var(--glow);text-decoration-thickness:2px}
body.teileter-studio .product-purchase .product-trust-link{margin:0}
body.teileter-studio .product-purchase .product-order-note{margin-top:.75rem}

/* 18. Photo heroes (collection, set builder): light type on the shaded photo */
body.teileter-studio .site-main :is(.collection-editorial-copy,.set-builder-hero-copy) h1{color:#F6F5F1;font-weight:400;line-height:.96;letter-spacing:-.04em;max-width:14ch}
body.teileter-studio .site-main :is(.collection-editorial-copy,.set-builder-hero-copy)>p{color:rgb(246 245 241 / .86)}
body.teileter-studio .collection-editorial-copy .breadcrumb :is(a,span){color:rgb(246 245 241 / .8);text-decoration-color:rgb(246 245 241 / .45)}

/* 19. Collection type switch: pill segmented control, current type filled */
body.teileter-studio .type-navigation{display:flex;flex-wrap:wrap;gap:.5rem}
body.teileter-studio .type-navigation a{border:1px solid var(--line);border-radius:var(--pill);background:transparent;color:var(--ink);font-size:.9375rem;font-weight:500;padding:0 1.125rem;box-shadow:none;white-space:nowrap;width:auto;flex:0 0 auto}
body.teileter-studio .type-navigation a:is(:hover,:focus-visible){border-color:var(--ink);background:transparent}
body.teileter-studio .type-navigation a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--accent-ink)}
body.teileter-studio .collection-keywords button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--glow)}

/* 20. 联系卡继承恢复后的暖色令牌，保留联系状态逻辑。 */
body.teileter-studio :is(.site-footer,.footer-contact-column,.contact-invitation){--contact-off-ink:var(--muted);--contact-off-surface:var(--surface);--contact-off-line:var(--line)}

/* 21. 首页咨询区与其他页面保持同一套暖色。 */
body.home.teileter-studio .contact-invitation{background:var(--surface-strong);color:var(--ink)}
body.home.teileter-studio .contact-invitation h2{color:var(--ink)}
body.home.teileter-studio .contact-invitation :is(p,li){color:var(--muted)}
body.home.teileter-studio .contact-invitation .button{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
body.home.teileter-studio .contact-invitation .button:is(:hover,:focus-visible){background:var(--accent);color:var(--accent-ink)}
body.home.teileter-studio .site-footer .footer-brand-tagline{color:var(--ink)}
/* 沙色咨询背景上的小字稍加深，保持足够的阅读对比度。 */
body.teileter-studio .contact-invitation{--muted:#5C4C43}
@media (prefers-color-scheme:dark){
  body.teileter-studio .contact-invitation{--muted:#C2B1A5}
}

/* 22. Factory map label stays inside the map on phones */
@media (max-width:700px){
  body.teileter-studio .factory-map-label{left:auto;right:1rem;max-width:calc(100% - 2rem);min-width:0;transform:translateY(-50%)}
}
body.teileter-studio .factory-map-label{border-radius:0;box-shadow:none}

/* 23. Slideshow pause control: same pill at every width */
body.home.teileter-studio .hero-stage .hero-video-toggle{border:1px solid rgb(246 245 241 / .35);border-radius:var(--pill);background:rgb(20 17 14 / .45);color:#F6F5F1;width:auto}

/* 24. Tablet: stop two-column definition lists from squeezing text into narrow columns */
@media (min-width:701px) and (max-width:1100px){
  body.teileter-studio .story-knowledge dl>div{grid-template-columns:minmax(0,1fr);gap:.375rem}
  body.teileter-studio.ts-page-contact .spec-list{grid-template-columns:minmax(0,1fr)}
}

/* 25. Journal list on tablets: fluid columns instead of fixed widths (was overflowing by ~95px) */
@media (min-width:701px) and (max-width:1100px){
  body.teileter-studio .journal-list{grid-template-columns:minmax(0,1fr)}
  body.teileter-studio .journal-entry{min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,2fr)}
}

/* 26. Desktop review fixes: square image corners on home, readable link size, left-aligned footer contact intro */
body.home.teileter-studio :is(.product-image,.product-image-swap,.he-material-photo,.clarity-feature-media){border-radius:0}
body.teileter-studio :is(.he-read-link,.he-option-link,.he-checklist a,.he-dimension-caption a,.he-heading a){font-size:.9375rem}
body.teileter-studio .site-footer .footer-contact-section .footer-contact-intro{text-align:left;margin-inline:0;max-width:none}
body.teileter-studio .site-footer .footer-contact-intro :is(h2,p){text-align:left}
body.teileter-studio .site-footer .footer-contact-intro .contact-availability{justify-items:start}

/* 27. Product gallery on desktop: vertical thumbnail strip beside the main image; sticky while the purchase column scrolls */
@media (min-width:1101px){
  body.teileter-studio .product-hero .product-gallery{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:start;align-self:start}
  body.teileter-studio .product-gallery .product-gallery-thumbnails{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:10px;max-height:100%;overflow:auto;scrollbar-width:none;margin:0;padding:0}
  body.teileter-studio .product-gallery .product-gallery-thumbnails::-webkit-scrollbar{display:none}
  body.teileter-studio .product-gallery .product-gallery-thumbnail{width:76px;min-width:0;flex:0 0 auto;padding:0}
  body.teileter-studio .product-gallery .product-gallery-thumbnail img{width:76px;height:76px;object-fit:cover}
  body.teileter-studio .product-gallery .product-gallery-thumbnail span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.teileter-studio .product-gallery .product-gallery-main{grid-column:2;grid-row:1}
  body.teileter-studio .product-gallery .product-visual-note{grid-column:1/-1;grid-row:2;margin-top:4px}
}
@media (min-width:1101px) and (min-height:860px){
  body.teileter-studio .product-hero .product-gallery{position:sticky;top:calc(77px + 1.5rem)}
}
/* 28. Room scenes always show the whole photograph, so no lamp is cut by the frame; card hover keeps the upper part where pendants hang */
body.teileter-studio .product-room-grid img{aspect-ratio:auto;height:auto;object-fit:contain}
body.teileter-studio .product-image-swap .product-image-room{object-position:50% 30%}
