.interest-nav { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:9px; padding:0 0 28px; }
.interest-nav a { display:inline-flex; align-items:center; gap:10px; padding:10px 15px; border:1px solid var(--line); border-radius:100px; background:var(--card); font-size:13px; }
.interest-nav a span { font-size:10px; color:var(--green); }.interest-nav a:hover { background:#e6f2de; }
#hobbies > .wrap > .interest-block { padding:38px 0 44px; border-top:1px solid var(--line); scroll-margin-top:25px; }
.interest-heading { display:flex; align-items:baseline; gap:18px; margin-bottom:24px; }
.interest-index { color:var(--green); font-size:12px; font-weight:700; letter-spacing:.06em; }
.interest-heading h3 { font-size:29px; margin:0 0 8px; letter-spacing:-.045em; }.interest-heading p { margin:0; color:var(--muted); font-size:14px; }
.people-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.music-category { padding:29px 0 34px; border-top:1px solid var(--line); }.music-category:first-child { padding-top:0; border-top:0; }.music-category-head { display:flex; gap:16px; align-items:baseline; margin-bottom:17px; }.music-category-head > span { color:var(--green); font-size:12px; font-weight:700; }.music-category-head h4 { margin:0 0 5px; font-size:23px; letter-spacing:-.04em; }.music-category-head p { margin:0; color:var(--muted); font-size:13px; }.music-rail { display:flex; gap:14px; overflow-x:auto; padding:2px 2px 16px; scroll-snap-type:x proximity; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; outline:none; }.music-singer-card { flex:0 0 232px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--card); scroll-snap-align:start; }.music-singer-card img { width:100%; height:194px; object-fit:cover; display:block; }.music-singer-card > div { padding:15px 16px 17px; }.music-singer-card span { color:var(--green); font-size:10px; font-weight:700; }.music-singer-card h5,.music-name-card h5 { margin:7px 0 4px; font-size:19px; letter-spacing:-.035em; }.music-singer-card p,.music-name-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }.music-name-card { flex:0 0 190px; min-height:145px; padding:19px; border:1px solid var(--line); border-radius:17px; background:linear-gradient(145deg,var(--card),rgba(221,239,214,.68)); scroll-snap-align:start; }.music-name-card > span { color:var(--green); font-size:10px; font-weight:700; letter-spacing:.08em; }.album-card { flex:0 0 156px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--card); scroll-snap-align:start; }.album-card img { width:100%; height:156px; display:block; object-fit:cover; }.album-card div { padding:10px 11px 12px; }.album-card strong { display:block; font-size:13px; line-height:1.25; }.album-card span { display:block; margin-top:4px; color:var(--muted); font-size:10px; }
.person-card { background:var(--card); border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.portrait { position:relative; aspect-ratio:4/5; background:#e6eae2; overflow:hidden; }.portrait img { width:100%; height:100%; object-fit:cover; object-position:center 25%; display:block; transition:transform .35s; }
.person-card:hover .portrait img { transform:scale(1.025); }
.brand-rejected { opacity:.72; }.brand-rejected .brand-logo { position:relative; overflow:hidden; }.brand-rejected .brand-wordmark { color:#aa3340; letter-spacing:.08em; }.brand-rejected .brand-logo i::before,.brand-rejected .brand-logo i::after { content:''; position:absolute; top:50%; left:50%; width:120%; height:4px; border-radius:4px; background:#d94752; box-shadow:0 1px 5px rgba(127,21,31,.24); }.brand-rejected .brand-logo i::before { transform:translate(-50%,-50%) rotate(45deg); }.brand-rejected .brand-logo i::after { transform:translate(-50%,-50%) rotate(-45deg); }.brand-rejected small { color:#a23e48; }
.portrait-role { position:absolute; bottom:12px; left:12px; border-radius:30px; padding:5px 10px; color:white; background:rgba(18,32,23,.75); font-size:11px; backdrop-filter:blur(10px); }
.person-copy { padding:19px; }.person-copy h4 { font-size:22px; line-height:1.25; margin:0 0 5px; letter-spacing:-.03em; }.person-other { font-size:11px; color:var(--green); }.person-copy p { font-size:14px; color:var(--muted); line-height:1.8; margin:14px 0 0; }
.interest-footnote,.interest-credits { font-size:11px; color:var(--muted); margin-top:14px; }.interest-credits a { text-decoration:underline; text-underline-offset:4px; }
.shelf-heading { margin:42px 0 18px; padding-top:28px; border-top:1px solid var(--line); }.shelf-heading h4 { margin:8px 0 0; font-size:24px; letter-spacing:-.035em; }
.bookshelf { display:flex; gap:15px; overflow-x:auto; padding:3px 2px 17px; margin:0 -2px; scroll-snap-type:x proximity; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }.book-card { position:relative; flex:0 0 148px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#d9dfd4; box-shadow:0 10px 24px rgba(34,50,37,.08); scroll-snap-align:start; }.book-card img { width:100%; height:205px; display:block; object-fit:cover; background:#d9dfd4; }.book-card > p { display:grid; grid-template-columns:auto 1fr; column-gap:8px; align-items:start; margin:0; min-height:67px; padding:10px 11px; background:var(--card); color:var(--muted); font-size:10px; line-height:1.35; }.book-card > p span { grid-row:1/3; color:var(--green); font-weight:700; font-size:10px; }.book-card > p b { color:var(--ink); font-size:12px; line-height:1.25; font-weight:650; }.book-card > p small { font-size:10px; color:var(--muted); }.book-fallback { display:none; height:205px; padding:20px 15px; color:#fff; background:linear-gradient(145deg,#8e5834,#1e3025); flex-direction:column; justify-content:flex-end; }.book-fallback strong { font-family:Georgia,serif; font-size:22px; line-height:1.15; }.book-fallback small { margin-top:9px; font-size:10px; opacity:.78; }.cover-unavailable img { display:none; }.cover-unavailable .book-fallback { display:flex; }
.screen-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.screen-card { min-height:310px; padding:18px; border-radius:18px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; position:relative; color:#fff; background-color:#23372b; background-image:linear-gradient(180deg,rgba(8,12,10,.02) 25%,rgba(8,12,10,.84) 100%),var(--cover); background-position:center; background-size:cover; box-shadow:inset 0 -90px 70px rgba(0,0,0,.42); }.screen-card::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.11),transparent 45%); }.screen-card > * { position:relative; }.screen-card span { font-size:10px; font-weight:700; letter-spacing:.08em; opacity:.9; }.screen-card h4 { font-size:25px; margin:10px 0 3px; letter-spacing:-.055em; line-height:1.02; text-shadow:0 1px 12px rgba(0,0,0,.45); }.screen-card p { margin:0; font-size:11px; opacity:.9; }
.brand-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:13px; }.brand-card { display:flex; flex-direction:column; align-items:center; padding:24px 14px 20px; border:1px solid var(--line); border-radius:18px; background:#fff; text-align:center; transition:border-color .2s,transform .2s; }.brand-card:hover { border-color:var(--green); transform:translateY(-3px); }
.brand-logo { width:100%; height:92px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }.brand-logo img { max-width:90%; max-height:72px; object-fit:contain; }.brand-card span { font-size:15px; font-weight:600; }.brand-card small { font-size:10px; color:var(--muted); margin-top:5px; }
.brand-wordmark { color:#18251c; font:700 25px/1 Georgia,serif; letter-spacing:.12em; }
.brand-single { grid-template-columns: minmax(200px,360px); }.brand-single .brand-logo { height:115px; }
.brand-logo img[src$="masunaga.svg"] { filter:brightness(0); }
.brand-logo img[src$="lindberg.svg"] { width:105px; height:auto; }
.device-heading { margin:43px 0 18px; padding-top:28px; border-top:1px solid var(--line); }.device-heading h4 { margin:8px 0 0; font-size:24px; letter-spacing:-.04em; }.device-grid.device-rail { display:flex; gap:16px; overflow-x:auto; padding:14px 9% 24px; margin:0 -2px; scroll-snap-type:x proximity; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }.device-card { flex:0 0 260px; min-width:260px; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--card); box-shadow:0 10px 28px rgba(25,61,36,.06); scroll-snap-align:center; transition:opacity .3s,filter .3s,transform .3s; }.device-image { height:215px; padding:22px; display:grid; place-items:center; background:radial-gradient(circle at 50% 20%,#fff 0 24%,#f2f6ef 68%,#e4ece1 100%); }.device-image img { width:100%; height:100%; object-fit:contain; object-position:center; mix-blend-mode:multiply; }.device-image.image-unavailable::after { content:'DEVICE'; color:var(--green); font-size:11px; font-weight:700; letter-spacing:.16em; }.device-image.image-unavailable img { display:none; }.device-card > div:last-child { padding:15px 16px 18px; }.device-card span { display:block; font-size:14px; font-weight:700; line-height:1.35; letter-spacing:-.02em; }.device-card p { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }.device-rail .device-card.is-focus { transform:scale(1.045); z-index:2; box-shadow:0 17px 36px rgba(25,61,36,.13); }.device-rail .device-card.is-dim { opacity:.38; filter:blur(1px) saturate(.65); }
.collection-heading { margin:43px 0 18px; padding-top:28px; border-top:1px solid var(--line); }.collection-heading h4 { margin:8px 0 5px; font-size:24px; letter-spacing:-.04em; }.collection-heading p { margin:0; color:var(--muted); font-size:13px; }.collection-rail { display:flex; gap:16px; overflow-x:auto; padding:14px 9% 25px; margin:0 -2px; scroll-snap-type:x proximity; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }.collection-card { flex:0 0 260px; min-width:260px; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--card); box-shadow:0 10px 28px rgba(25,61,36,.06); scroll-snap-align:center; transition:opacity .3s,filter .3s,transform .3s,box-shadow .3s; }.collection-image { height:238px; overflow:hidden; background:#e9eee7; }.collection-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }.collection-card > div:last-child { padding:15px 16px 18px; }.collection-card span { display:block; font-size:14px; font-weight:700; line-height:1.35; letter-spacing:-.02em; }.collection-card p { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }.collection-rail .collection-card.is-focus { transform:scale(1.045); z-index:2; box-shadow:0 17px 36px rgba(25,61,36,.13); }.collection-rail .collection-card.is-dim { opacity:.38; filter:blur(1px) saturate(.65); }
.racket-rail .collection-image { padding:10px; background:radial-gradient(circle at 50% 45%,#fff 0 47%,#edf3ea 100%); }.racket-rail .collection-image img { object-fit:contain; }
#interest-driving .brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:600px; }
.sport-grid,.fitness-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.athlete-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.athlete-card { border-radius:22px; overflow:hidden; border:1px solid var(--line); background:var(--card); }.athlete-card img { width:100%; height:300px; object-fit:cover; object-position:center 25%; display:block; }.athlete-card > div { padding:24px; }.athlete-card h4,.collection-space h4,.training-card h4 { font-size:25px; margin:9px 0; letter-spacing:-.035em; }.athlete-card p { margin:0; color:var(--muted); font-size:13px; }
.collection-space { border:1px dashed #bdcfbb; padding:28px; border-radius:22px; background:linear-gradient(145deg,#edf5e5,#fff); }.collection-space p,.training-card p { color:var(--muted); font-size:14px; }
.racket-art { height:190px; display:grid; place-items:center; }.racket-art i { display:block; width:67px; height:85px; border:3px solid #7a9978; border-radius:50%; position:relative; transform:rotate(-28deg); background:repeating-linear-gradient(90deg,transparent 0 9px,#d3dfce 9px 10px),repeating-linear-gradient(0deg,transparent 0 9px,#d3dfce 9px 10px); }.racket-art i::after { content:''; position:absolute; top:80px; left:29px; height:60px; width:4px; background:#7a9978; border-radius:4px; }
.training-card { border:1px solid var(--line); border-radius:22px; padding:28px; background:var(--card); }.plan-placeholder { display:grid; grid-template-columns:1fr auto; gap:16px; border-top:1px solid var(--line); margin-top:28px; padding-top:20px; color:var(--muted); font-size:13px; }.plan-placeholder strong { color:var(--ink); font-weight:500; }.bench-card { background:#eaf2e3; }.bench-stat { display:flex; gap:10px; align-items:baseline; margin-top:15px; }.bench-stat strong { font-size:58px; line-height:1; font-weight:500; }.bench-stat span { color:var(--green); }.bench-table { overflow-x:auto; }.bench-table table { width:100%; border-collapse:collapse; font-size:12px; text-align:left; }.bench-table th { padding:12px 0; color:var(--green); font-weight:600; border-bottom:1px solid var(--line); }.bench-table td { padding:16px 0; color:var(--muted); }
.training-plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0 0 18px; }.training-plan-card { min-width:0; padding:20px 18px 18px; border:1px solid var(--line); border-radius:18px; background:linear-gradient(145deg,var(--card),rgba(234,242,227,.72)); }.training-plan-card .number { display:block; margin:0 0 10px; color:var(--green); font-size:10px; font-weight:700; letter-spacing:.09em; }.training-plan-card h4 { margin:0 0 12px; font-size:19px; letter-spacing:-.035em; }.training-plan-card ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }.training-plan-card li { padding-top:8px; border-top:1px solid rgba(88,112,90,.18); color:var(--muted); font-size:12px; line-height:1.55; }.training-plan-card li:first-child { padding-top:0; border-top:0; }
.creator-placeholder { border:1px dashed #bdcfbb; border-radius:22px; padding:31px; background:linear-gradient(135deg,#eef5e8,#fff); }.creator-placeholder h4 { font-size:27px; margin:12px 0; letter-spacing:-.04em; }.creator-placeholder p { max-width:560px; color:var(--muted); }.creator-slots { display:flex; gap:9px; margin-top:25px; }.creator-slots span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#dcebd5; color:var(--green); font:700 12px/1 sans-serif; }
.creator-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.creator-card { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:var(--card); color:inherit; text-decoration:none; transition:transform .25s,box-shadow .25s,border-color .25s; }.creator-card:hover { transform:translateY(-4px); border-color:rgba(20,122,67,.38); box-shadow:0 18px 38px rgba(25,61,36,.1); }.creator-photo { position:relative; height:250px; overflow:hidden; background:linear-gradient(135deg,#dcebd5,#eaf4df); }.creator-photo img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s; }.creator-card:hover .creator-photo img { transform:scale(1.035); }.creator-photo span { position:absolute; right:12px; bottom:12px; border-radius:999px; padding:5px 9px; background:rgba(18,32,23,.76); color:#fff; font-size:10px; font-weight:700; letter-spacing:.07em; backdrop-filter:blur(9px); }.creator-card > div:last-child { padding:20px; }.creator-card .number { margin:0 0 8px; }.creator-card h4 { margin:0 0 8px; font-size:25px; letter-spacing:-.04em; }.creator-card p:not(.number) { margin:0; color:var(--muted); font-size:14px; line-height:1.75; }
html[data-theme="dark"] .creator-placeholder, html[data-theme="dark"] .bench-card { background:linear-gradient(135deg,#17271d,#101813); }.creator-slots span { background:rgba(107,199,126,.16); }
@media(max-width:900px) { .people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.screen-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.interest-nav { gap:8px; } }
@media(max-width:900px) { .athlete-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .training-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:560px) { .training-plan-grid { grid-template-columns:1fr; }.training-plan-card { padding:18px 16px; } }
@media(max-width:560px) { .people-grid { gap:10px; }.person-copy { padding:14px; }.person-copy h4 { font-size:19px; }.person-copy p { font-size:12px; }.music-singer-card { flex-basis:205px; }.music-singer-card img { height:174px; }.music-name-card { flex-basis:166px; }.album-card { flex-basis:132px; }.album-card img { height:132px; }.brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.book-card { flex-basis:132px; }.book-card img,.book-fallback { height:185px; }.screen-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.screen-card { min-height:178px; }.screen-card h4 { font-size:22px; }.device-grid.device-rail,.collection-rail { padding-left:8%; padding-right:8%; }.device-card,.collection-card { flex-basis:218px; min-width:218px; }.device-image { height:185px; padding:18px; }.collection-image { height:205px; }.athlete-list,.sport-grid,.fitness-grid,.creator-grid { grid-template-columns:1fr; }.creator-photo { height:230px; }.interest-heading { gap:12px; }.interest-heading p { font-size:13px; }.interest-nav a { padding:8px 11px; }.brand-single { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .portrait img,.brand-card { transition:none; } }
