/*
Theme Name: Hone Orthopedics
Theme URI: https://github.com/oberonlai/shippress-themes/tree/main/themes/hone-orthopedics
Author: ShipPress
Author URI: https://github.com/oberonlai/shippress-themes
Description: Hone Orthopedics — a block theme for an orthopedic and sports injury clinic. A cool off-white ground with a slate primary, a first screen of tall rounded portraits bleeding off both edges beside a text column, a thick round-capped ribbon stroke over a pale disc and a dark arc, and tall photo cards with a notched arrow tab. A joint finder, specialist directory, hours dot grid and fee card for the home page. Source Serif 4 and Source Sans 3. WCAG AA colours; no entrance animations.
Version: 1.1.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hone-orthopedics
Tags: health, block-patterns, full-site-editing, custom-colors, editor-style, translation-ready, wide-blocks, block-styles
*/

:root{--hn-paper:#F7F9FA;--hn-panel:#E8EEF2;--hn-main:#3E5566;--hn-sub:#8DB3CC;--hn-ink:#2E3A44;--hn-muted:#6C7A89;--hn-dot:#E08A3C;--hn-serif:var(--wp--preset--font-family--display);--hn-sec:clamp(3rem,6vw,5.5rem);--hn-gut:clamp(1.25rem,4vw,3rem)}
html{overflow-x:clip}
body{overflow-x:clip;margin:0;-webkit-font-smoothing:antialiased}
.wp-site-blocks>*{margin-block-start:0}
.hn-main{margin:0!important}
img{max-width:100%;height:auto}
.hn-main--page{padding:4rem var(--hn-gut)}

/* header */
.hn-header{display:flex!important;align-items:center;gap:1.5rem;height:96px;padding:0 var(--hn-gut);background:var(--hn-paper);position:relative;z-index:5}
.hn-brand{display:flex;flex-direction:column;gap:2px;flex:none}
.hn-brand .hn-brand__t,.hn-brand .hn-brand__t a{font-family:var(--hn-serif);font-weight:600;font-size:1.5rem;line-height:1.1;margin:0;color:var(--hn-ink);text-decoration:none}
.hn-brand .hn-brand__s{font-size:.75rem;color:var(--hn-muted);margin:0;line-height:1.2}
.hn-nav{flex:1;justify-content:center;font-size:.9rem;font-weight:600}
.hn-nav .wp-block-navigation__container{gap:.2rem 1.2rem}
.hn-nav .wp-block-navigation-item a{display:inline-flex;align-items:center;gap:.4rem;color:var(--hn-ink);text-decoration:none;white-space:nowrap}
.hn-nav .wp-block-navigation-item:not(.wp-block-navigation__submenu-container *) a::before{content:"";width:14px;height:8px;border-radius:4px;background:var(--hn-sub);flex:none}
.hn-nav .wp-block-navigation-item:first-child a::before{background:var(--hn-main)}
.hn-hbtn,.hn-hbtn.is-layout-flow{display:flex!important;flex-direction:row;gap:.6rem;flex:none;align-items:center}.hn-hbtn>*{margin:0!important}
.hn-btn{display:inline-flex;align-items:center;height:44px;padding:0 1.15rem;border-radius:22px;font-size:.9rem;font-weight:600;text-decoration:none!important;white-space:nowrap}
.hn-btn--d{background:var(--hn-main);color:#fff!important}
.hn-btn--r{background:var(--hn-sub);color:var(--hn-ink)!important}
.hn-btn:hover{filter:brightness(.94)}
@media(max-width:1280px){.hn-hbtn .hn-btn--d{display:none}}
@media(max-width:1100px){.hn-hbtn,.hn-hbtn.is-layout-flow{display:none!important}.hn-header{justify-content:space-between}}

/* label device */
.hn-sec{padding-block:var(--hn-sec);padding-inline:var(--hn-gut);position:relative}
.hn-wrap{max-width:1200px;margin-inline:auto!important}
.hn-label{font-family:var(--hn-serif);font-weight:300;font-size:clamp(2.8rem,5.2vw,4.5rem);line-height:1;color:var(--hn-main);margin:0 0 .5rem!important;position:relative;padding-top:1.1rem}
.hn-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--hn-dot);margin-right:.5rem;vertical-align:middle}
.hn-label .hn-dot{position:absolute;left:0;top:0;margin:0}
.hn-cap{font-size:.875rem;letter-spacing:.08em;color:var(--hn-muted);margin:0 0 1.2rem!important;text-transform:none}
.hn-h2{font-size:1.75rem!important;max-width:30ch;margin:0 0 2rem!important;font-weight:400}
.hn-body{max-width:60ch}
.hn-h3{font-family:var(--hn-serif);font-weight:400;font-size:1.375rem;margin:0 0 .6rem}
.hn-link a{color:var(--hn-ink);text-decoration:underline;text-underline-offset:4px;font-weight:600}
.hn-photo{margin:0;border-radius:24px;overflow:hidden;background:var(--hn-panel)}
.hn-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hn-photo--43{aspect-ratio:4/3}.hn-photo--34{aspect-ratio:3/4}.hn-photo--32{aspect-ratio:3/2}

