.tps-birthstone{--tps-ink:#1a1a1a;--tps-dark:#242424;--tps-page:#e7e7e4;--tps-panel:#f2f2f0;--tps-mid:#dadad6;--tps-line:#c9c9c4;max-width:1180px;margin:0 auto;background:var(--tps-page);color:var(--tps-ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;overflow:hidden}
.tps-birthstone *{box-sizing:border-box}.tps-birthstone h1,.tps-birthstone h2,.tps-birthstone h3,.tps-birthstone p{margin-top:0}.tps-birthstone h1,.tps-birthstone h2{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-weight:400}.tps-birthstone a{color:inherit}.tps-birthstone a:focus-visible,.tps-birthstone button:focus-visible,.tps-birthstone select:focus-visible{outline:2px solid #246d76;outline-offset:3px}
.tps-birthstone-brand{position:relative;padding:24px 120px;text-align:center;background:var(--tps-panel)}.tps-birthstone-brand__name{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.65rem,3.4vw,2.5rem);font-weight:700;line-height:1.1;letter-spacing:.04em;text-decoration:none;overflow-wrap:normal}.tps-birthstone-brand__subtitle{display:block;margin-top:9px;color:#5d5d59;font-size:.7rem;letter-spacing:.18em}.tps-birthstone-shop-link{position:absolute;right:28px;top:50%;transform:translateY(-50%);font-size:.78rem;text-underline-offset:5px}
.tps-birthstone-hero{position:relative;min-height:340px;padding:54px clamp(28px,7vw,88px);display:flex;align-items:center;background:var(--tps-dark);color:#efefeb;overflow:hidden}.tps-birthstone-hero__copy{position:relative;z-index:2;max-width:570px}.tps-birthstone-hero h1{margin:14px 0;font-size:clamp(2.25rem,5vw,4.8rem);line-height:1.28;letter-spacing:.06em;color:#f5f5ef}.tps-birthstone-hero p{max-width:42rem;color:#cecec6;line-height:1.9}.tps-birthstone-hero__media{position:absolute;inset:0 0 0 48%;}.tps-birthstone-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--tps-dark),transparent 55%)}.tps-birthstone-hero__image{width:100%;height:100%;object-fit:cover}.tps-birthstone-overline{font-size:.68rem;line-height:1.4;letter-spacing:.16em}
.tps-birthstone-entry,.tps-birthstone-results,.tps-birthstone-shop{padding:clamp(28px,5vw,64px) clamp(20px,7vw,88px);background:var(--tps-panel);border-bottom:1px solid var(--tps-line)}.tps-birthstone-entry--day{background:var(--tps-mid)}.tps-birthstone-heading{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px}.tps-birthstone-heading>span{min-width:42px;color:#74746c;font-family:Georgia,serif;font-size:2rem}.tps-birthstone-heading h2{margin:0;font-size:clamp(1.35rem,2.4vw,2rem)}.tps-birthstone-heading p{margin:6px 0 0;color:#60605b;line-height:1.7}
.tps-birthstone-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.tps-birthstone-months a{min-height:54px;display:flex;justify-content:center;align-items:center;gap:5px;background:#e6e6e1;border:1px solid #d1d1ca;font-family:Georgia,serif;font-size:1.12rem;text-decoration:none}.tps-birthstone-months small{font:10px sans-serif}.tps-birthstone-months a[aria-current="page"]{background:#30322f;border-color:#30322f;color:#f6f6f0}
.tps-birthstone-birthday{display:grid;grid-template-columns:1fr 1fr 1.1fr;align-items:end;gap:12px;max-width:720px}.tps-birthstone-birthday label{display:flex;flex-direction:column;gap:7px;color:#5b5b54;font-size:.76rem}.tps-birthstone-birthday select,.tps-birthstone-birthday button{width:100%;height:50px;border-radius:0;font:inherit}.tps-birthstone-birthday select{padding:8px;background:var(--tps-panel);border:1px solid #9c9f94;font-size:1rem}.tps-birthstone-birthday button{padding:8px 14px;background:#30322f;border:1px solid #30322f;color:#fff;cursor:pointer}
.tps-birthstone-results>h2,.tps-birthstone-shop>h2{margin:8px 0 13px;font-size:clamp(1.8rem,4vw,3rem)}.tps-birthstone-intro{max-width:760px;color:#54544f;line-height:1.85}.tps-birthstone-empty{margin:18px 0 0;padding:22px;background:#ececea;color:#61615b;line-height:1.7}
.tps-birthstone-stones,.tps-birthstone-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px;margin-top:28px}.tps-birthstone-card,.tps-birthstone-product{display:flex;flex-direction:column;height:100%;min-width:0}.tps-birthstone-card__media,.tps-birthstone-product__media{display:block;aspect-ratio:4/3;background:#d7d7d2;overflow:hidden}.tps-birthstone-card__image,.tps-birthstone-product__media img{width:100%;height:100%;display:block;object-fit:cover}.tps-birthstone-card__no-image{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:#dadad6;color:#666660;font-size:.72rem;letter-spacing:.08em}.tps-birthstone-card__copy{display:flex;flex:1;flex-direction:column;padding-top:14px}.tps-birthstone-card h3,.tps-birthstone-product h3{margin:0 0 7px;font-size:1rem;line-height:1.55;overflow-wrap:anywhere}.tps-birthstone-card h3 a,.tps-birthstone-product h3 a{text-decoration:none}.tps-birthstone-card p{color:#5d5d57;font-size:.84rem;line-height:1.7}.tps-birthstone-text-link{display:inline-block;margin-top:auto;align-self:flex-start;padding-bottom:7px;border-bottom:1px solid #acae9f;font-size:.78rem;text-decoration:none}
.tps-birthstone-adjacent,.tps-birthstone-page-nav{display:flex;justify-content:space-between;gap:18px;padding:22px clamp(20px,7vw,88px);background:var(--tps-page)}.tps-birthstone-adjacent a,.tps-birthstone-page-nav a,.tps-birthstone-back{min-height:44px;display:inline-flex;align-items:center;font-size:.82rem;text-underline-offset:5px}.tps-birthstone-page-heading{padding:clamp(42px,7vw,82px) clamp(20px,7vw,88px);background:var(--tps-dark);color:#eee}.tps-birthstone-page-heading h1{margin:10px 0;color:#f5f5ef;font-size:clamp(2.2rem,5vw,4rem)}.tps-birthstone-page-heading>div{max-width:720px;color:#d0d0ca;line-height:1.85}.tps-birthstone-back{margin:14px clamp(20px,7vw,88px)}
.tps-birthstone-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--tps-panel)}.tps-birthstone-detail__media{min-height:440px;background:#d7d7d2}.tps-birthstone-detail__image{display:block;width:100%;height:100%;object-fit:cover}.tps-birthstone-detail__copy{padding:clamp(30px,6vw,72px)}.tps-birthstone-detail__copy h1{margin:10px 0;font-size:clamp(2.2rem,4vw,3.6rem);overflow-wrap:anywhere}.tps-birthstone-detail__copy h2{margin:30px 0 10px;font-size:1.35rem}.tps-birthstone-detail__copy section,.tps-birthstone-summary{line-height:1.9}.tps-birthstone-aliases{color:#626658;font-size:.78rem}.tps-birthstone-product__price{margin:8px 0;font-weight:600}.tps-birthstone-product__stock{min-height:1.5em;font-size:.8rem}.tps-birthstone-button{display:inline-flex;min-height:44px;margin-top:auto;padding:10px 16px;align-items:center;justify-content:center;background:#202020;color:#fff!important;text-decoration:none}
@media(max-width:700px){.tps-birthstone-brand{padding:20px 16px 17px}.tps-birthstone-brand__name{font-size:clamp(1.35rem,7vw,1.8rem);white-space:nowrap}.tps-birthstone-shop-link{position:static;transform:none;display:inline-block;margin-top:12px}.tps-birthstone-hero{min-height:210px;padding:28px 22px}.tps-birthstone-hero h1{font-size:2rem}.tps-birthstone-hero__media{inset:0 0 0 25%;opacity:.48}.tps-birthstone-months{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.tps-birthstone-birthday{grid-template-columns:1fr 1fr}.tps-birthstone-birthday button{grid-column:1/-1}.tps-birthstone-stones,.tps-birthstone-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.tps-birthstone-detail{grid-template-columns:1fr}.tps-birthstone-detail__media{min-height:0;aspect-ratio:4/3}.tps-birthstone-detail__copy{padding:28px 20px}}
@media(max-width:340px){.tps-birthstone-brand__name{font-size:1.28rem}.tps-birthstone-entry,.tps-birthstone-results,.tps-birthstone-shop{padding-left:16px;padding-right:16px}.tps-birthstone-heading{gap:10px}.tps-birthstone-heading>span{min-width:34px}.tps-birthstone-months{grid-template-columns:repeat(3,minmax(0,1fr))}.tps-birthstone-stones,.tps-birthstone-products{grid-template-columns:1fr}}
/* The journal shares one compact store header; other shop routes keep their header. */
.tps-birthstone-header-logo{position:absolute;left:20px;top:16px}
.tps-birthstone-header-logo .custom-logo-link{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:6px;background:#161616}
.tps-birthstone-header-logo .custom-logo{display:block;width:72px;height:72px;object-fit:contain}
@media(max-width:900px){.tps-birthstone-header-logo{position:static;text-align:left;margin-bottom:10px}.tps-birthstone-header-logo .custom-logo{width:56px;height:56px}}
.tps-birthstone-destinations .tps-birthstone-shop-cta{display:inline-flex;min-height:44px;box-sizing:border-box;padding:10px 18px;align-items:center;justify-content:center;gap:8px;background:#202020;color:#fff;border:1px solid #202020;text-decoration:none}
.tps-birthstone-destinations .tps-birthstone-shop-cta:hover{background:#383838;color:#fff}
.tps-birthstone-destinations .tps-birthstone-shop-cta:focus-visible{outline:2px solid #202020;outline-offset:3px}
.tps-birthstone-destinations{display:flex;justify-content:center;gap:24px;margin-top:8px;font-size:.8rem}
.tps-birthstone-destinations a{display:inline-flex;align-items:center;min-height:36px;text-underline-offset:4px}
.tps-birthstone-site-header{--tps-panel:#f2f2f0;position:relative;max-width:1180px;margin:0 auto;padding:16px 28px 12px;background:#f2f2f0;color:#1a1a1a;box-sizing:border-box}
.tps-birthstone-site-header *{box-sizing:border-box}
.tps-birthstone-site-header .tps-birthstone-brand__name{white-space:nowrap;letter-spacing:.025em}
.tps-birthstone-site-header .tps-birthstone-brand__subtitle{margin-top:6px}
.tps-birthstone-header-tools{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-width:0}
.tps-birthstone-site-header .tps-header-actions{justify-content:flex-end;font-size:.8rem}
.tps-birthstone-site-header .tps-header-actions a{display:inline-flex;align-items:center;min-height:44px}
.tps-birthstone-site-header .tps-nav{position:static;padding:0;border:0;background:transparent}
.tps-birthstone-site-header .tps-nav ul{justify-content:center;flex-wrap:wrap;gap:8px 20px}
.tps-birthstone-site-header .tps-nav a{display:block;min-height:36px;align-content:center}
.tps-birthstone-stones--monthly .tps-birthstone-card__media{aspect-ratio:auto;background:#f2f2f0}
.tps-birthstone-stones--monthly .tps-birthstone-card__image{display:block;width:100%;height:auto;object-fit:contain}
.tps-birthstone-stones--monthly .tps-birthstone-card__no-image{min-height:76px}
@media(max-width:900px){
 .tps-birthstone-site-header{padding:12px 16px 6px}
 .tps-birthstone-header-tools{justify-content:space-between}
 .tps-birthstone-site-header .tps-nav{display:none;margin-top:4px;padding-top:8px;border-top:1px solid #c9c9c4;text-align:left}
 .tps-birthstone-site-header .tps-nav.is-open{display:block}
 .tps-birthstone-site-header .tps-menu-toggle{min-width:44px;min-height:44px}
 .tps-birthstone-site-header .tps-header-actions{font-size:.78rem;gap:12px}
 .tps-birthstone-site-header .tps-birthstone-brand__name{font-size:clamp(1.28rem,6.7vw,2.4rem)}
 .tps-birthstone-site-header .tps-birthstone-brand__subtitle{font-size:.63rem;letter-spacing:.15em}
 .tps-birthstone-site-header .tps-birthstone-destinations{margin-top:2px;gap:24px}
}
@media(max-width:700px){.tps-birthstone-stones--monthly{grid-template-columns:minmax(0,1fr);gap:32px}.tps-birthstone-stones--monthly .tps-birthstone-card__copy{padding-top:16px}.tps-birthstone-stones--monthly .tps-birthstone-card h3{font-size:1.1rem}}
@media(max-width:340px){.tps-birthstone-site-header{padding-inline:12px}.tps-birthstone-site-header .tps-birthstone-brand__name{font-size:1.28rem}}
@media(max-width:900px){.tps-birthstone-site-header .tps-nav{display:block}.tps-birthstone-site-header.has-menu-script .tps-nav{display:none}.tps-birthstone-site-header.has-menu-script .tps-nav.is-open{display:block}}
.tps-birthstone-image-caption{padding:10px 12px;font-size:.72rem;line-height:1.65;color:#5d5d57;overflow-wrap:anywhere}.tps-birthstone-image-caption p{margin:0}.tps-birthstone-image-caption a{text-underline-offset:3px}
@media(min-width:901px){.tps-birthstone-site-header .tps-birthstone-header-tools{position:absolute;right:28px;top:80px}}
/* Natural image height leaves native media credits in normal document flow. */
.tps-birthstone-detail__media{min-height:0;aspect-ratio:auto;align-self:start}
.tps-birthstone-detail__image{height:auto;object-fit:contain}

/* Monthly editorial cards: full-width single feature, at most two multi-stone columns. */
.tps-birthstone-card__visual{min-width:0}
.tps-birthstone-stones--monthly .tps-birthstone-card__image{max-width:100%}
.tps-birthstone-stones--monthly .tps-birthstone-image-caption{padding:8px 0;font-size:.72rem;line-height:1.5}
.tps-birthstone-stones--monthly .tps-birthstone-image-caption p{font-size:inherit;line-height:inherit}
@media(min-width:701px){
 .tps-birthstone-stones--monthly{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px}
 .tps-birthstone-stones--single{grid-template-columns:minmax(0,1fr)}
 .tps-birthstone-stones--single .tps-birthstone-card{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:clamp(24px,3vw,40px);align-items:center}
 .tps-birthstone-stones--single .tps-birthstone-card__copy{padding-top:0}
 .tps-birthstone-stones--single .tps-birthstone-card h3{font-size:clamp(1.5rem,2.4vw,2rem)}
.tps-birthstone-stones--single .tps-birthstone-card__copy p{font-size:1rem;line-height:1.9}
}

/* 0.1.6: distinct stone discovery, current-month panel and stable month navigation. */
.tps-birthstone-current{position:relative;z-index:3;width:min(320px,38%);margin-left:auto;padding:16px;background:rgba(12,12,12,.78);border:1px solid rgba(255,255,255,.2)}
.tps-birthstone-current__month{margin-bottom:10px!important;font-size:.8rem;letter-spacing:.08em}.tps-birthstone-current__slide{display:grid;grid-template-columns:88px 1fr;gap:6px 12px;align-items:center;color:#fff;text-decoration:none}.tps-birthstone-current__slide[hidden]{display:none}.tps-birthstone-current__image{grid-row:1/3;width:88px;height:88px;object-fit:contain;background:#181818}.tps-birthstone-current__slide strong{font-size:1rem}.tps-birthstone-current__slide span{font-size:.72rem;color:#d5d5ce}.tps-birthstone-current__controls{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.tps-birthstone-current__controls button{width:44px;height:44px;border:1px solid #777;background:#202020;color:#fff;cursor:pointer}
.tps-birthstone-discovery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--tps-line);border-bottom:1px solid var(--tps-line)}.tps-birthstone-discovery a{display:flex;min-height:58px;padding:10px;align-items:center;justify-content:center;background:#ececea;text-align:center;text-decoration:none;font-size:.82rem}.tps-birthstone-discovery a[aria-current="page"]{background:#202020;color:#fff}
.tps-birthstone-month-adjacent{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:22px clamp(20px,7vw,88px);background:var(--tps-page)}.tps-birthstone-month-adjacent a{display:flex;min-height:64px;padding:12px 16px;align-items:center;background:#ececea;border:1px solid var(--tps-line);text-decoration:none}.tps-birthstone-month-adjacent a:last-child{justify-content:flex-end;text-align:right}
.tps-birthstone-fallback{margin-top:32px;padding:24px;background:#e5e5e1;border:1px solid var(--tps-line)}.tps-birthstone-fallback__links,.tps-birthstone-stone-months{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.tps-birthstone-fallback__links a,.tps-birthstone-stone-months a{display:inline-flex;min-height:44px;padding:9px 13px;align-items:center;border:1px solid #777;text-decoration:none}.tps-birthstone-stone-months{padding:22px clamp(20px,7vw,88px);align-items:center;background:#ececea}.tps-birthstone-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px}.tps-birthstone-facts dt{font-weight:700}.tps-birthstone-facts dd{margin:0}
.tps-stone-finder__form{max-width:720px}.tps-stone-finder__form label{display:block;margin-bottom:8px;font-weight:700}.tps-stone-finder__form>div{display:grid;grid-template-columns:1fr auto}.tps-stone-finder__form input,.tps-stone-finder__form button{min-height:48px;border:1px solid #8b8b84}.tps-stone-finder__form input{min-width:0;padding:9px 12px;background:#fff}.tps-stone-finder__form button{padding:9px 20px;background:#202020;color:#fff}.tps-stone-finder__count{margin:22px 0 0;color:#5d5d57}.tps-stone-finder-results .tps-birthstone-card{display:flex;flex-direction:column}.tps-stone-finder-results .tps-birthstone-card__copy{display:flex;flex:1;flex-direction:column}.tps-stone-finder-results .tps-birthstone-text-link{margin-top:auto;align-self:flex-start}
@media(max-width:700px){.tps-birthstone-hero{display:block}.tps-birthstone-current{width:100%;margin-top:18px}.tps-birthstone-discovery{grid-template-columns:repeat(2,minmax(0,1fr))}.tps-birthstone-discovery a{min-height:52px}.tps-birthstone-month-adjacent{gap:8px;padding-inline:16px}.tps-birthstone-month-adjacent a{min-height:76px;padding:10px;font-size:.76rem}.tps-stone-finder-results{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tps-birthstone-current__slide{transition:none}}
