@font-face { font-family:'Noto Sans Thai'; src:url('/assets/fonts/NotoSansThai-Regular.ttf') format('truetype'); font-style:normal; font-weight:400; font-display:swap; }
.catalog-entry { display:flex; justify-content:flex-end; margin:-6px 0 20px; }
.catalog-entry a { display:inline-flex; align-items:center; gap:18px; min-height:44px; padding:10px 18px; border:1px solid #b39573; border-radius:999px; background:#fffaf1; color:#4b2c20; font-size:14px; }
.catalog-site { background:#f7f3eb; color:#332820; font-family:Arial,'Noto Sans Thai',sans-serif; font-size:1rem; min-height:100vh; line-height:1.65; }
.catalog-wrap { width:min(1180px,100%); margin:auto; padding:0 32px; }
.catalog-site * { box-sizing:border-box; min-width:0; }
.catalog-site a { color:inherit; text-decoration:none; }
.catalog-site a:focus-visible,.catalog-site summary:focus-visible { outline:3px solid #9d6434; outline-offset:5px; }
.catalog-site p { margin:0 0 16px; }
.catalog-header { display:flex; justify-content:space-between; align-items:center; padding:24px 0; border-bottom:1px solid #d9cdbd; gap:20px; }
.catalog-brand { display:flex; align-items:center; gap:14px; font-family:Georgia,serif; font-size:24px; letter-spacing:.16em; line-height:1.3; }
.catalog-brand img { border-radius:50%; object-fit:contain; flex-shrink:0; }
.catalog-brand span span { display:block; font-family:Arial,sans-serif; font-size:9px; letter-spacing:.14em; margin-top:5px; }
.catalog-languages { display:grid; grid-template-columns:44px; grid-template-rows:repeat(2,44px); gap:4px; }
.catalog-languages a { display:grid; place-items:center; font-size:24px; border:1px solid transparent; border-radius:10px; }
.catalog-languages a[aria-current] { background:#e9dfcf; border-color:#b59a78; }
.catalog-breadcrumb { display:flex; gap:12px; flex-wrap:wrap; padding:22px 0; font-size:12px; color:#6a5b4a; }
.catalog-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.catalog-hero { padding:35px 0 44px; max-width:900px; }
.catalog-eyebrow,.catalog-kicker { font-size:11px; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:#72604c; }
.catalog-hero h1 { margin:0 0 24px; font-family:Arial,'Noto Sans Thai',sans-serif; font-size:clamp(2.25rem,4.8vw,3.75rem); font-weight:600; letter-spacing:-.02em; line-height:1.3; color:var(--gem-color,#3f3025); text-wrap:balance; }
.catalog-intro { max-width:720px; color:#665748; font-size:16px; }
.catalog-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; padding-bottom:36px; }
.catalog-card { display:flex; flex-direction:column; justify-content:space-between; gap:28px; min-height:245px; padding:24px 20px 20px; border:1px solid #dacdbd; border-top:3px solid var(--gem-color,#9a6429); border-radius:18px; background:#fffdf8; transition:transform .18s,border-color .18s; }
.catalog-card:hover { transform:translateY(-3px); border-color:var(--gem-color,#9a6429); }
.catalog-card-number { font-family:Georgia,serif; font-size:28px; color:var(--gem-color,#9a6429); opacity:.8; }
.catalog-card h2 { font-family:Georgia,'Noto Sans Thai',serif; font-weight:400; font-size:28px; line-height:1.25; margin:6px 0; color:var(--gem-color,#9a6429); }
.catalog-card .catalog-kicker { letter-spacing:0; margin:0; font-size:11px; }
.catalog-card-action { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:12px; line-height:1.5; }
.catalog-amber { background:#efe1ca; border-color:#bea078; }
.catalog-detail { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:24px; align-items:start; padding-bottom:32px; }
.catalog-panel { border:1px solid #d9cdbd; padding:28px; border-radius:20px; background:#fffdf8; }
.catalog-panel h2,.catalog-explanation h2 { font-family:Georgia,'Noto Sans Thai',serif; font-size:27px; font-weight:400; line-height:1.4; margin:0 0 18px; }
.catalog-panel p { color:#665748; }
.catalog-fields { margin:24px 0 0; }
.catalog-fields div { border-top:1px solid #e8dfd2; padding:16px 0; }
.catalog-fields div:last-child { padding-bottom:0; }
.catalog-fields dt { font-weight:600; font-size:14px; }
.catalog-fields dt span { font-size:11px; display:inline-block; margin-inline-end:12px; color:#8c7357; }
.catalog-fields dd { margin:6px 0 0; font-size:14px; color:#6a5a4b; }
.catalog-inquiry { background:#eee5d7; scroll-margin-top:20px; }
.catalog-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; padding:14px 20px; border-radius:12px; background:#473426; color:#fffaf2!important; font-size:14px; line-height:1.5; }
.catalog-inquiry .catalog-button { width:100%; margin:10px 0 14px; }
.catalog-hint { font-size:12px; }
.catalog-back { display:inline-flex; padding:12px 0; min-height:44px; font-size:14px; text-decoration:underline!important; text-underline-offset:4px; }
.catalog-explanation { padding:30px 0 40px; max-width:800px; color:#665748; }
.catalog-explanation details { font-size:14px; }
.catalog-explanation summary { cursor:pointer; padding:12px 0; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.catalog-explanation details p { margin:10px 0; }
.catalog-footer { border-top:1px solid #d9cdbd; display:flex; justify-content:space-between; gap:24px; padding:30px 0; font-size:12px; }
.catalog-footer nav { display:flex; flex-wrap:wrap; gap:4px 20px; align-items:start; }
.catalog-footer nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.catalog-skip { position:absolute; left:16px; top:-100px; background:white; padding:12px; z-index:100; }
.catalog-skip:focus { top:12px; }
@media(max-width:1000px) { .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .catalog-wrap { padding:0 18px; } .catalog-header { padding:18px 0; } .catalog-brand { font-size:20px; gap:10px; } .catalog-brand span span { font-size:8px; } .catalog-hero { padding:24px 0 30px; } .catalog-intro { font-size:15px; } .catalog-detail { grid-template-columns:1fr; gap:18px; } .catalog-panel { padding:22px; } .catalog-card { padding:18px 15px; min-height:225px; gap:20px; } .catalog-card h2 { font-size:24px; } .catalog-grid { gap:12px; } .catalog-footer { flex-direction:column; gap:4px; } }
@media(max-width:350px) { .catalog-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .catalog-card { transition:none; } .catalog-card:hover { transform:none; } }
/* Spinel content pilot: semantic controls and static, touch-friendly layouts. */
.spinel-pilot { display:grid; gap:24px; }
.spinel-pilot section { scroll-margin-top:20px; }
.spinel-section-nav { display:flex; flex-wrap:wrap; gap:8px; }
.spinel-section-nav a { display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid #d4c4af; border-radius:999px; font-size:13px; background:#fffdf8; }
.spinel-swatches { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; margin:24px 0 32px; list-style:none; padding:0; }
.spinel-swatches li { display:flex; align-items:center; gap:9px; font-size:13px; }
.spinel-swatches li span { width:26px; height:26px; border-radius:50%; flex-shrink:0; border:1px solid #0002; }
.spinel-pilot h3 { font-size:20px; font-weight:500; margin:24px 0 16px; }
.spinel-forms { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.spinel-forms article { padding:18px; border:1px solid #e5d8c9; border-radius:14px; background:#f8f2e9; }
.spinel-forms h4 { margin:0 0 8px; font-size:16px; }
.spinel-forms p { margin:0; font-size:14px; }
.spinel-basis-table { width:100%; border-collapse:collapse; table-layout:fixed; margin:22px 0; font-size:14px; }
.spinel-basis-table caption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.spinel-basis-table th,.spinel-basis-table td { padding:14px; text-align:start; border-bottom:1px solid #dccfbe; vertical-align:top; overflow-wrap:anywhere; }
.spinel-basis-table thead { background:#f0e7da; }
.spinel-basis-table th:first-child { width:20%; }
.spinel-basis-table th:nth-child(2) { width:30%; }
.spinel-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:22px 0; }
.spinel-wide { grid-column:1/-1; }
.spinel-form-grid label { display:block; font-size:14px; font-weight:600; }
.spinel-form-grid input,.spinel-form-grid select,.spinel-form-grid textarea,.spinel-preview textarea { display:block; width:100%; min-height:46px; margin-top:8px; padding:12px; border:1px solid #bda992; border-radius:10px; background:#fffefb; color:#332820; font:inherit; font-weight:400; }
.spinel-form-grid input:focus,.spinel-form-grid select:focus,.spinel-form-grid textarea:focus,.spinel-preview textarea:focus { outline:2px solid #9b5266; outline-offset:2px; }
.spinel-form-grid [aria-invalid=true] { border-color:#a52f34; }
.spinel-field-hint { display:block; font-size:12px; color:#715e4b; font-weight:400; margin-top:8px; }
.spinel-checkbox { display:flex; align-items:flex-start; gap:12px; font-size:14px; padding:10px 0; min-height:44px; margin-bottom:12px; }
.spinel-checkbox input { width:20px; height:20px; flex-shrink:0; margin-top:2px; accent-color:#754756; }
.spinel-builder button { cursor:pointer; }
.spinel-error { display:block; color:#962d34!important; font-size:13px; margin-top:8px; }
.spinel-preview { margin-top:28px; padding:22px; border:1px solid #b99e80; background:#f3ebdf; border-radius:14px; }
.spinel-preview textarea { font-size:13px; line-height:1.7; resize:vertical; }
.spinel-preview h3 { margin-top:0; }
.spinel-actions { display:flex; flex-wrap:wrap; gap:12px; margin:18px 0; }
.spinel-copy { min-height:48px; padding:12px 18px; border:1px solid #8a6a4c; border-radius:12px; background:#fffdf8; color:#473426; font-size:14px; }
.spinel-copy:focus-visible,.spinel-builder button:focus-visible { outline:3px solid #9d6434; outline-offset:4px; }
.spinel-faq details { border-top:1px solid #e1d3c1; }
.spinel-faq summary { cursor:pointer; padding:18px 0; font-weight:600; font-size:15px; min-height:44px; }
.spinel-faq details p { font-size:14px; max-width:820px; }
.spinel-sources { font-size:12px; color:#715e4b; padding:0 4px; }
.spinel-sources h2 { font-size:15px; margin-bottom:12px; }
.spinel-sources ul { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px 24px; }
.spinel-sources a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:900px) { .spinel-swatches { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:650px) { .spinel-form-grid,.spinel-forms { grid-template-columns:1fr; } .spinel-swatches { grid-template-columns:repeat(2,minmax(0,1fr)); } .spinel-basis-table { font-size:12px; } .spinel-basis-table th,.spinel-basis-table td { padding:10px 6px; } .spinel-preview { padding:16px; } .spinel-actions { flex-direction:column; } }
.spinel-fieldset { border:0; padding:0; margin:0; }
.spinel-fieldset:disabled { opacity:.65; }
.commercial-brief { min-width:0; margin:28px 0; padding-block:22px; border-block:1px solid #d9cbbd; }
.commercial-brief legend { padding-inline:0 12px; font-weight:600; }
.spinel-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.spinel-image { margin:0; border:1px solid #dacdbd; border-radius:20px; overflow:hidden; background:#f5ede1; }
.spinel-image img { display:block; width:100%; height:auto; }
.spinel-image figcaption { padding:14px 20px; font-size:12px; line-height:1.7; color:#665748; background:#fffdf8; }
.spinel-form-image { display:block; width:100%; height:240px; object-fit:contain; margin-bottom:12px; }
@media(max-width:650px) { .spinel-form-image { height:200px; } }
/* A scroll-directed editorial scene. The outer track must not clip the sticky stage. */
.spinel-scene { margin:0; position:relative; color:#fff5ea; --rough-x:22%; --rough-y:-4%; --rough-scale:1.16; --rough-rotate:-12deg; --rough-opacity:1; --cut-x:65%; --cut-y:24%; --cut-scale:.45; --cut-rotate:20deg; --cut-opacity:0; --copy-rough:1; --copy-cut:0; --copy-pair:0; --scene-progress:0; --word-scale:1; --word-y:-10%; --warm-glow:0; }
.spinel-scene-stage { position:relative; isolation:isolate; overflow:hidden; border-radius:24px; background:radial-gradient(ellipse at 78% 22%,var(--gem-deep,#321924),#17121b 62%,#100e13); min-height:620px; }
.spinel-scene-glow { position:absolute; inset:0; background:radial-gradient(ellipse at 30% 50%,#79504466,transparent 65%); opacity:var(--warm-glow); pointer-events:none; }
.spinel-scene-word { position:absolute; top:38%; left:0; width:100%; margin:0!important; text-align:center; font:600 clamp(80px,16vw,205px)/1 Arial,sans-serif; letter-spacing:-.07em; color:#ffffff0c; user-select:none; }
.spinel-scene-top { position:absolute; z-index:4; inset:28px 32px auto; display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:.8125rem; letter-spacing:.08em; color:#f0dcd3; }
.spinel-scene-top a { letter-spacing:0; font-size:12px; border:1px solid #a48b7b66; border-radius:99px; padding:10px 18px; min-height:44px; background:#1c1418aa; }
.spinel-scene-top a span { margin-left:14px; }
.spinel-scene-stone { position:absolute; width:min(50%,520px); top:30%; left:25%; pointer-events:none; }
.spinel-scene-stone img { display:block; width:100%; height:auto; filter:drop-shadow(0 30px 24px #0006); }
.spinel-scene-rough { transform:translate(-38%,12%) scale(.76); }
.spinel-scene-cut { transform:translate(38%,12%) scale(.76); }
.spinel-scene-copy { display:none; position:absolute; z-index:2; top:29%; width:37%; pointer-events:none; }
.spinel-scene-copy>span { font-size:.875rem; letter-spacing:.08em; color:#ead7d0; }
.spinel-scene-copy h2 { font-family:Arial,'Noto Sans Thai',sans-serif; font-size:clamp(2.125rem,4vw,3.5rem); line-height:1.3; font-weight:600; letter-spacing:-.025em; margin:22px 0; text-wrap:balance; }
.spinel-scene-copy h2 em { font-style:normal; color:var(--gem-light,#efbfd1); }
.spinel-scene-copy p { max-width:320px; font-size:1.0625rem; line-height:1.75; color:#f0dfd9; }
.spinel-copy-rough { left:6%; opacity:var(--copy-rough); }
.spinel-copy-cut { right:5%; opacity:var(--copy-cut); }
.spinel-copy-pair { left:12%; width:76%; text-align:center; top:12%; opacity:var(--copy-pair); }
.spinel-copy-pair h2 { font-size:clamp(1.875rem,3.4vw,2.75rem); margin:12px 0; }
.spinel-static-heading { padding:100px 32px 0; text-align:center; position:relative; }
.spinel-static-heading h2 { margin:0 0 12px; font-size:clamp(26px,4vw,42px); line-height:1.3; }
.spinel-static-heading p { color:#d8c1b9; font-size:14px; }
.spinel-scene-bottom { position:absolute; bottom:20px; left:32px; right:32px; z-index:5; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:.875rem; color:#eadbd5; }
.spinel-scene-controls { display:flex; align-items:center; gap:22px; }
.spinel-scroll-cue { font-size:.875rem; }
.spinel-scene button { min-height:44px; padding:8px 16px; border:1px solid #9e827777; border-radius:99px; background:#251b20; color:#f5e8e0; cursor:pointer; font-size:.875rem; }
.spinel-scene a:focus-visible,.spinel-scene button:focus-visible { outline:3px solid #e5b0bd; outline-offset:4px; }
.spinel-scene-progress { position:absolute; bottom:0; left:0; width:100%; height:2px; background:#d8a6af; transform:scaleX(var(--scene-progress)); transform-origin:left; }
@media(min-width:768px) and (min-height:600px) and (prefers-reduced-motion:no-preference) {
 .spinel-scene:not([data-motion=static]) { height:260svh; }
 .spinel-scene:not([data-motion=static]) .spinel-scene-stage { position:sticky; top:0; height:100svh; min-height:0; max-height:100svh; border-radius:20px; }
 .spinel-scene:not([data-motion=static]) .spinel-scene-copy { display:block; }
 .spinel-scene:not([data-motion=static]) .spinel-static-heading { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); padding:0; }
 .spinel-scene:not([data-motion=static]) .spinel-scene-stone { top:26%; width:min(58%,70svh); left:23%; }
 .spinel-scene:not([data-motion=static]) .spinel-scene-rough { transform:translate3d(var(--rough-x),var(--rough-y),0) scale(var(--rough-scale)) rotate(var(--rough-rotate)); opacity:var(--rough-opacity); }
 .spinel-scene:not([data-motion=static]) .spinel-scene-cut { transform:translate3d(var(--cut-x),var(--cut-y),0) scale(var(--cut-scale)) rotate(var(--cut-rotate)); opacity:var(--cut-opacity); }
 .spinel-scene:not([data-motion=static]) .spinel-scene-word { transform:translateY(var(--word-y)) scale(var(--word-scale)); }
}
@media(max-width:767px) {
 .spinel-scene-stage { min-height:520px; border-radius:18px; }
 .spinel-scene-top { inset:20px 18px auto; font-size:.75rem; letter-spacing:.04em; }
 .spinel-scene-top a { font-size:.875rem; padding:8px 12px; }
 .spinel-static-heading { padding:105px 20px 0; }
 .spinel-scene-stone { width:68%; top:40%; left:16%; }
 .spinel-scene-rough { transform:translate(-28%,0) scale(.73); }
 .spinel-scene-cut { transform:translate(32%,8%) scale(.7); }
 .spinel-scene-bottom { left:20px; right:20px; bottom:24px; }
}
@media print { .spinel-scene { height:auto!important; } .spinel-scene-stage { position:relative!important; height:620px!important; } .spinel-scene-copy,.spinel-scene-controls,.spinel-scene-top { display:none!important; } .spinel-static-heading { position:relative!important; width:auto!important; height:auto!important; clip-path:none!important; padding:50px 20px!important; } .spinel-scene-stone { opacity:1!important; } .spinel-scene-rough { transform:translate(-38%,12%) scale(.76)!important; } .spinel-scene-cut { transform:translate(38%,12%) scale(.76)!important; } }
/* Keep horizontal containment without creating an ancestor scroll container for sticky. */
@supports (overflow:clip) { html:has(.catalog-site),body:has(.catalog-site) { overflow-x:clip; } }

/* Shared gemstone visual language: decorative depth outside quiet, readable content surfaces. */
.catalog-site { position:relative; isolation:isolate; background:linear-gradient(145deg,#faf6f0,#f4f0f6 48%,#f5f2e9); --gem-text:#332b2b; --gem-muted:#5b5053; color:var(--gem-text); }
.catalog-wrap { position:relative; z-index:1; }
.gem-atmosphere { position:absolute; inset:0 0 auto; height:min(1400px,100%); overflow:hidden; pointer-events:none; z-index:0; color:var(--gem-haze,#c59bb5); }
.gem-haze { position:absolute; width:650px; height:570px; max-width:90%; border-radius:45% 55% 65% 35%; filter:blur(60px); background:radial-gradient(ellipse,var(--gem-haze,#c59bb5),transparent 70%); opacity:.55; }
.gem-haze-primary { right:-9%; top:-180px; transform:rotate(-25deg); }
.gem-haze-secondary { left:-15%; top:530px; background:radial-gradient(ellipse,var(--gem-secondary,#a6b7db),transparent 68%); transform:rotate(30deg); opacity:.4; }
.gem-facet { position:absolute; width:540px; max-width:70%; height:auto; }
.gem-facet-0 { right:-4%; top:160px; transform:rotate(18deg); opacity:.5; filter:blur(2px); }
.gem-facet-1 { left:-17%; top:650px; transform:rotate(-30deg) scale(1.3); opacity:.23; filter:blur(12px); }
.catalog-hero { position:relative; max-width:850px; padding:40px 0 48px; }
.catalog-hero .catalog-intro { font-size:1.0625rem; line-height:1.8; max-width:680px; color:var(--gem-muted); }
.catalog-eyebrow,.catalog-kicker { font-size:.8125rem; letter-spacing:.06em; color:var(--gem-muted); }
.catalog-breadcrumb,.catalog-footer,.catalog-hint,.catalog-field-hint { font-size:.875rem; color:var(--gem-muted); }
.catalog-breadcrumb a { min-height:32px; display:inline-flex; align-items:center; }
.catalog-brand span span { font-size:.625rem; }
.catalog-panel { background:#fffdf9; border-color:#d9ced3; box-shadow:0 10px 40px #30203005; }
.catalog-panel h2,.catalog-explanation h2 { font-family:Arial,'Noto Sans Thai',sans-serif; font-size:clamp(1.5rem,2.5vw,1.875rem); line-height:1.45; font-weight:600; }
.catalog-panel p,.catalog-fields dd,.catalog-explanation { color:var(--gem-muted); }
.catalog-fields dt,.catalog-fields dd,.catalog-explanation details { font-size:1rem; }
.catalog-fields dt span { font-size:.8125rem; color:var(--gem-muted); }
.catalog-button { font-size:1rem; background:var(--gem-color,#874459); }
.catalog-back { font-size:1rem; }
.catalog-inquiry { background:linear-gradient(155deg,#fffdf9 50%,#f3edf3); border-top:3px solid var(--gem-color); }
.catalog-card { position:relative; isolation:isolate; overflow:hidden; background:#fffdf9; border-color:#ddd2d5; border-top-color:var(--gem-color); gap:24px; }
.catalog-card::before { content:''; position:absolute; z-index:-1; width:190px; height:190px; right:-60px; top:-80px; border-radius:50%; background:var(--gem-haze); filter:blur(36px); opacity:.42; }
.catalog-card::after { content:''; position:absolute; z-index:-1; right:-20px; top:10px; width:120px; height:140px; clip-path:polygon(40% 0,85% 20%,100% 60%,55% 100%,0 70%,10% 25%); background:linear-gradient(140deg,transparent,var(--gem-haze)); opacity:.16; transform:rotate(20deg); }
.catalog-card .catalog-kicker { font-size:.8125rem; }
.catalog-card h2 { font-family:Arial,'Noto Sans Thai',sans-serif; font-size:clamp(1.4rem,2vw,1.75rem); line-height:1.4; font-weight:600; }
.catalog-card-action { font-size:.875rem; }
.catalog-card-number { color:var(--gem-color); opacity:1; }
.catalog-amber { background:#fff8ec; }
.spinel-section-nav a,.spinel-swatches li,.spinel-forms p,.spinel-faq details p { font-size:1rem; }
.spinel-basis-table { font-size:1rem; }
.spinel-form-grid label,.spinel-checkbox { font-size:1rem; }
.spinel-form-grid input,.spinel-form-grid select,.spinel-form-grid textarea,.spinel-preview textarea { font-size:1rem; }
.spinel-field-hint,.spinel-error,.spinel-sources,.spinel-copy { font-size:.875rem; }
.spinel-field-hint,.spinel-sources { color:var(--gem-muted); }
.spinel-faq summary { font-size:1.0625rem; }
.spinel-forms article { background:radial-gradient(ellipse at 100% 0,#f0e1e9,transparent 65%),#fbf7f3; }
.spinel-forms h4 { font-size:1.125rem; }
/* Scene uses the same atmosphere; foreground objects and copy stay unblurred. */
.gem-atmosphere-scene { inset:0; height:100%; z-index:-1; background:linear-gradient(115deg,#110e17b3,transparent 65%); }
.gem-atmosphere-scene .gem-haze-primary { top:-10%; right:-5%; width:85%; height:85%; opacity:.32; filter:blur(48px); }
.gem-atmosphere-scene .gem-haze-secondary { top:52%; left:-12%; width:75%; height:70%; opacity:.24; filter:blur(56px); }
.gem-atmosphere-scene .gem-facet-0 { width:80%; max-width:85%; top:-25%; right:-20%; opacity:.28; filter:blur(7px); }
.gem-atmosphere-scene .gem-facet-1 { width:75%; max-width:80%; left:-23%; top:46%; opacity:.25; filter:blur(18px); }
.spinel-scene-glow { z-index:-1; opacity:calc(.15 + var(--warm-glow)*.35); }
.spinel-scene-copy { text-shadow:0 2px 20px #100e1380; }
.spinel-scene-top a { font-size:.875rem; }
.spinel-static-heading p { font-size:1rem; }
.spinel-scene-top,.spinel-scene-bottom { gap:16px; }
.spinel-scene-bottom { background:#16121bd9; padding:10px 14px; border:1px solid #e8c9dc22; border-radius:16px; bottom:14px; left:20px; right:20px; }
:lang(th) .catalog-hero h1,:lang(th) .spinel-scene-copy h2 { letter-spacing:0; line-height:1.4; }
:lang(th) .catalog-eyebrow,:lang(th) .spinel-scene-copy>span { letter-spacing:.02em; }
@media(max-width:767px) {
 .gem-haze { filter:blur(35px); opacity:.35; }
 .gem-facet-0 { top:220px; opacity:.25; }
 .gem-atmosphere-scene .gem-facet-0 { top:-10%; }
 .catalog-hero .catalog-intro { font-size:1rem; }
 .catalog-card .catalog-kicker { font-size:.75rem; }
 .spinel-scene-top { flex-wrap:wrap; }
 .spinel-scene-bottom { font-size:.8125rem; padding:12px; }
 .spinel-scene-stage { min-height:560px; }
 .spinel-static-heading { padding-top:110px; }
 .spinel-basis-table { font-size:.875rem; }
}
@media(forced-colors:active) { .gem-atmosphere,.catalog-card::before,.catalog-card::after,.spinel-scene-word { display:none; } .catalog-panel,.catalog-card,.spinel-scene-stage { border:1px solid CanvasText; } }
@media print { .gem-atmosphere,.catalog-card::before,.catalog-card::after { display:none; } }
/* Family-specific photographic compositions: sharp foreground, oversized soft echoes. */
.gem-atmosphere { height:min(1800px,100%); }
.gem-photo { position:absolute; display:block; object-fit:contain; width:1000px; max-width:none; height:auto; opacity:.15; filter:blur(12px); user-select:none; }
.gem-photo-right { top:-80px; right:-350px; transform:rotate(var(--back-angle,-17deg)) scale(1.1); }
.gem-photo-left { top:620px; left:-470px; transform:rotate(24deg) scale(1.2); opacity:.12; filter:blur(20px); }
.gem-atmosphere-scene .gem-photo-right { top:-15%; right:-38%; width:125%; opacity:.2; filter:blur(20px); }
.gem-atmosphere-scene .gem-photo-left { top:35%; left:-50%; width:120%; opacity:.18; filter:blur(30px); }
[data-gem-theme=sapphire],[data-gem-card=sapphire] { --art-angle:-8deg; --back-angle:22deg; --art-shift:-18px; }
[data-gem-theme=ruby],[data-gem-card=ruby] { --art-angle:8deg; --back-angle:-32deg; --art-shift:24px; }
[data-gem-theme=jadeite],[data-gem-card=jadeite] { --art-angle:-4deg; --back-angle:38deg; --art-shift:18px; }
[data-gem-theme=garnet],[data-gem-card=garnet] { --art-angle:11deg; --back-angle:-24deg; --art-shift:-12px; }
[data-gem-theme=peridot],[data-gem-card=peridot] { --art-angle:-10deg; --back-angle:16deg; --art-shift:22px; }
[data-gem-theme=quartz],[data-gem-card=quartz] { --art-angle:5deg; --back-angle:-38deg; --art-shift:-16px; }
.catalog-hero[data-family] { display:grid; grid-template-columns:44% 56%; align-items:center; max-width:none; min-height:620px; padding:30px 0 65px; }
.catalog-hero-copy { position:relative; z-index:3; }
.catalog-hero[data-family] .catalog-hero-copy { padding:22px 18px 22px 0; }
.catalog-hero[data-family] .catalog-intro { max-width:420px; }
.catalog-hero[data-family] h1 { font-size:clamp(2.75rem,5.8vw,4.75rem); margin:12px 0 22px; }
.gem-hero-artwork { position:relative; isolation:isolate; width:calc(100% + 150px); margin:0 0 0 -35px; min-height:510px; display:flex; align-items:center; }
.gem-artwork-halo { position:absolute; z-index:-1; inset:12% 4%; border-radius:50%; background:radial-gradient(ellipse,var(--gem-haze),transparent 67%); opacity:.5; filter:blur(28px); }
.gem-hero-primary { display:block; width:100%; height:auto; max-height:610px; object-fit:contain; transform:translateY(var(--art-shift,0px)) rotate(var(--art-angle,-6deg)); filter:drop-shadow(0 35px 24px #23152716); }
.gem-editorial-word { position:absolute; z-index:-1; top:4%; left:-10%; color:var(--gem-color); opacity:.075; font-size:clamp(50px,8vw,110px); font-weight:700; letter-spacing:-.06em; user-select:none; }
.gem-hero-artwork figcaption { position:absolute; bottom:0; right:16%; color:var(--gem-muted); font-size:.8125rem; letter-spacing:.04em; padding:8px 14px; background:#fffdf9cf; border-radius:99px; }
.gem-hero-secondary { position:absolute; width:72%; left:-12%; top:3%; transform:rotate(-16deg); }
.gem-hero-pair .gem-hero-primary { width:70%; margin-left:30%; margin-top:110px; transform:rotate(11deg); }
.catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.catalog-card { padding:20px 22px 24px; min-height:390px; gap:12px; border-top-width:1px; }
.catalog-card-number { position:absolute; left:22px; top:16px; font-size:22px; z-index:2; }
.catalog-card-image { display:block; width:calc(100% + 40px); max-width:none; height:225px; object-fit:contain; margin:0 -20px 6px; transform:rotate(var(--art-angle,0deg)); transition:transform .35s ease; }
.catalog-card:hover .catalog-card-image { transform:rotate(0deg) scale(1.06); }
.catalog-card::before { width:300px; height:280px; top:-60px; right:-60px; opacity:.5; }
.catalog-card::after { display:none; }
.catalog-card h2 { margin:6px 0 12px; }
.catalog-card-action { border-top:1px solid #d9ced366; padding-top:12px; }
.catalog-editorial-detail { grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:30px; }
.catalog-editorial-detail>.catalog-panel:first-child { background:#fffdf9e8; }
.catalog-editorial-detail .catalog-fields { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.catalog-editorial-detail .catalog-fields div { padding:18px 0 0; }
.catalog-editorial-detail .catalog-fields dt span { display:block; font:24px Georgia,serif; color:var(--gem-color); margin-bottom:8px; }
.catalog-editorial-detail .catalog-inquiry { position:sticky; top:24px; border-radius:26px; box-shadow:0 18px 40px #30203008; }
@media(max-width:1000px) { .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalog-hero[data-family] { min-height:550px; } .gem-hero-artwork { min-height:440px; width:calc(100% + 100px); } .catalog-editorial-detail { grid-template-columns:1.3fr 1fr; } .catalog-editorial-detail .catalog-fields { grid-template-columns:1fr; } }
@media(max-width:767px) {
 .catalog-hero[data-family] { grid-template-columns:1fr; min-height:0; padding:15px 0 45px; }
 .catalog-hero[data-family] .catalog-hero-copy { padding:5px 0 10px; }
 .catalog-hero[data-family] .catalog-intro { max-width:100%; }
 .catalog-hero[data-family] h1 { font-size:clamp(2.4rem,10vw,3.4rem); }
 .gem-hero-artwork { width:calc(100% + 40px); margin:10px -20px 0; min-height:320px; padding-bottom:28px; }
 .gem-hero-primary { max-height:420px; }
 .gem-hero-artwork figcaption { right:10%; bottom:-8px; }
 .gem-editorial-word { top:4%; left:5%; font-size:15vw; }
 .gem-hero-secondary { left:0; width:62%; }
 .gem-hero-pair .gem-hero-primary { width:62%; margin-left:38%; margin-top:45px; }
 .gem-photo { width:720px; opacity:.1; filter:blur(16px); }
 .gem-photo-right { right:-420px; top:180px; }
 .gem-photo-left { left:-460px; top:780px; }
 .catalog-grid { gap:14px; }
 .catalog-card { padding:16px; min-height:310px; }
 .catalog-card-image { height:180px; }
 .catalog-card-number { top:12px; left:14px; font-size:18px; }
 .catalog-editorial-detail { grid-template-columns:1fr; gap:20px; }
 .catalog-editorial-detail .catalog-inquiry { position:relative; top:auto; }
}
@media(max-width:430px) { .catalog-grid { grid-template-columns:1fr; } .catalog-card { min-height:0; } .catalog-card-image { height:240px; } }
@media(prefers-reduced-motion:reduce) { .catalog-card-image { transition:none; } .catalog-card:hover .catalog-card-image { transform:rotate(var(--art-angle,0deg)); } }
@media(forced-colors:active) { .gem-editorial-word,.gem-artwork-halo { display:none; } }
@media print { .gem-hero-artwork { width:100%; margin:0; min-height:0; } .gem-hero-primary { max-height:300px; } .catalog-editorial-detail .catalog-inquiry { position:relative; top:auto; } }
/* Buyer guides: compact editorial sections, with optional detail on demand. */
.catalog-card-summary { font-size:.9375rem; line-height:1.65; color:var(--gem-muted); margin:0 0 12px; }
.gem-selection { background:linear-gradient(120deg,#fffdf9 35%,color-mix(in srgb,var(--gem-haze) 20%,#fffdf9)); }
.gem-options { display:flex; flex-wrap:wrap; list-style:none; gap:12px; padding:0; margin:26px 0; }
.gem-options li { display:flex; align-items:center; gap:12px; padding:12px 16px; background:#fffdf9e8; border:1px solid #d9ced3; border-radius:14px; font-size:1rem; }
.gem-options li>span:first-child { flex:none; width:30px; height:30px; border-radius:50%; box-shadow:inset 0 0 0 1px #332b2b30; }
.gem-buying-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.gem-detail .catalog-panel { min-width:0; }
.gem-detail h3 { font-size:1.125rem; line-height:1.6; margin:24px 0 8px; }
.gem-detail details summary { min-height:44px; padding:14px 0; cursor:pointer; font-size:1rem; line-height:1.7; color:var(--gem-color); }
.gem-detail details p { font-size:1rem; }
.gem-detail details summary:focus-visible { outline:2px solid var(--gem-color); outline-offset:4px; border-radius:6px; }
.gem-basis-table { table-layout:fixed; font-size:.9375rem; }
.gem-basis-table th,.gem-basis-table td { overflow-wrap:anywhere; }
.gem-basis-table th:first-child { width:34%; }
.gem-detail .spinel-builder { border-top:3px solid var(--gem-color); }
.gem-detail .spinel-form-grid input:focus,.gem-detail .spinel-form-grid select:focus,.gem-detail .spinel-form-grid textarea:focus { outline-color:var(--gem-color); }
@media(max-width:900px) { .gem-buying-grid { grid-template-columns:1fr; } }
@media(max-width:650px) { .gem-options { gap:8px; } .gem-options li { padding:10px 12px; } .gem-basis-table { font-size:.9375rem; } .gem-detail .spinel-actions>a,.gem-detail .spinel-actions>button { max-width:100%; white-space:normal; } }
/* Oversized display typography requested for collections; amber is outside this scope. */
.catalog-site .catalog-hero h1 { font-size:clamp(3.5rem,7vw,6rem); line-height:1.12; letter-spacing:-.05em; }
.catalog-site .catalog-hero[data-family] h1 { width:max-content; max-width:min(85vw,960px); font-size:clamp(4.5rem,10vw,8.5rem); line-height:1.08; letter-spacing:-.055em; overflow-wrap:anywhere; margin:14px 0 28px; }
.catalog-site:lang(th) .catalog-hero h1 { line-height:1.3; letter-spacing:-.025em; }
.catalog-site:lang(th) .catalog-hero[data-family] h1 { font-size:clamp(4rem,8.8vw,7.5rem); }
.catalog-site .gem-editorial-word { font-size:clamp(100px,15vw,210px); left:-24%; top:-8%; line-height:1; opacity:.065; }
.catalog-site .spinel-scene-word { font-size:clamp(160px,24vw,320px); }
.catalog-site .spinel-scene-copy h2 { font-size:clamp(2.75rem,5.5vw,4.75rem); line-height:1.12; letter-spacing:-.045em; margin:16px 0; }
.catalog-site .spinel-copy-pair h2 { font-size:clamp(2.75rem,5.2vw,4.5rem); }
.catalog-site:lang(th) .spinel-scene-copy h2 { line-height:1.3; letter-spacing:-.025em; }
.catalog-site .spinel-static-heading h2 { font-size:clamp(2.75rem,6vw,4.5rem); line-height:1.2; }
@media(max-width:767px) {
 .catalog-site .catalog-hero h1 { font-size:clamp(2.75rem,9.5vw,4.5rem); }
 .catalog-site .catalog-hero[data-family] h1 { max-width:100%; font-size:clamp(3.5rem,16vw,5.5rem); margin:12px 0 24px; }
 .catalog-site:lang(th) .catalog-hero[data-family] h1 { font-size:clamp(3rem,12.5vw,4.75rem); }
 .catalog-site .gem-editorial-word { font-size:24vw; left:-8%; top:0; }
 .catalog-site .spinel-scene-word { font-size:30vw; }
 .catalog-site .spinel-static-heading h2 { font-size:clamp(2.5rem,8vw,3.5rem); }
 .catalog-site .spinel-scene-stage { min-height:640px; }
 .catalog-site .spinel-scene-stone { top:47%; }
}
@media print { .catalog-site .catalog-hero[data-family] h1 { max-width:100%; font-size:44pt; } .catalog-site .gem-editorial-word { display:none; } }
/* Raw specimen choices: a shared WebP atlas per family, with room for 20% hover scale. */
.gem-raw-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(128px,1fr)); gap:12px; padding:0; margin:24px 0; list-style:none; }
.gem-raw-option { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:12px; width:100%; max-width:220px; height:100%; min-height:170px; padding:14px 10px; border:1px solid transparent; border-radius:18px; background:transparent; color:var(--gem-text); font:inherit; cursor:pointer; }
.gem-raw-crop { position:relative; display:block; flex:none; width:112px; max-width:100%; aspect-ratio:1; overflow:hidden; transition:transform 180ms ease; transform:scale(1); pointer-events:none; }
.gem-raw-crop img { position:absolute; display:block; max-width:none; object-fit:fill; }
.gem-raw-label { display:block; font-size:.9375rem; line-height:1.6; text-align:center; }
.gem-raw-selected { position:absolute; inset:8px 8px auto auto; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--gem-color); color:#fff; font-size:14px; opacity:0; }
.gem-raw-option[aria-pressed=true] { border-color:var(--gem-color); background:color-mix(in srgb,var(--gem-haze) 15%,#fffdf9); }
.gem-raw-option[aria-pressed=true] .gem-raw-selected { opacity:1; }
.gem-raw-option[aria-pressed=true] .gem-raw-crop { transform:scale(.9); }
.gem-raw-option:focus-visible { outline:3px solid var(--gem-color); outline-offset:3px; }
@media(hover:hover) and (pointer:fine) { .gem-raw-option:not(:disabled):not([aria-pressed=true]):hover .gem-raw-crop { transform:scale(1.2); } }
.gem-raw-option:not(:disabled):active .gem-raw-crop { transform:scale(.9); }
@media(max-width:650px) { .gem-raw-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .gem-raw-option { padding:12px 8px; min-height:160px; } .gem-raw-crop { width:100px; } }
@media(prefers-reduced-motion:reduce) { .gem-raw-crop { transition:none; } }
@media(forced-colors:active) { .gem-raw-option { border:1px solid ButtonText; } .gem-raw-option[aria-pressed=true] { outline:2px solid Highlight; } }

/* Ten-language catalog: equal flag rows, natural script spacing, and RTL reading order. */
.catalog-languages { grid-template-columns:repeat(5,44px); grid-template-rows:repeat(2,44px); direction:ltr; flex:none; }
.catalog-languages a:focus-visible { outline:2px solid var(--gem-color); outline-offset:2px; }
.catalog-site :is(input,select,textarea) { min-width:0; }
.catalog-site :is(h1,h2,h3,a,button,label) { overflow-wrap:anywhere; }
.catalog-site:lang(ar) :is(h1,h2,h3,.catalog-eyebrow,.spinel-scene-top,.spinel-scene-copy>span),
.catalog-site:lang(hi) :is(h1,h2,h3,.catalog-eyebrow,.spinel-scene-top,.spinel-scene-copy>span),
.catalog-site:lang(zh) :is(h1,h2,h3),.catalog-site:lang(ja) :is(h1,h2,h3) { letter-spacing:normal; }
.catalog-site:lang(ar) :is(h1,h2,h3),.catalog-site:lang(hi) :is(h1,h2,h3) { line-height:1.4; }
.catalog-site:lang(ar) .catalog-hero[data-family] .catalog-hero-copy { padding:22px 0 22px 18px; }
.catalog-site:lang(ar) .catalog-brand { direction:ltr; }
.catalog-site:lang(ar) .gem-hero-artwork { direction:ltr; margin-inline-start:-80px; }
.catalog-site:lang(ar) .gem-editorial-word { direction:rtl; }
.catalog-site:lang(ar) .spinel-checkbox { text-align:right; }
.catalog-site .spinel-scene-copy h2 { font-size:clamp(2.5rem,min(5.5vw,8svh),4.75rem); }
.catalog-site .spinel-copy-pair h2 { font-size:clamp(2.5rem,min(5.2vw,7.5svh),4.5rem); }
@media(max-width:600px) {
 .catalog-header { flex-wrap:wrap; gap:18px; }
 .catalog-languages { margin-inline:auto; }
 .catalog-site:lang(ar) .catalog-hero[data-family] .catalog-hero-copy { padding:5px 0 10px; }
 .catalog-site:lang(ar) .gem-hero-artwork { margin:10px -20px 0; }
 .catalog-site:lang(ar) .catalog-hero[data-family] h1,.catalog-site:lang(hi) .catalog-hero[data-family] h1 { font-size:clamp(3rem,12.5vw,4.75rem); }
}

.estimate-dialog { box-sizing:border-box; width:min(680px,calc(100vw - 32px)); max-height:85dvh; border:1px solid #cdb498; border-radius:22px; padding:24px; color:#4b2c20; background:#fffaf1; box-shadow:0 24px 90px #25150f40; }
.estimate-dialog::backdrop { background:#25150f80; backdrop-filter:blur(5px); }
.estimate-dialog h3 { font-size:1.4rem; font-weight:600; margin:0 0 12px; }
.estimate-dialog p { font-size:.95rem; line-height:1.6; margin:12px 0; }
.estimate-dialog textarea { box-sizing:border-box; width:100%; min-height:230px; max-height:40dvh; padding:14px; border:1px solid #d4c1a9; border-radius:12px; background:#fffdf9; font:14px/1.7 Arial,'Noto Sans Thai',sans-serif; resize:vertical; }
.estimate-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.estimate-actions :is(a,button) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border:1px solid #b59572; border-radius:10px; font-size:.9rem; cursor:pointer; }
.estimate-actions button:first-child { color:#fff8ee; background:#74462e; }
.estimate-actions :disabled { opacity:.5; cursor:wait; }
.estimate-actions :focus-visible { outline:3px solid #af794a; outline-offset:3px; }
@media(max-width:600px) { .estimate-dialog { padding:18px; } .estimate-actions :is(a,button) { flex:1 1 45%; } }
@font-face { font-family:'Catalog Arabic'; src:url('/assets/fonts/DejaVuSans.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Catalog Hindi'; src:url('/assets/fonts/NotoSansDevanagari-Regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Catalog CJK'; src:url('/assets/fonts/CatalogCJK.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
.catalog-site:lang(ar),.catalog-site:lang(ar) :is(h1,h2,h3,input,select,textarea,.gem-editorial-word,.spinel-scene-word) { font-family:'Catalog Arabic',Arial,sans-serif; }
.catalog-site:lang(hi),.catalog-site:lang(hi) :is(h1,h2,h3,input,select,textarea,.gem-editorial-word,.spinel-scene-word) { font-family:'Catalog Hindi',Arial,sans-serif; }
.catalog-site:lang(zh),.catalog-site:lang(ja),.catalog-site:lang(zh) :is(h1,h2,h3,input,select,textarea,.gem-editorial-word,.spinel-scene-word),.catalog-site:lang(ja) :is(h1,h2,h3,input,select,textarea,.gem-editorial-word,.spinel-scene-word) { font-family:Arial,'Catalog CJK',sans-serif; }

.catalog-languages img { display:block; width:28px; height:21px; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px #33282025; }
@media(min-width:768px) {
 .catalog-site:lang(ar) .catalog-hero[data-family] h1 { max-width:100%; font-size:clamp(3.75rem,6.2vw,6rem); }
}
@media(max-width:767px) {
 .catalog-site:lang(ja) .catalog-hero[data-family] h1,.catalog-site:lang(zh) .catalog-hero[data-family] h1 { font-size:clamp(3rem,12.5vw,4.75rem); }
}

/* Sapphire and ruby buyer guides: shared structure, family colour tokens. */
.corundum-guide { overflow-wrap:anywhere; --gem-accent:var(--gem-color); --gem-soft:color-mix(in srgb,var(--gem-color) 5%,#fffdf9); }
.corundum-guide section[id] { scroll-margin-top:24px; }
.corundum-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0 0 20px; }
.corundum-facts dt { color:var(--gem-muted); font-size:.875rem; margin-bottom:8px; }
.corundum-facts dd { margin:0; font-size:1.05rem; font-weight:600; line-height:1.6; }
.corundum-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:24px; margin-top:24px; }
.corundum-cards-four { grid-template-columns:1fr 1fr; }
.corundum-cards article { border-block-start:2px solid var(--gem-accent); padding-block-start:18px; min-width:0; }
.corundum-guide h3 { font-size:1.125rem; line-height:1.55; margin:0 0 10px; font-weight:600; }
.corundum-guide p { line-height:1.85; }
.corundum-cards p { margin:0; }
.corundum-rows { margin:24px 0; }
.corundum-rows>div { display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,3fr); gap:24px; padding:20px 0; border-block-start:1px solid #ded5d7; }
.corundum-rows dt { font-weight:600; line-height:1.7; }
.corundum-rows dd { margin:0; color:var(--gem-muted); line-height:1.85; }
.corundum-note { border-inline-start:3px solid var(--gem-accent); padding:14px 18px; background:var(--gem-soft); border-radius:0 10px 10px 0; }
[dir="rtl"] .corundum-note { border-radius:10px 0 0 10px; }
.corundum-identity { padding:22px; border:1px solid #ded5d7; border-radius:12px; }
.corundum-identity p { margin-bottom:0; }
.corundum-comparison { display:grid; grid-template-columns:1fr 1fr; gap:20px 44px; padding-inline-start:26px; margin:24px 0 32px; list-style:decimal outside; }
.corundum-comparison li { padding-inline-start:6px; line-height:1.85; color:var(--gem-muted); }
.corundum-comparison li::marker { color:var(--gem-accent); font-weight:700; }
.corundum-guide .spinel-faq h3 { margin-top:28px; }
@media(max-width:800px) { .corundum-facts { grid-template-columns:1fr 1fr; } .corundum-comparison { grid-template-columns:1fr; gap:16px; } }
@media(max-width:600px) { .corundum-rows>div { grid-template-columns:1fr; gap:8px; } .corundum-cards { grid-template-columns:1fr; } .corundum-facts { gap:20px 16px; } .corundum-identity { padding:18px; } }

/* Detailed buyer education uses the current family palette and native disclosure controls. */
.buyer-details { scroll-margin-top:24px; overflow-wrap:anywhere; }
.buyer-detail-intro { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin:24px 0; }
.buyer-details h3 { font-size:1.1rem; line-height:1.6; font-weight:600; margin:0 0 12px; }
.buyer-details p { line-height:1.85; margin:12px 0 20px; }
.buyer-details details { border-block-start:1px solid color-mix(in srgb,var(--gem-color) 25%,transparent); padding:16px 0; }
.buyer-details summary { cursor:pointer; font-weight:600; line-height:1.6; min-height:28px; }
.buyer-details summary:focus-visible { outline:2px solid var(--gem-color); outline-offset:6px; }
.buyer-detail-sources ul { display:flex; flex-wrap:wrap; gap:16px 24px; padding-inline-start:22px; }
.buyer-detail-sources a { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:700px) { .buyer-detail-intro { grid-template-columns:1fr; gap:12px; } }

/* Japanese regional glyphs take precedence over the shared CJK fallback. */
.catalog-site:lang(ja),.catalog-site:lang(ja) :is(h1,h2,h3,input,select,textarea,.gem-editorial-word,.spinel-scene-word) { font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,'Noto Sans JP','Catalog CJK',sans-serif; line-break:strict; word-break:normal; }

/* Crawlable question paths connect a reader's next decision to a relevant guide. */
.buyer-questions { padding:38px 0; border-top:1px solid #d9cdbd; margin-top:32px; }
.buyer-questions h2 { font-size:clamp(1.5rem,3vw,2rem); line-height:1.4; margin:0 0 12px; }
.buyer-questions>p { max-width:760px; color:#6a5a4b; margin:0 0 24px; }
.buyer-questions ul { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.buyer-questions li { min-width:0; }
.buyer-questions a { display:flex; flex-direction:column; gap:8px; min-height:0; height:100%; padding:16px 20px; border:1px solid #d6c7b5; border-radius:14px; background:#fffaf2; }
.buyer-questions a:hover { background:#f2e8da; border-color:#9d7454; }
.buyer-questions a:focus-visible { outline:3px solid #966d4f; outline-offset:4px; }
.buyer-question-family { font-size:.8rem; color:#765137; }
.buyer-question-arrow { margin-top:auto; align-self:flex-end; }
@media(max-width:700px) { .buyer-questions ul { grid-template-columns:1fr; } .buyer-questions a { min-height:0; padding:14px 16px; } }
.finder-entry{display:block;width:fit-content;margin-top:1.2rem;text-decoration:underline;text-underline-offset:4px}
.gem-finder,.buyer-evidence{margin-block:2rem;scroll-margin-top:1rem}
.finder-controls{border:0;padding:0;margin:1.5rem 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.finder-controls label{display:flex;flex-direction:column;gap:.5rem;font-weight:600;min-width:0}
.finder-controls select,.finder-share-link{width:100%;min-height:44px;border:1px solid #b3a296;border-radius:8px;background:#fff;padding:.7rem;color:#38281e;font:inherit}
.finder-controls .finder-check{grid-column:1/-1;flex-direction:row;align-items:center;font-weight:400;min-height:44px}
.finder-check input{width:22px;height:22px;flex:none;accent-color:#70452f}
.finder-hint{font-size:.92rem;line-height:1.7;color:#665348}
.finder-result-count{margin-block:1rem;font-size:.95rem}
.finder-results{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.finder-results li{display:grid;grid-template-columns:72px 1fr;gap:.8rem;padding:1rem;border:1px solid #d9cbbc;border-radius:12px;background:rgba(255,255,255,.65);min-width:0}
.finder-results img{border-radius:10px;object-fit:cover}.finder-results h3{margin:0;font-size:1.1rem}.finder-results p{margin:.4rem 0;font-size:.85rem}
.finder-results button{grid-column:1/-1;justify-self:start}
.gem-finder button{font:inherit;min-height:44px;border:1px solid #9b7156;border-radius:8px;padding:.5rem .9rem;background:#fff7ec;color:#4e3021;cursor:pointer}
.gem-finder button[aria-pressed=true]{background:#6d432f;color:#fff}.gem-finder button:disabled{opacity:.5;cursor:wait}
.gem-finder :focus-visible{outline:3px solid #986d42;outline-offset:3px}
.finder-comparison{margin-block:2rem;scroll-margin-top:1rem}.finder-comparison h3{font-size:1.3rem}
.finder-table-scroll{overflow-x:auto;border:1px solid #d9cbbc;border-radius:10px;max-width:100%}
.finder-table-scroll table{border-collapse:collapse;width:100%;min-width:540px;background:rgba(255,255,255,.7)}
.finder-table-scroll th,.finder-table-scroll td{padding:1rem;text-align:start;border-bottom:1px solid #dfd2c4;vertical-align:top;min-width:140px}
.finder-table-scroll th{background:#f0e5d5;font-size:.95rem}.finder-table-scroll td{font-size:.95rem}.finder-source{display:block;margin-top:.8rem;font-size:.8rem}
.finder-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1rem}.buyer-evidence ol{padding-inline-start:1.5rem}.buyer-evidence li{padding-inline-start:.4rem;margin-bottom:1rem;line-height:1.75}
.buyer-answer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.4rem}.buyer-answer-grid h4{font-size:1.05rem;line-height:1.6;margin-bottom:.7rem}.buyer-answer-grid p{font-size:.95rem;line-height:1.8}
@media(max-width:650px){.finder-controls,.finder-results{grid-template-columns:1fr}.finder-results li{padding:.8rem}.finder-table-scroll th,.finder-table-scroll td{padding:.75rem}.buyer-answer-grid{grid-template-columns:1fr}}
.finder-comparison-cards{display:none}
.buyer-care-note{padding:1.2rem;margin-block:1.5rem;border-inline-start:3px solid #9b7156;background:#f5ecdf;border-radius:0 10px 10px 0}
.buyer-care-note h3{margin:0 0 .6rem;font-size:1.05rem}.buyer-care-note p{margin-bottom:.6rem}.buyer-care-note a{font-size:.85rem;text-decoration:underline}
.buyer-evidence-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.finder-guide-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline!important;text-underline-offset:4px}
@media(max-width:900px){
 .finder-comparison .finder-table-scroll{display:none}
 .finder-comparison-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}
 .finder-compare-card{border:1px solid #d9cbbc;border-radius:12px;padding:1rem;background:#fffaf2;display:flex;flex-direction:column;gap:.6rem}
 .finder-compare-card h4{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .5rem;font-size:1.15rem;line-height:1.5}
 .finder-compare-card h4 span{font-size:.8rem;color:#806853}
 .finder-compare-card dl{margin:0;flex:1}.finder-compare-card dl>div{padding:.65rem 0;border-top:1px solid #e3d5c5}
 .finder-compare-card dt{font-size:.8rem;font-weight:600;color:#6b5544}.finder-compare-card dd{margin:.3rem 0 0;font-size:.95rem;line-height:1.7;overflow-wrap:anywhere}
 .finder-compare-card .catalog-button{justify-content:center;padding:.7rem;min-height:48px}.finder-compare-card button{align-self:flex-start}
}
/* Shared, source-linked gemstone budget calculator. */
.gem-estimator{scroll-margin-top:6rem}.gem-estimator h2:focus{outline:2px solid #957351;outline-offset:6px}.gem-estimator-lines{display:grid;gap:1.25rem}.gem-estimator-line{border:1px solid #ddd1c1;border-radius:12px;padding:clamp(1rem,3vw,1.75rem);background:#fffdf8;min-width:0}.gem-estimator-line-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.gem-estimator-line-head h3{margin:0 0 1rem}.gem-reference{background:#f2eadc;border-inline-start:3px solid #9d783d;padding:1rem;margin-block:1rem;border-radius:4px;overflow-wrap:anywhere}.gem-reference p{font-size:.95rem}.gem-reference ul{padding-inline-start:1.25rem}.gem-reference li{margin-block:.7rem}.gem-reference summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline}.gem-line-result{font-weight:700;font-size:1.3rem;text-align:end}.gem-estimate-total{background:#233c34;color:#fffaf1;padding:1.25rem;border-radius:10px;margin-block:1.5rem}.gem-estimate-total h3{font-size:1rem;color:inherit;margin:0}.gem-estimate-total>p{font-size:clamp(1.4rem,4vw,2rem);margin:.5rem 0 0}.gem-estimate-total .spinel-error{font-size:1rem;color:#ffe3b8}.gem-estimate-summary{box-sizing:border-box;width:100%;padding:1rem;border:1px solid #c8baa8;border-radius:6px;font:inherit;background:#fffdf8;color:#29392f;resize:vertical}.gem-estimator button:disabled{opacity:.5;cursor:not-allowed}.gem-estimator select,.gem-estimator input{max-width:100%;box-sizing:border-box}.gem-estimator .spinel-form-grid{margin-block:1rem}.gem-estimator details>summary{min-height:44px;cursor:pointer}.gem-estimator .catalog-button{white-space:normal;text-align:start}.gem-estimator .spinel-actions{flex-wrap:wrap}
@media(max-width:600px){.gem-estimator .spinel-form-grid{grid-template-columns:1fr}.gem-estimator .spinel-actions>*{min-height:48px;max-width:100%}.gem-estimator-line-head{align-items:start}.gem-estimator .catalog-button{width:100%;justify-content:space-between}}

/* Keep subtotal amounts readable against the dark green panel. */
.catalog-panel .gem-estimate-total > p:not(.spinel-error){color:#ffffff}

/* Buying guidance: clear steps and lightweight native disclosures. */
.buyer-evidence{background:radial-gradient(ellipse at 100% 0,rgba(190,157,113,.12),transparent 55%),#fffdf9;border-color:#dacebd;padding:clamp(1.25rem,4vw,3rem)}
.buyer-evidence>h2{max-width:28ch;line-height:1.2;margin-bottom:1rem}.buyer-evidence>p{max-width:85ch}
.buyer-evidence .buyer-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;list-style:none;padding:0;margin:1.75rem 0 2.25rem}
.buyer-evidence .buyer-checklist li{display:flex;align-items:flex-start;gap:1rem;margin:0;padding:1.25rem;border:1px solid #e0d4c4;border-radius:14px;background:rgba(255,255,255,.8);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.buyer-checklist p{margin:0;line-height:1.7}.buyer-step{display:grid;place-items:center;flex:0 0 2.5rem;height:2.5rem;border-radius:50%;background:#eee3d3;color:#705335;font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums}
.buyer-evidence .buyer-answer-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin:1rem 0 1.75rem}
.buyer-answer{border:1px solid #dacebd;border-radius:12px;background:#fffdf9;overflow:hidden;transition:background .2s,border-color .2s}
.buyer-answer summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;padding:1.15rem 1.25rem;min-height:56px;font-weight:600;line-height:1.5}.buyer-answer summary::-webkit-details-marker{display:none}
.buyer-answer summary:focus-visible{outline:2px solid #7a5838;outline-offset:-4px;border-radius:10px}
.buyer-toggle{position:relative;flex:0 0 1.25rem;height:1.25rem}.buyer-toggle::before,.buyer-toggle::after{content:'';position:absolute;inset:calc(50% - 1px) 2px auto;height:2px;background:#886849;transition:transform .2s}.buyer-toggle::after{transform:rotate(90deg)}
.buyer-answer[open]{background:#f6f0e7;border-color:#b69a78}.buyer-answer[open] .buyer-toggle::after{transform:rotate(0)}
.buyer-answer>p{padding:0 1.25rem 1.25rem;margin:0;max-width:85ch;line-height:1.75;animation:buyer-answer-in .22s ease-out}
.buyer-evidence .finder-hint{border-top:1px solid #e0d4c4;padding-top:1rem;font-size:.85rem}.buyer-evidence a:not(.catalog-button){text-decoration:underline;text-underline-offset:4px}.buyer-evidence-actions{padding-top:.5rem}
@keyframes buyer-answer-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.buyer-evidence .buyer-checklist li:hover{transform:translateY(-3px);border-color:#b69a78;box-shadow:0 8px 20px rgba(86,62,36,.07)}.buyer-answer summary:hover{background:rgba(190,157,113,.1)}}
@media(max-width:700px){.buyer-evidence .buyer-checklist{grid-template-columns:1fr;gap:.75rem}.buyer-evidence .buyer-checklist li{padding:1rem;gap:.8rem}.buyer-evidence>h2{font-size:clamp(1.5rem,6vw,2rem)}.buyer-answer summary{padding:1rem}.buyer-answer>p{padding:0 1rem 1rem}.buyer-evidence-actions{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.buyer-evidence .buyer-checklist li,.buyer-answer,.buyer-toggle::before,.buyer-toggle::after{transition:none}.buyer-answer>p{animation:none}.buyer-evidence .buyer-checklist li:hover{transform:none}}
@media print{.buyer-answer::details-content{content-visibility:visible}.buyer-answer>p{display:block}.buyer-evidence .buyer-checklist{grid-template-columns:1fr}}