/* hero T1 + T2 */
.hn-hero{position:relative;overflow-x:clip;overflow-y:visible;padding:16px 0 56px!important;background:var(--hn-paper);margin:0!important}
.hn-strip{position:relative;z-index:2;display:flex;gap:32px;align-items:stretch;height:680px;width:1520px;margin-left:calc(50vw - 760px)}
.hn-p{margin:0;flex:none;overflow:hidden;height:680px}
.hn-p img{width:100%;height:100%;object-fit:cover;display:block}
.hn-p1{width:360px;border-radius:0 24px 24px 0;margin-left:0}
.hn-p2{width:420px;border-radius:24px}
.hn-p3{width:300px;border-radius:24px 0 0 24px;margin-left:0}
.hn-hero__text{position:relative;box-sizing:border-box;width:380px;flex:none;display:flex;flex-direction:column;justify-content:center;padding-left:34px}
.hn-hero__text>*{margin:0 0 1.1rem!important}
.hn-vert{position:absolute;left:0;top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);font-size:.75rem;letter-spacing:.2em;color:var(--hn-muted)}
.hn-h1{font-size:3rem!important;text-wrap:balance;line-height:1.1;font-weight:300}
.hn-small{font-size:.875rem;color:var(--hn-ink)}.hn-nw{white-space:nowrap}
.hn-bg,.hn-rib{position:absolute;right:0;bottom:0;width:1440px;height:900px;pointer-events:none}
.hn-bg{z-index:0;height:1140px;bottom:-240px}.hn-rib{z-index:3}
.hn-hero+*{position:relative;z-index:1}
.hn-hero>.wp-block-html,.hn-hero>*{max-width:none}
@media(max-width:1440px){.hn-bg,.hn-rib{right:calc(50vw - 720px)}}
@media(max-width:1180px){.hn-bg,.hn-rib{display:none}.hn-strip{width:auto;margin:0;height:auto;flex-wrap:wrap;padding:0 var(--hn-gut)}.hn-hero__text{order:-1;width:100%;padding:0 0 1rem 2rem}.hn-p{height:480px}.hn-p1{margin-left:calc(-1*var(--hn-gut));width:30%}.hn-p2{flex:1}.hn-p3{width:30%;margin-right:calc(-1*var(--hn-gut))}.hn-hero{padding-bottom:3rem!important}}
@media(max-width:781px){.hn-p{height:auto}.hn-p2{order:1;width:100%;flex:none;aspect-ratio:4/5}.hn-p1,.hn-p3{order:2;aspect-ratio:3/4}.hn-p1{margin-left:calc(-1*var(--hn-gut))}.hn-p3{margin-right:calc(-1*var(--hn-gut))}.hn-strip{width:100%;box-sizing:border-box;gap:12px}.hn-p1,.hn-p3{flex:none;width:calc(50% - 6px + var(--hn-gut))}.hn-h1{font-size:2.5rem!important}.hn-rib2{right:0;width:140px}}

/* two-column */
.hn-two{display:grid;gap:4rem;align-items:start}
.hn-two--41{grid-template-columns:4fr 7fr}
.hn-clinic__l .hn-photo{margin-top:1rem;max-width:380px}
.hn-clinic__r{padding-top:1.5rem}.hn-clinic__r p{margin:0 0 1.2rem}
@media(max-width:900px){.hn-two--41,.hn-two2,.hn-fgrid,.hn-dir,.hn-closeg{grid-template-columns:1fr!important}}

