:root{--ink:#465451;--brand:#00a88e;--green:#007d6a;--lime:#a9eadf;--paper:#f4f9f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{font-size:18px;margin:0;color:var(--ink);background:var(--paper);font-family:Arial,'Hiragino Kaku Gothic ProN','Noto Sans',sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #ce7600;outline-offset:5px}img{max-width:100%;display:block}.testbar{text-align:center;background:var(--lime);font-size:15px;font-weight:700;letter-spacing:.12em;padding:7px}.testbar span{margin-left:20px}header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 5%;background:#fff}.logo{width:205px}nav{display:flex;align-items:center;gap:30px;font-size:17px;font-weight:bold}.shoplink{background:var(--green);color:white;padding:12px 22px}.hero{position:relative;height:650px;max-height:80vh;min-height:480px;color:#fff;background:#123c36;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.12) 55%,transparent 80%)}.hero-content{position:absolute;top:13%;left:8%}.eyebrow{font-size:15px;font-weight:800;letter-spacing:.18em;margin:0 0 20px}.hero h1{font-size:clamp(42px,5.4vw,76px);line-height:1.3;letter-spacing:.06em;margin:20px 0 22px}.hero-content>p:not(.eyebrow){font-size:18px}.button{display:inline-block;background:var(--lime);color:var(--ink);padding:15px 26px;margin-top:20px;font-weight:700;font-size:17px}.hero-bottom{position:absolute;bottom:25px;left:5%;right:5%;font-size:15px;letter-spacing:.13em;display:flex;justify-content:space-between}.visit-strip{background:#fff;display:flex;gap:32px;align-items:center;justify-content:space-between;padding:25px 5%;font-size:16px;border-bottom:1px solid #ddd}.visit-strip strong{display:block;font-size:19px}.visit-strip small{font-size:14px}.visit-strip a{color:var(--green);font-weight:bold}.section,.floor-section{padding:95px 8%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading .eyebrow,.service .eyebrow{color:var(--green)}h2{font-size:clamp(27px,3vw,40px);line-height:1.5;letter-spacing:.03em;margin:0}.section-heading>p{font-size:17px;color:#586e6a}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filters button{border:1px solid #c9dcd7;border-radius:2px;background:transparent;padding:8px 16px;font-size:16px;color:var(--ink)}.filters button.active{background:var(--green);border-color:var(--green);color:#fff}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.news-card{text-align:left;border:0;background:transparent;padding:0;color:inherit}.news-card .thumb{aspect-ratio:1.6;background:#e0f0ec;display:grid;place-items:center;overflow:hidden;color:var(--green);font-size:22px;font-weight:900;letter-spacing:.12em}.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.news-card:hover img{transform:scale(1.04)}.news-meta{display:flex;gap:12px;align-items:center;margin:15px 0 8px;font-size:14px;color:#5e746f}.tag{color:var(--green);font-weight:700}.news-card h3{font-size:19px;line-height:1.7;margin:0}.news-card>p{font-size:16px;color:#60746f;margin:8px 0}.more{display:block;background:transparent;border:1px solid #9fbfb7;margin:40px auto 0;padding:12px 45px}button[hidden]{display:none}#news-status{font-size:17px}.floor-section{background:#e2f3ef;color:var(--ink)}.floor-section .eyebrow{color:var(--green)}.floor-section .section-heading>p{color:#586e6a}.floor-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.floor-card{grid-column:span 3;position:relative;min-height:340px;overflow:hidden}.floor-card>img{width:100%;height:100%;position:absolute;object-fit:cover}.floor-card:after{content:none}.floor-card>div{position:absolute;bottom:25px;left:28px;right:20px;z-index:1}.floor-card h3{font-size:26px;margin:4px 0}.floor-card p{font-size:16px;margin:6px 0}.floor-card span{font-size:15px;color:var(--lime)}.floor-card small,.floor-small small{font-size:14px;letter-spacing:.15em}.floor-small{grid-column:span 2;border-top:1px solid #a8ccc2;padding:28px 0 0}.floor-small small{color:var(--green)}.floor-small h3{font-size:23px;margin:10px 0}.floor-small p{font-size:16px;color:#586e6a}.service{display:flex;align-items:center;justify-content:space-between;gap:35px}.service p{font-size:17px}.dark{background:var(--ink);color:#fff}.service-type{font-weight:900;font-size:clamp(32px,5vw,72px);line-height:1.25;letter-spacing:-.04em;color:var(--green)}.service-type span{-webkit-text-stroke:1px var(--green);color:transparent}.access-section{background:#e2f3ef;padding:70px 8%;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:60px}.access-section h2{font-size:31px}.access-section p{font-size:17px}.access-section>img{width:100%;max-height:350px;object-fit:contain}.tel{display:block;font-size:29px;font-weight:700;margin-top:22px}.access-section small{display:block;font-size:14px}footer{background:#fff;padding:45px 5% 20px}footer>img{width:175px}footer>div{display:flex;gap:25px;font-size:16px;margin:25px 0}footer>p{border-top:1px solid #ddd;padding-top:20px;font-size:14px;display:flex;justify-content:space-between}dialog{border:0;max-width:720px;width:90%;padding:30px;color:var(--ink);max-height:85vh}dialog::backdrop{background:#062b26bb}.dialog-close{display:block;margin-left:auto;background:#e5f4ef;border:0;padding:6px 16px}dialog h2{font-size:27px}dialog img{max-height:400px;width:100%;object-fit:contain;margin:20px 0}.article-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px}dialog time{font-size:16px}@media(max-width:850px){header{flex-direction:column;gap:16px;padding:20px}.logo{width:175px}nav{gap:20px;font-size:16px}.shoplink{padding:8px 12px}.visit-strip{flex-wrap:wrap;gap:12px 25px}.visit-strip p{margin:0}.section,.floor-section{padding:65px 6%}.news-grid{gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.hero{height:570px}.hero-content{left:6%}.access-section{gap:30px;padding:60px 6%}.service-type{font-size:42px}}@media(max-width:560px){.testbar{font-size:12px;letter-spacing:.04em}.testbar span{margin-left:8px}nav{gap:14px;flex-wrap:wrap;justify-content:center}.shoplink{font-size:14px}.hero{min-height:500px;max-height:none;height:530px}.hero-content{top:12%}.hero h1{font-size:45px}.hero-content>p:not(.eyebrow){font-size:16px}.hero-bottom{font-size:12px}.visit-strip{padding:24px 6%}.visit-strip>div{width:100%}.visit-strip strong{display:inline;margin-left:15px}.section-heading{align-items:start;flex-direction:column;gap:12px}.section-heading>p{margin:0}.filters{gap:6px}.filters button{font-size:15px;padding:7px 10px}.news-grid{grid-template-columns:1fr}.news-card h3{font-size:19px}.floor-card{grid-column:span 6;min-height:310px}.floor-small{grid-column:span 6}.service{display:block}.service-type{margin-top:40px;font-size:45px}.access-section{grid-template-columns:1fr}.access-section h2{font-size:27px}.access-section>img{max-height:250px}footer>div{flex-wrap:wrap;gap:12px 20px}dialog{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Attached logo palette: primary teal #00a88e. Darker teal for readable text. */
.logo{width:236px;height:auto}footer>img{width:210px;height:auto}.testbar{background:var(--brand);color:#243e38}.button{background:var(--brand);color:#243e38}.button.dark{background:var(--green);color:#fff}.service-type{color:var(--brand)}.service-type span{-webkit-text-stroke-color:var(--brand)}@media(max-width:850px){.logo{width:205px}}

/* Keep store photography bright and neutral; place floor captions below photos. */
.hero>img,.floor-card>img,.thumb img,.access-section>img,dialog #detail-content img{filter:brightness(1.06) contrast(1.02)}
.hero-content h1,.hero-content>p,.hero-bottom{text-shadow:0 2px 12px rgba(0,0,0,.55)}
.floor-card{min-height:0;background:#fff;color:var(--ink);display:flex;flex-direction:column}
.floor-card>img{position:static;height:auto;aspect-ratio:1.6;object-fit:cover}
.floor-card>div{position:static;padding:24px 28px}
.floor-card small,.floor-card span{color:var(--green)}
@media(max-width:560px){.floor-card{min-height:0}.floor-card>div{padding:20px}}

/* Four equal photo cards for specialty services. */
.floor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.floor-card{grid-column:span 2}
.floor-small{grid-column:span 1;border:0;padding:0;background:#fff;display:flex;flex-direction:column;color:var(--ink)}
.floor-small>img{width:100%;aspect-ratio:1.5;object-fit:cover;filter:brightness(1.06) contrast(1.02)}
.floor-small>div{padding:20px}
.floor-small h3{font-size:21px;overflow-wrap:anywhere}
.floor-small p{margin-bottom:0}
.oxygen-card>img{object-position:80% center}
@media(max-width:850px){.floor-small{grid-column:span 2}}
@media(max-width:560px){.floor-card,.floor-small{grid-column:span 4}}

/* Dedicated-site links sit at the same baseline across specialty cards. */
.floor-small>div{display:flex;flex-direction:column;flex:1;align-items:flex-start}
.floor-small .specialty-link{display:inline-block;margin-top:auto;border:1px solid var(--green);padding:9px 14px;color:var(--green);font-size:16px;font-weight:700}
.floor-small p{margin-bottom:22px}
.floor-small:hover .specialty-link,.floor-small:focus-visible .specialty-link{background:var(--green);color:#fff}

/* Softer typography while retaining readable contrast on pale backgrounds. */
h2{font-weight:600}
.news-card h3,.floor-card h3,.floor-small h3{font-weight:600}
nav,.visit-strip strong,.tel{font-weight:600}

/* Homepage slider: neutral, bright photographs with accessible controls. */
.access-section .button{color:#fff;background:var(--green)}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(1.06) contrast(1.02);opacity:0;transition:opacity .8s ease}
.hero-slide.is-active{opacity:1}
.slider-controls{position:absolute;z-index:2;right:5%;bottom:65px;display:flex;align-items:center;gap:10px}
.slider-controls[hidden]{display:none}
.slider-controls button{border:1px solid #ffffffb3;background:#0008;color:#fff;min-width:34px;min-height:34px;font-size:21px}
.slider-controls .slider-pause{font-size:15px;padding:5px 12px}
.slider-dots{display:flex;gap:8px}
.slider-dots button{min-width:12px;min-height:12px;width:12px;height:12px;border-radius:50%;padding:0;background:#ffffff55}
.slider-dots button[aria-pressed=true]{background:#fff}
@media(max-width:560px){.slider-controls{bottom:55px}.hero-content{top:9%}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

.visit-strip{flex-wrap:wrap}.visit-strip>div:first-child{flex:1 1 230px}
#business-status{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:10px}
.business-badge{display:inline-block;border-radius:4px;padding:3px 12px;font-size:16px;font-weight:600;background:#eef1ef;color:#5d6965}
.business-badge[data-state="open"]{background:#007d6a;color:#fff}
.business-badge[data-state="before"]{background:#e0f2ee;color:#006452}
.business-badge[data-state="closed"]{background:#f1e9df;color:#775b3d}
.business-detail{font-size:15px;line-height:1.7}

.hero-content .button{background:var(--green);color:#fff}
.breadcrumbs{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;padding:20px 6%;font-size:15px;font-weight:400;background:#fff}
.floor-page-hero{display:grid;grid-template-columns:1fr 1fr;background:#e2f3ef;align-items:stretch}
.floor-page-hero>div{padding:65px 12%}
.floor-page-hero h1{font-size:clamp(25px,3vw,42px);font-weight:600;line-height:1.5;margin:15px 0}
.floor-page-hero h2{font-size:22px;font-weight:500}
.floor-page-hero p:not(.eyebrow){font-size:18px;line-height:2}
.floor-page-hero>img{width:100%;height:100%;min-height:400px;max-height:650px;object-fit:cover;filter:brightness(1.06) contrast(1.02)}
.floor-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#fff}
.floor-intro p{font-size:18px;line-height:2.2}
.floor-note{font-size:16px!important;color:#60746f}
.floor-products{padding-top:60px;padding-bottom:60px;background:#e2f3ef}
.floor-products>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:35px}
.floor-products article{border-top:1px solid #a8ccc2;padding-top:20px}
.floor-products article>span{font-size:16px;color:var(--green)}
.floor-products h3{font-size:22px;font-weight:600}
.floor-products article p{font-size:17px}
.floor-gallery>div:last-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.floor-gallery figure{margin:0}
.floor-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:brightness(1.06) contrast(1.02)}
.floor-contact{text-align:center;background:#fff}
.floor-contact>p:not(.eyebrow){font-size:18px}
.floor-page-links{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin-top:40px;font-size:17px;color:var(--green);text-decoration:underline}
@media(max-width:850px){.floor-page-hero{grid-template-columns:1fr}.floor-page-hero>div{padding:40px 6%}.floor-page-hero>img{min-height:0;height:320px}.floor-intro{grid-template-columns:1fr;gap:20px}.floor-gallery>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.floor-products>div{grid-template-columns:1fr;gap:15px}.floor-page-hero>img{height:240px}.floor-gallery>div:last-child{gap:12px}.floor-page-hero h1{font-size:29px}.floor-page-hero h2{font-size:20px}}

/* Football floor: pitch markings and a burgundy feature for Okayama supporters. */
.football-page .floor-page-hero{position:relative;background:#edf7f3}
.football-page .floor-page-hero>div{position:relative;border-top:4px solid var(--brand)}
.football-page .floor-page-hero>div:before{content:'';position:absolute;right:15px;bottom:18px;width:100px;height:60px;border:1px solid #007d6a26;border-radius:50%;pointer-events:none}
.football-kicker{color:var(--green);font-size:14px!important;letter-spacing:.12em;font-weight:600;margin-top:25px}
.football-page .floor-page-hero h2{font-size:clamp(24px,2.5vw,35px);line-height:1.6}
.football-hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.football-anchor{margin-top:20px;color:var(--green);font-size:16px;text-decoration:underline;text-underline-offset:5px}
.football-intro{align-items:center;gap:45px}
.football-intro h2{margin-bottom:25px}
.football-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}
.football-tags span{font-size:15px;color:var(--green);border:1px solid #b7d6cb;padding:5px 12px}
.football-about-photos{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.football-about-photos figure{margin:0}
.football-about-photos figure:nth-child(2){padding-top:45px}
.football-about-photos img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:brightness(1.06) contrast(1.02)}
.football-about-photos figcaption{font-size:14px;color:#60746f;margin-top:10px;line-height:1.8}
.football-lineup>div{gap:22px}
.football-lineup article{border:0;padding:0;background:#fff;overflow:hidden}
.football-lineup article>img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(1.06) contrast(1.02)}
.football-lineup article>div{padding:24px}
.football-lineup article span{font-size:14px;letter-spacing:.06em;color:var(--green)}
.football-lineup article h3{font-size:22px;margin-top:10px}
.football-lineup article a{font-size:16px;color:#8a3046;text-decoration:underline;text-underline-offset:4px}
.football-lineup>.floor-note{margin-top:25px}
.fagiano-section{background:#fcf5f5;border-top:4px solid #8a3046}
.fagiano-section .eyebrow{color:#8a3046}
.fagiano-heading h2{color:#73404c}
.fagiano-heading>p:not(.eyebrow){font-size:18px;line-height:2;margin-top:25px}
.fagiano-content{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;margin-top:40px}
.fagiano-product{margin:0}
.fagiano-product img{width:100%;height:auto}
.fagiano-product figcaption{font-size:15px;margin-top:10px;color:#80666c}
.fagiano-content h3{font-size:25px;font-weight:600;line-height:1.8}
.fagiano-content p{font-size:18px}
.fagiano-content .button{background:#8a3046;color:#fff}
.fagiano-content .fagiano-note{font-size:15px;color:#80666c;line-height:1.8}
.fagiano-news-link{display:inline-block;margin-top:35px;font-size:17px;color:#8a3046;text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){.fagiano-content{grid-template-columns:1fr;gap:25px}.football-about-photos{max-width:650px}}
@media(max-width:560px){.football-lineup article>div{padding:20px}.football-about-photos figure:nth-child(2){padding-top:25px}.fagiano-content h3{font-size:24px}.fagiano-heading>p:not(.eyebrow){font-size:17px}}

/* Text-based brand directory, matching the softer floor typography. */
.floor-brands{background:#fff}
.floor-brands .eyebrow{color:var(--green)}
.brand-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #dce8e3;border-left:1px solid #dce8e3}
.brand-grid li{padding:20px 18px;border-right:1px solid #dce8e3;border-bottom:1px solid #dce8e3;display:flex;flex-direction:column;justify-content:center;gap:5px;overflow-wrap:anywhere}
.brand-name{font-size:20px;font-weight:600;line-height:1.5;color:var(--ink)}
.brand-reading{font-size:15px;line-height:1.6;color:#60746f}
.floor-brands>.floor-note{margin-top:25px}
.brand-club-link{font-size:17px;color:#8a3046;text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-grid li{padding:16px 12px}.brand-name{font-size:19px}}

/* Basketball floor: subtle court lines and warm accents within the brand palette. */
.athlete-page .floor-page-hero{background:#edf7f3}
.athlete-page .floor-page-hero>div{position:relative;border-top:4px solid var(--brand)}
.athlete-page .floor-page-hero>div:before{content:'';position:absolute;right:18px;bottom:18px;width:64px;height:64px;border:1px solid #bc73302b;border-radius:50%;pointer-events:none}
.athlete-page .floor-page-hero h2{font-size:clamp(24px,2.5vw,35px);line-height:1.6}
.athlete-kicker{color:var(--green);font-size:14px!important;letter-spacing:.12em;font-weight:600;margin-top:25px}
.athlete-hero-links{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.athlete-anchor{margin-top:20px;color:var(--green);font-size:16px;text-decoration:underline;text-underline-offset:5px}
.athlete-intro{align-items:center;gap:45px}.athlete-intro h2{margin-bottom:25px}
.athlete-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}
.athlete-tags span{font-size:15px;color:var(--green);border:1px solid #b7d6cb;padding:5px 12px}
.athlete-about-photos{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.athlete-about-photos figure{margin:0}.athlete-about-photos figure:nth-child(2){padding-top:45px}
.athlete-about-photos img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:brightness(1.06) contrast(1.02)}
.athlete-about-photos figcaption{font-size:14px;color:#60746f;margin-top:10px;line-height:1.8}
.athlete-lineup>div{gap:22px}.athlete-lineup article{border:0;padding:0;background:#fff;overflow:hidden}
.athlete-lineup article>img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(1.06) contrast(1.02)}
.athlete-lineup article>div{padding:24px}.athlete-lineup article span{font-size:14px;letter-spacing:.06em;color:var(--green)}
.athlete-lineup article h3{font-size:22px;margin-top:10px}.athlete-lineup>.floor-note{margin-top:25px}
.basket-feature,.athlete-support{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.basket-feature{background:#faf4eb;border-top:4px solid #b5793f}.basket-feature .eyebrow{color:#8a582c}
.basket-feature p:not(.eyebrow),.athlete-support p:not(.eyebrow){font-size:18px;line-height:2}
.basket-feature>img,.athlete-support>img{width:100%;max-height:470px;object-fit:cover;filter:brightness(1.06) contrast(1.02)}
.basket-brand-picks{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 5px}
.basket-brand-picks span{background:#fff;padding:8px 14px;font-size:16px;font-weight:600;color:#765735}
.athlete-support{background:#fff}.athlete-support>img{aspect-ratio:4/3}.athlete-support .eyebrow{color:var(--green)}
@media(max-width:850px){.basket-feature,.athlete-support{grid-template-columns:1fr;gap:30px}.athlete-about-photos{max-width:650px}.athlete-support>img{max-height:320px}.basket-feature>img{max-height:400px}}
@media(max-width:560px){.athlete-lineup article>div{padding:20px}.athlete-about-photos figure:nth-child(2){padding-top:25px}}

/* Three store floors, followed by three independently operated specialty sites. */
.floor-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.floor-card,.floor-small{grid-column:span 4}
.team-intro-photo{margin:0}
.team-intro-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(1.06) contrast(1.02)}
.team-intro-photo figcaption{font-size:15px;color:#60746f;margin-top:10px}
.team-page .floor-page-hero>div{border-top:4px solid var(--brand)}
.team-page .floor-page-hero h2{font-size:clamp(24px,2.5vw,35px);line-height:1.6}
.team-page .floor-intro p{font-size:18px;line-height:2}
.team-online{background:#fff;border-top:1px solid #dce8e3}
.team-online .eyebrow{color:var(--green)}
.team-online>p:not(.eyebrow){font-size:18px;line-height:2}
.team-page .floor-gallery .team-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.team-page .team-gallery img{aspect-ratio:4/3}
@media(max-width:850px){.floor-card,.floor-small{grid-column:span 6}}
@media(max-width:560px){.floor-card,.floor-small{grid-column:span 12}.team-page .floor-gallery .team-gallery{grid-template-columns:1fr}}

.online-section{background:#fff}.online-section .eyebrow{color:var(--green)}
.online-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.online-grid>a{display:flex;flex-direction:column;border:1px solid #d2e5dd;padding:28px 22px;background:#fff}
.online-grid small{font-size:14px;letter-spacing:.1em;color:var(--green)}
.online-grid h3{font-size:21px;font-weight:600;line-height:1.7;margin:15px 0}
.online-grid p{font-size:16px;margin:0 0 25px}
.online-grid span{margin-top:auto;align-self:flex-start;padding:8px 15px;border:1px solid var(--green);color:var(--green);font-size:16px}
.online-grid>a:hover span{background:var(--green);color:#fff}
.online-bottom{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:15px;color:#60746f}
.online-bottom a{font-size:16px;color:var(--green);text-decoration:underline}
.access-page-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;background:#e2f3ef}
.access-page-heading h1{font-size:clamp(28px,3vw,42px);font-weight:600;line-height:1.6}
.access-page-heading .eyebrow,.access-map .eyebrow,.access-directions .eyebrow,.parking-section .eyebrow,.access-floors .eyebrow{color:var(--green)}
.access-page-heading p,.access-directions p,.parking-section>p{font-size:18px;line-height:2}
.access-page-heading>img{width:100%;max-height:330px;object-fit:contain;filter:brightness(1.06) contrast(1.02)}
.access-parking-link{font-size:17px;margin-left:15px;text-decoration:underline;color:var(--green)}
.access-map iframe{display:block;width:100%;border:0}
.access-directions{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.access-directions h2,.parking-section h2,.access-floors h2{font-size:32px}
.access-directions dl{font-size:18px}.access-directions dl>div{border-bottom:1px solid #dce8e3;padding:15px 0}
.access-directions dt{font-weight:600}.access-directions dd{margin:5px 0 0}.access-directions a{color:var(--green);font-size:17px;text-decoration:underline}
.parking-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:35px 0}
.parking-steps li{background:#fff;padding:25px}.parking-steps span{font-size:16px;color:var(--green)}
.parking-steps h3{font-size:21px;font-weight:600}.parking-steps p{font-size:16px}
.parking-notice{padding:18px 22px;background:#e2f3ef}.parking-document{margin-top:25px;border:1px solid #c9dcd7;padding:20px}
.parking-document summary{cursor:pointer;font-size:18px}.parking-document img{max-width:800px;width:100%;margin:20px auto 0}
.access-floors{background:#e2f3ef}.access-floors>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.access-floors a{background:#fff;padding:25px;font-size:20px;font-weight:600}.access-floors span{display:block;margin-top:10px;font-size:16px;font-weight:400}
@media(max-width:850px){.online-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.access-page-heading{grid-template-columns:1fr;gap:25px}.parking-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.access-directions{gap:30px}.access-floors>div{grid-template-columns:1fr}.online-bottom{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:560px){.online-grid,.access-directions{grid-template-columns:1fr}.parking-steps{grid-template-columns:1fr;gap:12px}.parking-steps li{padding:20px}.access-map iframe{height:320px}.access-parking-link{display:block;margin:15px 0 0}}

/* Original service and marketplace logos retain their own colors and proportions. */
.floor-small .partner-logo{width:100%;min-height:85px;display:flex;align-items:center;margin-bottom:14px;background:#fff}
.partner-logo img{max-width:190px;width:auto;height:64px;object-fit:contain;filter:none}
.partner-logo.altifit-logo img{width:180px;height:72px;max-width:100%;object-fit:cover;object-position:left}
.partner-logo.favicon-logo img{width:48px;height:48px;image-rendering:auto}
.shop-logo{height:90px;display:flex;align-items:center;justify-content:center;background:#fff;margin-bottom:22px;padding:12px}
.shop-logo img{max-width:100%;max-height:66px;width:auto;height:auto;object-fit:contain;filter:none}

/* Shared content pages and service navigation. */
.page-title{background:#e2f3ef;padding-top:55px;padding-bottom:55px}.page-title h1{font-size:clamp(27px,3.5vw,43px);font-weight:600;margin:0}.page-title .eyebrow,.service-detail .eyebrow,.home-services .eyebrow,.home-social .eyebrow,.community-section .eyebrow,.home-support .eyebrow{color:var(--green)}
.lead{font-size:21px;line-height:2}.text-link{font-size:17px;color:var(--green);text-decoration:underline;text-underline-offset:5px;display:inline-block}.section-links{justify-content:flex-start;flex-wrap:wrap;gap:12px;margin-top:30px}.section-links a{border:1px solid #b7d6cb;padding:10px 16px;font-size:16px}.footer-links{flex-wrap:wrap}footer address{font-style:normal;font-size:16px;line-height:2}footer address small{font-size:14px}.service-detail,.company-intro{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;background:#fff}.service-detail:nth-of-type(odd){background:#edf6f2}.service-detail p,.company-intro p,.prose p{font-size:18px;line-height:2}.service-detail h2,.company-intro h2{font-size:32px}.service-poster,.document-image{margin:0}.service-poster img{width:100%;max-height:600px;object-fit:contain}.document-image img{max-width:800px;width:100%;margin:35px auto 0}.company-intro>img{width:100%;max-height:450px;object-fit:contain;filter:brightness(1.06) contrast(1.02)}.card-visual{background:#e2f3ef;aspect-ratio:1.65;border:1px solid #b7d6cb;padding:30px;display:flex;flex-direction:column;justify-content:space-between;border-radius:12px}.card-visual img{width:180px}.card-visual strong{font-size:25px;color:var(--green)}.card-visual span{font-size:16px}.day-visual{text-align:center;color:var(--green);padding:40px;border:1px solid #b7d6cb}.day-visual>span,.day-visual>b{display:block}.day-visual strong{font-size:74px;line-height:1.7}.day-visual strong span{font-size:25px}.day-visual b{font-size:29px}.info-table{font-size:18px;margin:25px 0}.info-table>div{display:grid;grid-template-columns:130px 1fr;gap:18px;border-bottom:1px solid #dce8e3;padding:17px 0}.info-table dt{font-weight:600}.info-table dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.prose{max-width:1100px;margin:auto}.home-services{background:#e2f3ef}.home-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.home-service-grid>a{background:#fff;padding:25px}.home-service-grid small{color:var(--green);font-size:14px;letter-spacing:.1em}.home-service-grid h3{font-size:21px;font-weight:600}.home-service-grid p{font-size:16px}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.social-grid>a{display:flex;flex-direction:column;gap:12px;padding:25px;background:#fff;border:1px solid #dce8e3}.social-grid small{color:var(--green);font-size:16px}.social-grid strong{font-weight:600;font-size:20px}.social-grid span{font-size:15px;color:#60746f}.community-section{display:flex;align-items:center;justify-content:space-between;gap:35px;background:#edf6f2}.community-section p{font-size:18px}.community-mark{font-size:clamp(40px,6vw,76px);font-weight:700;color:var(--green);line-height:1.3}.home-support{background:#fff}.home-support>p:not(.eyebrow){font-size:18px}.outlet-link{margin-top:20px}.outlet-link a{border:1px solid #dce8e3;padding:18px 25px;display:flex;justify-content:space-between;gap:20px;font-size:17px}.outlet-link strong{font-weight:600}.outlet-link span{color:var(--green)}.archive-list{border:1px solid #dce8e3;padding:20px;margin-top:25px;font-size:17px}.archive-list summary{cursor:pointer}.archive-list li{padding:8px 0}.archive-list a{text-decoration:underline;text-underline-offset:4px}.news-all-link{margin-bottom:25px}.contact-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.contact-layout h2{font-size:27px}.contact-layout p{font-size:17px}.contact-layout aside{padding:25px;background:#e2f3ef;align-self:start}.contact-layout h3{font-size:20px;font-weight:600;margin-top:30px}.contact-layout .tel{font-size:26px}#contact-form label{display:block;font-size:17px;font-weight:600;margin:20px 0 8px}#contact-form label span{font-size:14px;color:#8a3046;margin-left:10px}#contact-form input:not([type=checkbox]),#contact-form textarea{display:block;width:100%;border:1px solid #b8cec5;padding:12px;background:#fff;border-radius:2px;color:var(--ink)}#contact-form .check-label{display:flex;gap:10px;align-items:center}#contact-form button{border:0}#contact-confirm button{border:0}#contact-confirm .more{display:inline-block;margin:20px 0}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:40px 0 20px}.calendar-toolbar h2{font-size:28px}.calendar-toolbar button{border:1px solid #b7d6cb;padding:8px 16px;background:#fff;color:var(--green)}.calendar-legend{display:flex;flex-wrap:wrap;gap:20px;font-size:16px;margin:20px 0}.calendar-legend>span{border-left:8px solid #c2e8da;padding-left:8px}.calendar-legend>.closed{border-color:#ebc4b7}.calendar-legend>.special{border-color:#eccb84}.calendar-legend>.unknown{border-color:#c7cdcb}.month-table{border-collapse:collapse;width:100%;table-layout:fixed;background:#fff}.month-table caption{text-align:left;font-size:16px;padding:10px 0}.month-table th{padding:10px;background:#edf6f2;font-weight:600}.month-table td{vertical-align:top;border:1px solid #d7e3dd;padding:12px 8px;height:105px}.month-table td time{display:block;font-size:21px}.month-table td span{display:block;font-size:15px;line-height:1.6;margin-top:8px;overflow-wrap:anywhere}.month-table td.regular{background:#f3faf6}.month-table td.closed{background:#f9ece6}.month-table td.special{background:#fff6df}.month-table td.unknown{background:#f0f2f1}.month-table td.today{outline:2px solid var(--green);outline-offset:-2px}.month-table td.today time:after{content:' 今日';font-size:14px;color:var(--green)}
@media(max-width:850px){.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail,.company-intro,.contact-layout{grid-template-columns:1fr;gap:30px}.service-poster img{max-height:500px}.info-table>div{grid-template-columns:110px 1fr}.community-mark{font-size:45px}}
@media(max-width:560px){.social-grid,.home-service-grid{grid-template-columns:1fr}.service-detail h2,.company-intro h2{font-size:27px}.community-section{display:block}.community-mark{margin-top:30px;font-size:38px}.calendar-toolbar{gap:8px}.calendar-toolbar h2{font-size:24px}.calendar-toolbar button{font-size:15px;padding:8px}.month-table td{padding:7px 3px;height:90px}.month-table td time{font-size:19px}.month-table td span{font-size:12px}.info-table>div{grid-template-columns:1fr;gap:5px}.card-visual{padding:25px}.card-visual strong{font-size:22px}.outlet-link a{flex-direction:column;gap:8px}.service-detail .day-visual{padding:25px}}

.line-register{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:22px 0}.line-register a{background:var(--green);color:#fff;padding:11px 18px;font-size:16px}
.news-targets{border:1px solid #c9dcd7;padding:16px 20px;margin:25px 0}.news-targets legend{font-size:18px;font-weight:600}.news-targets label{display:inline-flex;align-items:center;margin:8px 18px 8px 0}.news-targets input{accent-color:var(--green)}.news-targets p{margin-bottom:0}.news-meta{flex-wrap:wrap}