/* finder */
.hn-joint{background:var(--hn-panel)}
.hn-radio{position:absolute;opacity:0;pointer-events:none}
.hn-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;position:relative}
.hn-tab{padding:.55rem 1.2rem;border:1px solid var(--hn-sub);border-radius:22px;cursor:pointer;font-weight:600;font-size:.95rem;background:#fff;color:var(--hn-ink)}
.hn-tabs:has(#hn-j0:checked) label[for=hn-j0],.hn-tabs:has(#hn-j1:checked) label[for=hn-j1],.hn-tabs:has(#hn-j2:checked) label[for=hn-j2],.hn-tabs:has(#hn-j3:checked) label[for=hn-j3],.hn-tabs:has(#hn-j4:checked) label[for=hn-j4]{background:var(--hn-main);color:#fff;border-color:var(--hn-main)}
.hn-tabs:has(.hn-radio:focus-visible) .hn-tab{outline-offset:2px}
.hn-fgrid{display:grid;grid-template-columns:5fr 6fr;gap:4rem;align-items:center}
.hn-panel{display:none}
.hn-find:has(#hn-j0:checked) .hn-panel0,.hn-find:has(#hn-j1:checked) .hn-panel1,.hn-find:has(#hn-j2:checked) .hn-panel2,.hn-find:has(#hn-j3:checked) .hn-panel3,.hn-find:has(#hn-j4:checked) .hn-panel4{display:block}
.hn-panel p{margin:0 0 1rem;max-width:52ch}
.hn-whoh{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--hn-muted);margin-top:1.5rem!important}
.hn-who{list-style:none;margin:0 0 1.2rem;padding:0}
.hn-who li{display:grid;grid-template-columns:1.4fr 1.3fr 1fr;gap:1rem;padding:.7rem 0;border-top:1px solid rgba(108,122,137,.4);font-size:.95rem}
.hn-who span,.hn-who em{color:var(--hn-muted);font-style:normal}

/* cards T3 */
.hn-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.hn-card{display:block;text-decoration:none!important;color:var(--hn-ink)!important}
.hn-card__img{display:block;position:relative;aspect-ratio:3/4;border-radius:24px;overflow:hidden;margin-bottom:1.2rem;background:var(--hn-panel)}
.hn-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.hn-notch{position:absolute;right:0;bottom:0;width:76px;height:76px;background:var(--g,var(--hn-paper));border-top-left-radius:20px;display:flex;align-items:center;justify-content:center}
.hn-notch::before,.hn-notch::after{content:"";position:absolute;width:20px;height:20px;background:radial-gradient(circle at 0 0,transparent 19.5px,var(--g,var(--hn-paper)) 20px)}
.hn-notch::before{left:-20px;bottom:0}.hn-notch::after{right:0;top:-20px}
.hn-notch__c{width:52px;height:52px;border-radius:50%;background:var(--hn-main);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;transition:background .2s}
.hn-card:hover .hn-notch__c{background:#2E3A44}
.hn-card:hover .hn-notch__c{padding-left:8px}
.hn-card__t{display:block;font-family:var(--hn-serif);font-size:1.6rem;line-height:1.2;margin-bottom:.5rem}
.hn-card__p{display:block;font-size:.975rem;color:var(--hn-ink)}
.hn-card__p time{color:var(--hn-muted);display:block;font-size:.8125rem;letter-spacing:.06em}
.hn-panel-bg .hn-notch,.hn-notch{--g:var(--hn-paper)}
.hn-cards--j .hn-card__img{aspect-ratio:4/3}
.hn-cards--j .hn-card__t{font-size:1.3rem}
.hn-cards--j .hn-notch{width:60px;height:60px}.hn-cards--j .hn-notch__c{width:42px;height:42px}
@media(max-width:900px){.hn-cards{grid-template-columns:1fr}}

/* directory */
.hn-dir{display:grid;grid-template-columns:5fr 7fr;gap:4rem;align-items:start}
.hn-featured{position:relative;margin:0;aspect-ratio:3/4;border-radius:24px;overflow:hidden}
.hn-featured img{width:100%;height:100%;object-fit:cover;display:block}
.hn-chip{position:absolute;left:.75rem;bottom:.75rem;max-width:calc(100% - 1.5rem);background:#fff;border-radius:14px;padding:.5rem .85rem;display:flex;flex-direction:column;font-size:.78rem;line-height:1.35;color:var(--hn-muted)}
.hn-chip strong{color:var(--hn-ink);font-family:var(--hn-serif);font-size:1rem;font-weight:600}
.hn-dir__r .hn-h3{margin-top:0}
.hn-list{list-style:none;margin:0 0 2rem;padding:0}
.hn-list li{display:grid;grid-template-columns:1.5fr 1.5fr .9fr;gap:1rem;align-items:center;padding:.9rem 0;border-top:1px solid rgba(108,122,137,.4)}
.hn-list li div:first-child{display:flex;flex-direction:column}
.hn-list span{font-size:.875rem;color:var(--hn-muted)}
.hn-list em{font-style:normal;font-size:.875rem;color:var(--hn-muted);text-align:right}
.hn-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.hn-chips b,.hn-chipb{font-weight:600;font-size:.75rem;padding:.15rem .6rem;border:1px solid var(--hn-sub);border-radius:12px;color:var(--hn-ink);background:transparent}
@media(max-width:700px){.hn-list li{grid-template-columns:1fr}.hn-list em{text-align:left}.hn-who li{grid-template-columns:1fr;gap:.1rem}}

/* this week */
.hn-week{background:var(--hn-panel);overflow-x:clip}
.hn-two2{display:grid;grid-template-columns:5fr 7fr;gap:4rem;align-items:center}
.hn-week__l{position:relative}
.hn-rib2{position:absolute;right:-60px;top:-40px;width:200px;height:150px;z-index:2;pointer-events:none}
.hn-hours{background:#fff;border-radius:24px;padding:1.5rem;margin-bottom:1.5rem}
.hn-hours table{width:100%;border-collapse:separate;border-spacing:0;text-align:center;font-size:.95rem}
.hn-hours thead th{background:var(--hn-main);color:#fff;font-weight:600;padding:.6rem .3rem}
.hn-hours thead th:first-child{border-radius:12px 0 0 12px}.hn-hours thead th:last-child{border-radius:0 12px 12px 0}
.hn-hours tbody th{text-align:left;font-weight:600;padding:.9rem .5rem;white-space:nowrap}
.hn-hours td{padding:.9rem .3rem;border-bottom:1px solid var(--hn-panel);color:var(--hn-muted)}
.hn-hours tbody tr:last-child td,.hn-hours tbody tr:last-child th{border-bottom:0}
.hn-open{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--hn-dot)}
.hn-hnote{margin:.8rem 0 0;font-size:.875rem;color:var(--hn-muted)}
.hn-flow{max-width:56ch;margin:0}

/* fees */
.hn-two2--fee{grid-template-columns:6fr 5fr;align-items:stretch}
.hn-feecard{background:#fff;border-radius:24px;padding:2rem 2.2rem;border:1px solid var(--hn-panel)}
.hn-feecard ul{list-style:none;margin:0 0 1rem;padding:0}
.hn-feecard li{display:flex;align-items:baseline;gap:.6rem;padding:.65rem 0}
.hn-feecard li i{flex:1;border-bottom:2px dotted var(--hn-sub);transform:translateY(-4px)}
.hn-feecard b{font-family:var(--hn-serif);font-size:1.25rem;color:var(--hn-main)}
.hn-feecard p{margin:0;font-size:.875rem;color:var(--hn-muted)}
.hn-fees .hn-photo--34{aspect-ratio:auto;height:100%;max-height:480px}.hn-two2--fee{align-items:start}

/* stories */
.hn-stories{display:grid;grid-template-columns:7fr 5fr;gap:2rem 3rem;align-items:start}
.hn-stories .hn-photo{grid-row:1 / span 1}
.hn-story{border-top:1px solid rgba(108,122,137,.4);padding-top:1.2rem}
.hn-story p{margin:.6rem 0 0}
.hn-stories>.hn-story:nth-of-type(1){grid-column:2;grid-row:1;align-self:center}
.hn-stories>.hn-story:nth-of-type(2){grid-column:1;grid-row:2}
.hn-stories>.hn-story:nth-of-type(3){grid-column:2;grid-row:2}
.hn-init{display:inline-flex;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--hn-panel);color:var(--hn-main);align-items:center;justify-content:center;font-family:var(--hn-serif);font-weight:600;margin-right:.6rem;vertical-align:middle}
.hn-story .hn-h3{display:inline}
.hn-story .hn-chipb{margin-left:.6rem}
.hn-disc{grid-column:1 / -1;font-size:.875rem;color:var(--hn-muted);margin:0}
@media(max-width:900px){.hn-stories{grid-template-columns:1fr}.hn-stories>*{grid-column:1!important;grid-row:auto!important}}

/* close */
.hn-close{overflow:clip}
.hn-wrap--rel{position:relative}
.hn-closeg{position:relative;z-index:2;display:grid;grid-template-columns:5fr 6fr;gap:4rem;align-items:center}
.hn-bg--c{right:calc(-1 * var(--hn-gut) - (100vw - 1200px)/2);bottom:calc(-1 * var(--hn-sec) - 240px);z-index:0}
.hn-rib--c{right:calc(-1 * var(--hn-gut) - (100vw - 1200px)/2);bottom:calc(-1 * var(--hn-sec));z-index:3}
.hn-close__ph{position:relative;z-index:2}
.hn-phone{font-weight:600;margin:0 0 1rem}
.hn-btns{display:flex;flex-wrap:wrap;gap:.6rem}
@media(max-width:1180px){.hn-bg--c,.hn-rib--c{display:none}}

/* footer */
.hn-foot{background:var(--hn-main);color:#fff;padding:4rem var(--hn-gut) 2rem}
.hn-foot__g{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto}
.hn-foot .hn-foot__mark,.hn-foot .hn-foot__mark a{font-family:var(--hn-serif);font-size:1.75rem;font-weight:600;color:#fff;text-decoration:none;margin:0}
.hn-foot__p{margin:.4rem 0 0;color:#E8EEF2;font-size:.95rem}
.hn-foot__legal{max-width:1200px;margin:3rem auto 0!important;font-size:.8125rem;color:#C9D6DF;border-top:1px solid rgba(255,255,255,.2);padding-top:1rem}
@media(max-width:781px){.hn-foot__g{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.hn-two>*,.hn-two2>*,.hn-fgrid>*,.hn-dir>*,.hn-closeg>*,.hn-stories>*{min-width:0}
@media(max-width:781px){.hn-hours{padding:1rem .6rem}.hn-hours table{font-size:.78rem}.hn-hours tbody th{padding:.8rem .2rem;font-size:.78rem}.hn-hours thead th{padding:.5rem .1rem}}
@media(max-width:781px){.hn-rib2{right:0;top:-48px;width:140px}}

/* inner pages: page head (T1 strip + T2 ribbon) */
.hn-phead{position:relative;overflow:clip;background:var(--hn-paper);padding:16px 0 56px}
.hn-pstrip{position:relative;z-index:2;display:flex;gap:32px;align-items:stretch;height:460px}
.hn-pp{margin:0;overflow:hidden;flex:0 0 19%;background:var(--hn-panel)}
.hn-pp img{width:100%;height:100%;object-fit:cover;display:block}
.hn-pp1{border-radius:0 24px 24px 0}.hn-pp2{border-radius:24px;flex-basis:20%}.hn-pp3{border-radius:24px 0 0 24px;flex-basis:21%}
.hn-phead--2 .hn-pp1{flex-basis:30%}.hn-phead--2 .hn-pp3{flex-basis:30%}
.hn-phead--sp .hn-pp1{flex-basis:26%}.hn-phead--sp .hn-pp2{flex-basis:23%}
.hn-phead--1 .hn-pp3{flex-basis:36%}
.hn-phead__t{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:0 .5rem}
.hn-phead__t .hn-label{margin-bottom:.4rem}
.hn-ph1{font-family:var(--hn-serif);font-weight:300;font-size:2.5rem;line-height:1.12;margin:0 0 1rem;text-wrap:balance;color:var(--hn-ink)}
.hn-plead{margin:0;max-width:46ch;font-size:1.0625rem}
.hn-pbg{position:absolute;right:0;bottom:-120px;width:760px;height:620px;z-index:0;pointer-events:none}
.hn-prib{position:absolute;right:0;bottom:0;width:560px;height:200px;z-index:3;pointer-events:none}
@media(max-width:1180px){.hn-pbg,.hn-prib{display:none}.hn-pstrip{height:auto;flex-wrap:wrap}.hn-phead__t{order:-1;flex:none;width:100%;padding:0 var(--hn-gut)}.hn-pp{height:380px;flex:1 1 0}.hn-pp1,.hn-pp3{flex:0 0 30%}.hn-pp2{flex:1 1 0}.hn-phead--1 .hn-pp3{flex:1 1 0}}
@media(max-width:781px){.hn-ph1{font-size:2.1rem}.hn-pp{height:auto;aspect-ratio:3/4}.hn-pp2{order:1;flex:0 0 calc(100% - 2*var(--hn-gut));margin-inline:var(--hn-gut);aspect-ratio:4/5}.hn-pp1,.hn-pp3{order:2;flex:0 0 calc(50% - 6px)}.hn-pstrip{gap:12px}.hn-phead--2 .hn-pp1,.hn-phead--2 .hn-pp3,.hn-phead--sp .hn-pp1{flex:0 0 calc(50% - 6px)}.hn-phead--1 .hn-pp3{flex:0 0 100%;border-radius:24px;aspect-ratio:4/3}.hn-phead--sp .hn-pp2{flex:0 0 calc(50% - 6px);margin:0;aspect-ratio:3/4;order:2}}
.hn-phead__t .hn-label{font-size:clamp(2.6rem,5.2vw,4.5rem)}
/* notch card generic helpers */
.hn-pale{--g:var(--hn-panel)}
.hn-pale .hn-notch{background:var(--hn-panel)}
.hn-cards--4{grid-template-columns:repeat(4,1fr);gap:1.5rem}
.hn-cards--2{grid-template-columns:repeat(2,1fr)}
.hn-cards--5{grid-template-columns:repeat(5,1fr);gap:1rem}
.hn-cards--5 .hn-card__t{font-size:1.25rem}.hn-cards--5 .hn-card__p{font-size:.9rem}
@media(max-width:1100px){.hn-cards--4{grid-template-columns:repeat(2,1fr)}.hn-cards--5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.hn-cards--2{grid-template-columns:1fr}}
@media(max-width:560px){.hn-cards--4{grid-template-columns:1fr}.hn-cards--5{grid-template-columns:repeat(2,1fr)}}
.hn-tile{display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#EEF3F6,#D3E0E9);font-family:var(--hn-serif);font-weight:300;font-size:clamp(3rem,6vw,4.5rem);color:var(--hn-main);letter-spacing:.04em}
.hn-card__m{display:block;font-size:.875rem;color:var(--hn-muted);margin:0 0 .5rem}
.hn-card__d{display:block;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--hn-muted);margin-top:.5rem}
/* directory filter */
.hn-dirf{position:relative}
.hn-fgroup{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1rem}
.hn-fgroup>span{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--hn-muted);min-width:4.5rem}
.hn-fgroup label{padding:.45rem 1.05rem;border:1px solid var(--hn-sub);border-radius:22px;cursor:pointer;font-weight:600;font-size:.9rem;background:#fff}
.hn-dirf:has(#f-all:checked) label[for=f-all],.hn-dirf:has(#f-knee:checked) label[for=f-knee],.hn-dirf:has(#f-shoulder:checked) label[for=f-shoulder],.hn-dirf:has(#f-hip:checked) label[for=f-hip],.hn-dirf:has(#f-spine:checked) label[for=f-spine],.hn-dirf:has(#f-hfa:checked) label[for=f-hfa],.hn-dirf:has(#f-sports:checked) label[for=f-sports],.hn-dirf:has(#r-all:checked) label[for=r-all],.hn-dirf:has(#r-surg:checked) label[for=r-surg],.hn-dirf:has(#r-phys:checked) label[for=r-phys]{background:var(--hn-main);border-color:var(--hn-main);color:#fff}
.hn-dirf:has(.hn-radio:focus-visible) .hn-fgroup label{outline-offset:2px}
.hn-dirf:has(#f-knee:checked) .hn-card:not(.j-knee),.hn-dirf:has(#f-shoulder:checked) .hn-card:not(.j-shoulder),.hn-dirf:has(#f-hip:checked) .hn-card:not(.j-hip),.hn-dirf:has(#f-spine:checked) .hn-card:not(.j-spine),.hn-dirf:has(#f-hfa:checked) .hn-card:not(.j-hfa),.hn-dirf:has(#f-sports:checked) .hn-card:not(.j-sports),.hn-dirf:has(#r-surg:checked) .hn-card:not(.r-surg),.hn-dirf:has(#r-phys:checked) .hn-card:not(.r-phys){display:none}
.hn-dirf .hn-cards{margin-top:2rem}
/* prose and sections */
.hn-prose{max-width:68ch}.hn-prose p{margin:0 0 1.15rem}
.hn-prose h3,.hn-split h3{font-family:var(--hn-serif);font-weight:400;font-size:1.375rem;margin:1.8rem 0 .6rem}
.hn-prose ul,.hn-split ul{margin:0 0 1.2rem;padding-left:1.2rem}.hn-prose li,.hn-split li{margin-bottom:.35rem}
.hn-split{display:grid;grid-template-columns:4fr 7fr;gap:4rem;align-items:start;padding-block:2.2rem;border-top:1px solid rgba(108,122,137,.4)}
.hn-split>*{min-width:0}
.hn-split h2{font-family:var(--hn-serif);font-weight:300;font-size:2.2rem;line-height:1.1;margin:0}
.hn-split h3:first-child{margin-top:0}
.hn-split p{margin:0 0 1rem}
.hn-split .hn-chips{margin-bottom:1rem}
@media(max-width:781px){.hn-split{grid-template-columns:1fr;gap:1rem}}
.hn-sec--pale{background:var(--hn-panel)}
.hn-bandcard{position:relative;background:#fff;border-radius:24px;padding:2rem 2.2rem}
.hn-bandcard .hn-rib2{right:-24px;top:-36px}
.hn-bandcard h3{font-family:var(--hn-serif);font-weight:400;font-size:1.5rem;margin:0 0 .6rem}
.hn-bandcard p{margin:0 0 1rem}.hn-bandcard p:last-child{margin-bottom:0}
.hn-bandcard .hn-btns{margin-top:1rem}
.hn-aside{display:grid;grid-template-columns:7fr 5fr;gap:4rem;align-items:center}.hn-aside>*{min-width:0}
@media(max-width:900px){.hn-aside{grid-template-columns:1fr;gap:2.5rem}}
.hn-daylist{list-style:none;margin:0 0 1rem;padding:0}.hn-daylist li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--hn-panel)}
.hn-daylist b{font-family:var(--hn-serif);color:var(--hn-main)}
/* fee table */
.hn-ftable{width:100%;border-collapse:collapse;background:#fff;border-radius:24px;overflow:hidden;font-size:1rem}
.hn-ftable th,.hn-ftable td{padding:1rem 1.4rem;text-align:left;border-bottom:1px solid var(--hn-panel);vertical-align:baseline}
.hn-ftable thead th{background:var(--hn-main);color:#fff;font-weight:600;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase}
.hn-ftable tbody th{font-weight:600}
.hn-ftable td:last-child,.hn-ftable th:last-child{text-align:right;white-space:nowrap;width:1%}
.hn-ftable td.hn-pr{font-family:var(--hn-serif);font-size:1.4rem;color:var(--hn-main)}
.hn-ftable td.hn-min{color:var(--hn-muted);white-space:nowrap}
.hn-ftable tbody tr:last-child>*{border-bottom:0}
.hn-feewrap{position:relative}.hn-feewrap .hn-rib2{right:-30px;top:-84px;z-index:3}
.hn-sec .hn-body+.hn-h3,.hn-sec .hn-body+.wp-block-heading.hn-h3{margin-top:2rem}
@media(max-width:781px){.hn-ftable thead{display:none}.hn-ftable,.hn-ftable tbody,.hn-ftable tr,.hn-ftable th,.hn-ftable td{display:block}.hn-ftable tr{padding:1rem 1.2rem;border-bottom:1px solid var(--hn-panel)}.hn-ftable th,.hn-ftable td{padding:0;border:0;text-align:left!important;width:auto!important}.hn-ftable td.hn-pr{margin-top:.2rem}.hn-feewrap .hn-rib2{right:0;top:-48px;width:120px}}
.hn-ftable-note{font-size:.875rem;color:var(--hn-muted);margin:1rem 0 0}
/* stories */
.hn-sbody{max-width:68ch}.hn-sbody h2{font-family:var(--hn-serif);font-weight:400;font-size:1.75rem;margin:0 0 .5rem}
.hn-sblock{padding-block:2rem;border-top:1px solid rgba(108,122,137,.4)}.hn-sblock .hn-chips{margin:0 0 1rem}
.hn-sblock p{margin:0 0 1rem}.hn-sblock .hn-disc{font-size:.875rem;color:var(--hn-muted)}
/* forms */
.hn-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;max-width:760px}
.hn-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;font-size:.9rem}
.hn-form .hn-wide{grid-column:1/-1}
.hn-form input,.hn-form select,.hn-form textarea{font:inherit;font-weight:400;padding:.75rem .9rem;border:1px solid var(--hn-muted);border-radius:12px;background:#fff;color:var(--hn-ink);min-width:0}
.hn-form button{font:inherit;font-weight:600;height:48px;padding:0 1.6rem;border:0;border-radius:24px;background:var(--hn-main);color:#fff;cursor:pointer;justify-self:start}
.hn-form button:hover{background:#2E3A44}
@media(max-width:600px){.hn-form{grid-template-columns:1fr}}
.hn-map{background:var(--hn-panel);border-radius:24px;min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem;text-align:center;padding:2rem}
.hn-pin{width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--hn-main);display:block}
.hn-pin::after{content:"";display:block;width:10px;height:10px;border-radius:50%;background:#fff;margin:9px}
.hn-cgrid{display:grid;grid-template-columns:6fr 5fr;gap:4rem;align-items:start}.hn-cgrid>*{min-width:0}
@media(max-width:900px){.hn-cgrid{grid-template-columns:1fr;gap:2rem}}
.hn-addr p{margin:0 0 1rem}
.hn-prelist{list-style:none;margin:0 0 1rem;padding:0}.hn-prelist li{padding:.6rem 0;border-top:1px solid rgba(108,122,137,.4)}
/* journal loops */
.hn-jhead{padding:3rem var(--hn-gut) 1rem}
.hn-jgrid{padding:1rem var(--hn-gut) var(--hn-sec)}
.hn-jgrid .wp-block-post-template{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;list-style:none;margin:0;padding:0;max-width:1200px;margin-inline:auto}
@media(max-width:900px){.hn-jgrid .wp-block-post-template{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hn-jgrid .wp-block-post-template{grid-template-columns:1fr}}
.hn-pcard{margin:0}
.hn-pcard .wp-block-post-featured-image{position:relative;aspect-ratio:3/4;border-radius:24px;overflow:hidden;margin:0 0 1.2rem;background:var(--hn-panel)}
.hn-pcard .wp-block-post-featured-image a{display:block;height:100%}
.hn-pcard .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;display:block}
.hn-pcard .wp-block-post-featured-image::before{content:"";position:absolute;right:0;bottom:0;width:96px;height:96px;pointer-events:none;z-index:2;background:radial-gradient(circle at 0 0,transparent 19.5px,var(--hn-paper) 20px) right 0 top 0/20px 20px no-repeat,radial-gradient(circle at 0 0,transparent 19.5px,var(--hn-paper) 20px) left 0 bottom 0/20px 20px no-repeat}
.hn-pcard .wp-block-post-featured-image::after{content:"\2192";position:absolute;right:0;bottom:0;width:76px;height:76px;border-top-left-radius:20px;background:radial-gradient(circle,var(--hn-main) 26px,transparent 26.5px),var(--hn-paper);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;z-index:3;pointer-events:none}
.hn-pcard .wp-block-post-title{font-family:var(--hn-serif);font-size:1.5rem;line-height:1.2;margin:0 0 .4rem}
.hn-pcard .wp-block-post-title a{color:var(--hn-ink);text-decoration:none}
.hn-pcard .wp-block-post-date{font-size:.8125rem;letter-spacing:.06em;color:var(--hn-muted);margin:0 0 .4rem}
.hn-pcard .wp-block-post-excerpt{font-size:.975rem;margin:0}.hn-pcard .wp-block-post-excerpt p{margin:0}
.hn-jfoot{position:relative;overflow:clip;background:var(--hn-panel);padding:3rem var(--hn-gut)}
.hn-jfoot p{position:relative;z-index:2;max-width:1200px;margin:0 auto;font-family:var(--hn-serif);font-size:1.5rem;font-weight:300}
.hn-jfoot .hn-jrib{position:absolute;right:0;top:50%;transform:translateY(-50%);width:420px;height:150px;z-index:1;pointer-events:none}
.hn-single{max-width:780px;margin-inline:auto;padding:3rem var(--hn-gut) var(--hn-sec)}
.hn-single .wp-block-post-title{font-family:var(--hn-serif);font-weight:300;font-size:2.75rem;line-height:1.1;margin:.4rem 0 1rem}
.hn-single .wp-block-post-featured-image{border-radius:24px;overflow:hidden;margin:1.5rem 0 2rem}
.hn-single .wp-block-post-featured-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.hn-single .hn-meta{font-size:.875rem;letter-spacing:.06em;color:var(--hn-muted);display:flex;gap:1rem;flex-wrap:wrap}
.hn-single .hn-meta a{color:var(--hn-muted)}
.hn-single .wp-block-post-content h2{font-family:var(--hn-serif);font-weight:400;font-size:1.6rem;margin:2rem 0 .6rem}
.hn-single .wp-block-post-content p{margin:0 0 1.15rem}
.hn-note{font-size:.875rem;color:var(--hn-muted);border-top:1px solid rgba(108,122,137,.4);padding-top:1rem;margin-top:2rem}
.hn-nolist{list-style:none;margin:0;padding:0}
.hn-phead,.hn-jfoot{box-sizing:border-box;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important}
.hn-main>.hn-phead,.hn-main>.wp-block-html{max-width:none}

/* ===== Languages: Chinese and Japanese use a bundled Noto Serif subset (CJK characters only; Latin and figures stay in Source Serif 4 / Source Sans 3) ===== */
:root:lang(zh) {
	--wp--preset--font-family--display: "Noto Serif TC", "Source Serif 4", "Noto Serif CJK TC", serif;
	--wp--preset--font-family--body: "Source Sans 3", "PingFang TC", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", sans-serif;
}
:root:lang(ja) {
	--wp--preset--font-family--display: "Noto Serif JP", "Source Serif 4", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--wp--preset--font-family--body: "Source Sans 3", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", "Noto Sans CJK JP", Meiryo, sans-serif;
}
:is(:lang(zh), :lang(ja)) body { line-height: 1.85; letter-spacing: 0.03em; line-break: strict; }
:is(:lang(zh), :lang(ja)) :is(h1, h2, h3, h4, .hn-label, .hn-ph1, .hn-card__t, .hn-tile, .hn-jfoot p) { line-height: 1.4; letter-spacing: 0.04em; font-weight: 400; }
:is(:lang(zh), :lang(ja)) :is(.hn-cap, .hn-whoh, .hn-card__d, .hn-fgroup > span, .hn-ftable thead th, .hn-single .hn-meta, .hn-pcard .wp-block-post-date) { letter-spacing: 0.1em; text-transform: none; }
:is(:lang(zh), :lang(ja)) .hn-h1 { font-size: 2.3rem !important; line-height: 1.4; }
:is(:lang(zh), :lang(ja)) .hn-ph1 { font-size: 1.9rem; }
:is(:lang(zh), :lang(ja)) .hn-label { font-size: clamp(2.1rem, 3.9vw, 3.3rem); }
:is(:lang(zh), :lang(ja)) .hn-phead__t .hn-label { font-size: clamp(2rem, 3.9vw, 3.3rem); }
:is(:lang(zh), :lang(ja)) .hn-h2 { font-size: 1.4rem !important; max-width: 24em; }
:is(:lang(zh), :lang(ja)) .hn-split h2 { font-size: 1.7rem; }
:is(:lang(zh), :lang(ja)) .hn-card__t { font-size: 1.25rem; }
:is(:lang(zh), :lang(ja)) .hn-cards--j .hn-card__t, :is(:lang(zh), :lang(ja)) .hn-cards--5 .hn-card__t { font-size: 1.1rem; }
:is(:lang(zh), :lang(ja)) .hn-single .wp-block-post-title { font-size: 2.1rem; }
:is(:lang(zh), :lang(ja)) .hn-pcard .wp-block-post-title { font-size: 1.2rem; }
:is(:lang(zh), :lang(ja)) .hn-jfoot p { font-size: 1.2rem; }
:is(:lang(zh), :lang(ja)) .hn-single .wp-block-post-content h2, :is(:lang(zh), :lang(ja)) .hn-sbody h2 { font-size: 1.3rem; }
:is(:lang(zh), :lang(ja)) .hn-tile { font-size: clamp(2.2rem, 4.5vw, 3.2rem); }
:is(:lang(zh), :lang(ja)) .hn-vert { letter-spacing: 0.3em; }
:lang(ja) :is(h1, h2, h3, p, li) { word-break: auto-phrase; }
:is(:lang(fr), :lang(de)) :is(p, h1, h2, h3, li) { hyphens: auto; }
:is(:lang(fr), :lang(de)) .hn-h1 { font-size: 2.6rem !important; }
:is(:lang(fr), :lang(de)) .hn-ph1 { font-size: 2.2rem; }
:is(:lang(fr), :lang(de)) .hn-label { font-size: clamp(2.4rem, 4.6vw, 3.9rem); }
:is(:lang(fr), :lang(de)) .hn-split h2 { font-size: 1.95rem; }
@media (max-width: 781px) {
	:is(:lang(zh), :lang(ja)) .hn-ph1 { font-size: 1.6rem; }
	:is(:lang(zh), :lang(ja)) .hn-h1 { font-size: 1.9rem !important; }
	:is(:lang(fr), :lang(de)) .hn-ph1 { font-size: 1.85rem; }
	:is(:lang(fr), :lang(de)) .hn-h1 { font-size: 2.2rem !important; }
}
@media (max-width: 781px) { .hn-vert { position: static; writing-mode: horizontal-tb; transform: none; margin: 0 0 .6rem !important; letter-spacing: .12em; } }
:is(:lang(fr), :lang(de)) .hn-link { max-width: 19rem; }
:is(:lang(fr), :lang(de)) .hn-nav { font-size: .8rem; }
:is(:lang(fr), :lang(de)) .hn-nav .wp-block-navigation__container { gap: .2rem .65rem; }
