
/* TROTT BAILEY FAMILY HOMEPAGE V2 · All selectors isolated to #tbf-v2 */
#tbf-v2{--deep:#123b38;--black:#172c29;--lagoon:#117b80;--forest:#477344;--brass:#ba8e4c;--gold:#eeb76b;--mango:#f1a04c;--coral:#cf7059;--rose:#d8889e;--plum:#5b3b52;--ivory:#f9f1e3;--paper:#fffbf4;--ink:#22332e;--mist:#e1eee5;--line:#cbbda5;color:var(--ink);background:var(--ivory);font-family:'DM Sans',system-ui,sans-serif;line-height:1.48;overflow:hidden;position:relative;isolation:isolate}
#tbf-v2 *,#tbf-v2 *:before,#tbf-v2 *:after{box-sizing:border-box}#tbf-v2 a{color:inherit;text-decoration:none}#tbf-v2 button{font:inherit;cursor:pointer}#tbf-v2 button:disabled{cursor:default;opacity:.6}#tbf-v2 img{display:block;max-width:100%}#tbf-v2 :focus-visible{outline:3px solid #f1a04c;outline-offset:4px}#tbf-v2 .wrap{width:min(1190px,calc(100% - 48px));margin:auto}#tbf-v2 .display{font-family:'Bricolage Grotesque',sans-serif;letter-spacing:-.065em;line-height:1}#tbf-v2 .serif{font-family:'Fraunces',Georgia,serif;letter-spacing:-.055em;font-weight:700}#tbf-v2 .smallcap{text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;font-weight:800}#tbf-v2 .quiet{color:#5d6860}#tbf-v2 p{margin:.5em 0 1em}#tbf-v2 .section{padding:90px 0;position:relative}#tbf-v2 .section-head{display:flex;gap:34px;justify-content:space-between;align-items:end;margin-bottom:38px}#tbf-v2 .section-head h2{font-size:clamp(2.6rem,5.6vw,5.8rem);margin:9px 0 0;max-width:840px}#tbf-v2 .section-head p{max-width:360px;font-size:1.05rem;line-height:1.6}#tbf-v2 .eyebrow{display:inline-flex;gap:8px;align-items:center;font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}#tbf-v2 .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1.8px solid currentColor;border-radius:100px;padding:13px 21px;font-weight:800;letter-spacing:-.01em;font-size:.88rem;transition:transform .23s,background .23s,box-shadow .23s}#tbf-v2 .button:hover{transform:translateY(-3px);box-shadow:0 6px 0 #00000019}#tbf-v2 .button.filled{background:var(--deep);color:white;border-color:var(--deep)}#tbf-v2 .button.gold{background:var(--gold);color:var(--black);border-color:var(--black)}#tbf-v2 .button.light{background:#ffffffcc;color:var(--deep)}#tbf-v2 .button.glass{background:#ffffff11;color:#fff;border-color:#ffffffa3}#tbf-v2 .button-row{display:flex;gap:11px;flex-wrap:wrap}#tbf-v2 .rule{height:1px;background:linear-gradient(90deg,transparent,var(--brass),transparent)}
#tbf-v2 .nav-shell{position:relative;background:var(--deep);color:white;border-bottom:1px solid #ffffff38;z-index:20}#tbf-v2 .nav-inner{display:flex;align-items:center;gap:25px;min-height:76px;justify-content:space-between}#tbf-v2 .logo{display:flex;align-items:center;gap:10px;max-width:260px;font-size:.96rem;line-height:1.06;font-weight:800;letter-spacing:-.045em}#tbf-v2 .logo-mark{width:42px;height:42px;display:grid;place-items:center;border:1.5px solid #e4b478;border-radius:50%;color:#f1c783;font-family:Georgia;font-size:1.85rem;flex:none}#tbf-v2 .logo small{display:block;letter-spacing:.13em;font-size:.59rem;font-weight:600;color:#eecb9b;margin-top:3px}#tbf-v2 .nav-items{display:flex;align-items:center;gap:20px;font-size:.79rem;font-weight:700;white-space:nowrap}#tbf-v2 .nav-items a:hover{text-decoration:underline;text-decoration-color:#eec78a;text-underline-offset:7px}#tbf-v2 .nav-menu{display:none;border:1px solid #e7d3b2;background:transparent;color:white;border-radius:14px;padding:8px 12px}#tbf-v2 .fruit-small{border:1px solid #eec78a;background:#eec78a;color:#183732;padding:9px 14px;border-radius:50%;font-size:1.1rem;line-height:1}
#tbf-v2 .hero{color:white;min-height:740px;background:radial-gradient(circle at 0% 100%,#286c59 0,transparent 36%),radial-gradient(circle at 85% 0%,#195e5e 0,transparent 35%),var(--deep);position:relative}#tbf-v2 .hero:before{content:'';position:absolute;inset:0;opacity:.12;background-image:radial-gradient(#f0c586 1px,transparent 1px);background-size:27px 27px;mask-image:linear-gradient(90deg,transparent 22%,black 100%)}#tbf-v2 .hero-inner{display:grid;grid-template-columns:1.04fr .96fr;gap:30px;align-items:center;padding:92px 0 100px;position:relative}#tbf-v2 .hero-brow{display:inline-block;color:#edd4aa;border-bottom:1px solid #c99a67;padding-bottom:9px}#tbf-v2 .hero h1{font-size:clamp(4.45rem,8.5vw,9.25rem);margin:28px 0 23px;text-transform:uppercase}#tbf-v2 .hero h1 span{color:#efc081;display:block;transform:rotate(-2deg);transform-origin:left}#tbf-v2 .hero-titleline{display:block;font:700 clamp(1.4rem,2.8vw,2.6rem)/1.05 'Fraunces',serif;letter-spacing:-.05em;color:#efcf9a;margin:0 0 19px}#tbf-v2 .hero-copy p{font-size:1.13rem;max-width:590px;color:#e6eee8;line-height:1.65}#tbf-v2 .hero-sign{font-size:.79rem;text-transform:uppercase;letter-spacing:.09em;color:#ffe4b5;margin-top:23px}#tbf-v2 .hero-image{height:535px;position:relative;filter:drop-shadow(0 23px 35px #001c1b55)}#tbf-v2 .hero-arch{position:absolute;inset:0 0 30px 34px;border-radius:49% 49% 18px 18px/28% 28% 18px 18px;background:linear-gradient(#0c605448,#0a3b4869),url("../img/architecture-study.webp") center center/cover;outline:4px solid #e5b879;outline-offset:-10px;overflow:hidden}#tbf-v2 .hero-arch:after{content:'CIVILIZATION DESIGN STUDY';position:absolute;bottom:17px;right:17px;color:white;background:#082b28bd;padding:7px 10px;font-size:.58rem;letter-spacing:.15em;font-weight:800}#tbf-v2 .hero-photo{position:absolute;background:linear-gradient(135deg,#f2d6c2,#f3b69e 49%,#c58088);color:#3d3831;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:7px solid #f5e7c8;box-shadow:4px 8px 0 #0d3935;transform:rotate(-7deg);font-size:.87rem;font-weight:700}#tbf-v2 .hero-photo.photo-a{width:43%;height:43%;left:-4%;bottom:0;clip-path:polygon(5% 1%,98% 0,100% 86%,80% 100%,4% 96%,0 20%)}#tbf-v2 .hero-photo.photo-b{width:38%;height:29%;right:0;bottom:-10px;transform:rotate(5deg);background:linear-gradient(145deg,#d5e7ac,#72c6ac)}#tbf-v2 .hero-photo strong{font-family:'Fraunces',Georgia,serif;font-size:1.5rem}#tbf-v2 .hero-photo small{font-size:.65rem;letter-spacing:.11em;text-transform:uppercase;max-width:145px}#tbf-v2 .hero-ring{position:absolute;right:-20px;top:-20px;width:122px;height:122px;border:10px double var(--gold);border-radius:50%;display:grid;place-items:center;background:#b95a4e;color:white;font:800 .8rem 'Bricolage Grotesque';transform:rotate(13deg);text-align:center}#tbf-v2 .hero-branch{position:absolute;left:-40px;top:36px;font-size:3.2rem;filter:drop-shadow(0 4px 0 #0a3030);transform:rotate(-18deg)}
#tbf-v2 .ribbon{background:#da9271;color:#20382c;overflow:hidden;border-block:1px solid #5e3d30}#tbf-v2 .ribbon span{display:block;text-align:center;padding:14px 0;font-size:.84rem;font-weight:800;letter-spacing:.08em}
#tbf-v2 .wealth{background:var(--ivory)}#tbf-v2 .wealth-intro{font-family:'Fraunces',Georgia,serif;font-size:clamp(1.4rem,2.6vw,2.15rem);max-width:780px;line-height:1.33;letter-spacing:-.03em;color:#5d3d52;margin:0 0 37px}#tbf-v2 .wealth-grid{display:grid;grid-template-columns:1.05fr .95fr 1fr;gap:20px}#tbf-v2 .wealth-tile{min-height:280px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:transform .3s;overflow:hidden}#tbf-v2 .wealth-tile:hover{transform:translateY(-6px) rotate(1deg)}#tbf-v2 .wealth-tile strong{font:800 clamp(1.8rem,3vw,3rem)/.99 'Bricolage Grotesque',sans-serif;letter-spacing:-.06em;position:relative;z-index:1}#tbf-v2 .wealth-tile p{max-width:235px;margin:9px 0 0;line-height:1.55;font-size:.93rem;position:relative;z-index:1}#tbf-v2 .wealth-icon{font-size:2.2rem;position:relative;z-index:1}#tbf-v2 .wealth-tile.splat{background:#dc9c6b;clip-path:polygon(8% 0,24% 10%,44% 1%,61% 11%,81% 0,100% 15%,94% 37%,100% 57%,93% 78%,100% 99%,75% 91%,57% 100%,34% 91%,10% 100%,0 82%,7% 59%,0 35%);padding:33px 35px}#tbf-v2 .wealth-tile.heart{background:#d88aa4;clip-path:polygon(50% 15%,68% 0,92% 5%,100% 24%,96% 51%,76% 73%,50% 100%,25% 74%,4% 49%,0 24%,8% 5%,32% 0);padding:46px 29px 38px;text-align:center;align-items:center}#tbf-v2 .wealth-tile.heart p{margin:auto auto 18px}#tbf-v2 .wealth-tile.diamond{background:#bfddc4;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);padding:68px 56px;text-align:center;align-items:center}#tbf-v2 .wealth-tile.diamond p{font-size:.85rem}#tbf-v2 .wealth-tile.arch{border-radius:46% 46% 18px 18px / 26% 26% 18px 18px;background:#b7d2c1;border:1.5px solid #7e998c}#tbf-v2 .wealth-tile.square{background:#f2c68b;border:1.5px solid #c09965;border-radius:22px 90px 22px 22px}#tbf-v2 .wealth-tile.oval{background:#d6c7d5;border:1.5px solid #a69aa7;border-radius:55% 24% 53% 21%/36% 39% 45% 29%;padding:35px 45px}#tbf-v2 .wealth-line{display:flex;align-items:center;gap:25px;margin-top:42px}#tbf-v2 .wealth-line .stroke{height:2px;flex:1;background:linear-gradient(90deg,var(--brass),transparent)}#tbf-v2 .wealth-line b{font-family:'Fraunces',serif;color:var(--plum);font-size:1.25rem}
#tbf-v2 .media{background:var(--deep);color:#f6ecdc;overflow:hidden}#tbf-v2 .media .section-head p{color:#d2e5d9}#tbf-v2 .media-stage{display:grid;grid-template-columns:1.13fr .87fr;gap:22px}#tbf-v2 .world-pane{min-height:470px;border-radius:200px 200px 22px 22px/120px 120px 22px 22px;border:2px solid #bc9564;position:relative;overflow:hidden;background:linear-gradient(165deg,#315e60a1,#143b3bcc),url("../img/door-library-study.webp") center/cover;display:flex;align-items:end;padding:30px}#tbf-v2 .world-pane:after{content:'';position:absolute;inset:13px;border:1px solid #f2d7aa96;border-radius:inherit;pointer-events:none}#tbf-v2 .world-pane .world-content{position:relative;z-index:1;max-width:490px;padding:17px;background:#173d39bf;backdrop-filter:blur(9px);border-radius:15px}#tbf-v2 .media-card-title{font:800 clamp(2.3rem,4vw,4rem)/.98 'Bricolage Grotesque',sans-serif;letter-spacing:-.06em;margin:12px 0}#tbf-v2 .jukebox{border:1px solid #b68e6c;border-radius:25px;background:#f5e5d3;color:var(--deep);padding:25px;min-height:470px;display:flex;flex-direction:column;position:relative;overflow:hidden}#tbf-v2 .jukebox:before{content:'';position:absolute;inset:0;opacity:.16;background-image:repeating-radial-gradient(circle at 65% 15%,#8c2e66 0 2px,transparent 3px 18px);pointer-events:none}#tbf-v2 .jukebox > *{position:relative;z-index:1}#tbf-v2 .record-frame{width:min(245px,68%);aspect-ratio:1;margin:15px auto 13px;border-radius:50%;background:repeating-radial-gradient(circle,#252936 0 2px,#22212b 3px 5px,#302a39 6px 7px);box-shadow:0 9px 0 #8f6e5b,0 15px 23px #0003;display:grid;place-items:center;animation:tbf-vinyl 16s linear infinite}#tbf-v2 .record-frame:before{content:'TBF ♪';width:35%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#efbf7d 0 10%,#d88d9f 11% 63%,#f2c28c 64%);display:grid;place-items:center;font-weight:900;font-size:.72rem;letter-spacing:.05em}#tbf-v2 .jukebox h3{font-size:1.6rem;line-height:1.1;letter-spacing:-.05em;margin:9px 0}#tbf-v2 .jukebox p{font-size:.93rem;flex:1}#tbf-v2 .jukebox .button{align-self:flex-start}#tbf-v2 .slots-foot{margin-top:21px;color:#cddad2;font-size:.77rem;line-height:1.6}
#tbf-v2 .photos{padding:74px 0 95px;background:linear-gradient(180deg,#e9d7c7,#fcf5e8)}#tbf-v2 .photo-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}#tbf-v2 .photo-header h2{font-size:clamp(3.5rem,7.5vw,8rem);margin:6px 0}#tbf-v2 .photo-header p{max-width:420px}#tbf-v2 .photo-masonry{columns:4 225px;column-gap:14px}#tbf-v2 .moment{display:inline-flex;width:100%;vertical-align:top;margin-bottom:14px;min-height:230px;break-inside:avoid;background:var(--bg,#d7e8c9);border:8px solid #fff9ee;box-shadow:0 5px 13px #543f3730;border-radius:var(--shape,18px);padding:20px;align-items:flex-end;position:relative;isolation:isolate;overflow:hidden}#tbf-v2 .moment:before{content:attr(data-symbol);position:absolute;inset:15px 14px auto auto;opacity:.5;font-size:4.9rem;line-height:1;transform:rotate(-14deg);z-index:-1}#tbf-v2 .moment h3{font-family:'Bricolage Grotesque';letter-spacing:-.05em;line-height:1.1;font-size:1.5rem;margin:0}#tbf-v2 .moment span{display:block;font-size:.66rem;letter-spacing:.09em;font-weight:800;margin-bottom:9px}#tbf-v2 .moment.tall{min-height:335px}#tbf-v2 .moment.taller{min-height:405px}#tbf-v2 .moment.moment-hidden{display:none}#tbf-v2 .photo-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:25px}#tbf-v2 .placeholder-note{max-width:640px;font-size:.8rem;color:#686459;line-height:1.55}
#tbf-v2 .score-section{background:#e1efe4}#tbf-v2 .score-grid{display:grid;grid-template-columns:.83fr 1.17fr;gap:23px}#tbf-v2 .score-hero{background:#163f42;border:1px solid #bd9a71;color:#fff7e8;border-radius:50% 50% 22px 22px/16% 16% 22px 22px;padding:37px 32px;display:flex;flex-direction:column;justify-content:space-between;min-height:590px}#tbf-v2 .score-hero h3{font-size:clamp(3rem,6vw,6.6rem);line-height:.96;letter-spacing:-.09em;margin:14px 0 0;color:#ebbd7c}#tbf-v2 .score-hero .number{font-size:clamp(5.5rem,9vw,10rem);font-family:'Bricolage Grotesque';line-height:1;letter-spacing:-.1em;font-weight:800;color:#edbb76}#tbf-v2 .score-hero p{font-size:.94rem;color:#d2e4dc}#tbf-v2 .score-pill{background:#f2c88b;color:#22372f;border-radius:999px;padding:14px 18px;font-weight:900;width:max-content;font-size:1.3rem;max-width:100%}#tbf-v2 .rank-board{background:#fdf8ec;border:1.5px solid #b8a58d;border-radius:22px;padding:27px 24px}#tbf-v2 .rank-board-top{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:12px;font-size:.77rem}#tbf-v2 .rank-line{display:grid;grid-template-columns:31px minmax(112px,1fr) minmax(75px,1.4fr) 58px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #ddd7c8;font-size:.86rem}#tbf-v2 .rank-line:last-child{border-bottom:0}#tbf-v2 .rank-line .rank-name{font-weight:700;line-height:1.15}#tbf-v2 .rank-line .rank-bar{height:12px;background:#e9e5de;border-radius:100px;overflow:hidden;position:relative}#tbf-v2 .rank-line .rank-fill{display:block;height:100%;width:var(--w);background:#9c7488;border-radius:100px;transform-origin:left;animation:tbf-grow .85s both}#tbf-v2 .rank-line:first-of-type .rank-fill{background:linear-gradient(90deg,#df944c,#f1bd78)}#tbf-v2 .rank-line .score-val{font-variant-numeric:tabular-nums;text-align:right;font-weight:800}#tbf-v2 .rank-note{font-size:.72rem;color:#6d776e;margin:12px 0 0}#tbf-v2 .score-summary{display:flex;gap:15px;flex-wrap:wrap;align-items:center;margin-top:26px}#tbf-v2 .score-avg{font-family:'Fraunces';font-size:1.2rem;color:#314c46}
#tbf-v2 .love{background:radial-gradient(circle at 10% 20%,#d0a2a9 0,transparent 45%),#694257;color:#fff4ec}#tbf-v2 .love-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}#tbf-v2 .love h2{font-size:clamp(3.3rem,6.2vw,6.9rem);margin:12px 0 22px}#tbf-v2 .love p{max-width:560px;font-size:1.08rem;line-height:1.76}#tbf-v2 .love-photo{height:515px;position:relative;display:grid;place-items:center}#tbf-v2 .heart-shape{height:470px;width:min(100%,490px);clip-path:polygon(50% 16%,69% 0,90% 2%,100% 19%,100% 41%,84% 66%,50% 100%,16% 66%,0 41%,0 19%,10% 2%,31% 0);background:linear-gradient(155deg,#c98797,#f6c9a7 52%,#b1d4ba);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#5a354e;text-align:center;filter:drop-shadow(0 7px 9px #0004);padding:40px}#tbf-v2 .heart-shape strong{font:800 3.7rem 'Fraunces',serif}#tbf-v2 .heart-shape small{font-size:.82rem;letter-spacing:.14em;font-weight:800}#tbf-v2 .love-outline{position:absolute;width:100px;height:100px;border:3px solid #e4bd83;transform:rotate(45deg);right:2%;bottom:8%}#tbf-v2 .love-outline:after{content:'♥';position:absolute;inset:0;transform:rotate(-45deg);display:grid;place-items:center;font-size:2.8rem;color:#f5c68b}#tbf-v2 .love-panel{margin-top:20px;border-left:4px solid #e9b679;padding:9px 0 9px 17px;font-size:.86rem;color:#f7dce5}
#tbf-v2 .heritage{background:#fbf0e4;padding-bottom:75px}#tbf-v2 .heritage-banner{text-align:center;max-width:910px;margin:auto}#tbf-v2 .heritage-banner h2{font-size:clamp(2.65rem,5.1vw,5.5rem);margin:13px auto 15px}#tbf-v2 .heritage-banner p{font-size:1.23rem;line-height:1.6}#tbf-v2 .birthmarks{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}#tbf-v2 .birthmark{background:#fffaf0;border:1.5px solid #bd9d81;border-radius:50% 50% 14px 14px/22% 22% 14px 14px;padding:15px 22px;min-width:190px;box-shadow:0 6px 0 #c3947c40}#tbf-v2 .birthmark b{font:800 1.3rem 'Bricolage Grotesque';letter-spacing:-.06em}#tbf-v2 .birthmark span{display:block;font-size:.79rem;margin-top:3px}
#tbf-v2 .children{background:#fbf0e4;padding-top:22px}#tbf-v2 .kid-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}#tbf-v2 .kid{background:#fffaf0;border:1.5px solid #b99573;border-radius:170px 170px 18px 18px/130px 130px 18px 18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s}#tbf-v2 .kid:hover{transform:translateY(-7px)}#tbf-v2 .kid-visual{height:310px;display:grid;place-items:center;position:relative;background:var(--kidbg)}#tbf-v2 .kid-visual .kid-symbol{font-size:7.5rem;filter:drop-shadow(0 5px 0 #ffffff9c)}#tbf-v2 .kid-visual:after{content:'FAMILY PHOTO GOES HERE';position:absolute;bottom:15px;left:12px;right:12px;text-align:center;font-size:.68rem;font-weight:800;letter-spacing:.12em;padding:7px;background:#fffae5c4;border-radius:8px}#tbf-v2 .kid-body{padding:28px;flex:1;display:flex;flex-direction:column}#tbf-v2 .kid-country{color:#775f4d;font-size:.7rem;letter-spacing:.13em;font-weight:900;text-transform:uppercase}#tbf-v2 .kid h3{font:800 clamp(2.5rem,4vw,4.3rem)/1 'Bricolage Grotesque';letter-spacing:-.08em;margin:10px 0}#tbf-v2 .kid p{line-height:1.63;font-size:.96rem;flex:1}#tbf-v2 .kid a{font-size:.92rem;font-weight:800;color:#0b6662;border-bottom:2px solid #0b6662;align-self:flex-start;margin:10px 0 0}
#tbf-v2 .portals{background:#d6e5db}#tbf-v2 .portal-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 24px}#tbf-v2 .portal-tab{padding:12px 17px;border:1.5px solid #6e9288;border-radius:100px;background:#f9f4ea;font-weight:800;font-size:.85rem;color:#204b42}#tbf-v2 .portal-tab[aria-selected="true"]{background:#144b48;color:#fff;border-color:#144b48}#tbf-v2 .portal-stage{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;min-height:305px;background:#fbf5e8;border:1.5px solid #b8a186;border-radius:23px;padding:30px}#tbf-v2 .portal-art{min-height:235px;border-radius:100px 100px 23px 23px/80px 80px 23px 23px;background:linear-gradient(145deg,#df9d7c,#e6c999);display:grid;place-items:center;font-size:6.2rem;border:1.5px solid #b28d77}#tbf-v2 .portal-copy{display:flex;flex-direction:column;align-items:start;justify-content:center}#tbf-v2 .portal-copy h3{font:800 clamp(2.3rem,4.6vw,4.7rem)/1 'Bricolage Grotesque';letter-spacing:-.06em;margin:10px 0}#tbf-v2 .portal-copy p{font-size:1.06rem;max-width:580px}#tbf-v2 .portal-copy .button{margin-top:12px}
#tbf-v2 .worlds{background:#f7ecdf}#tbf-v2 .worlds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}#tbf-v2 .world-card{border:1.4px solid #cbb799;background:#fffaf1;border-radius:22px 70px 22px 22px;overflow:hidden;display:flex;flex-direction:column}#tbf-v2 .world-card .world-image{height:175px;background:var(--worldbg);display:grid;place-items:center;font-size:4.4rem;position:relative;overflow:hidden}#tbf-v2 .world-card .world-image:before{content:'';position:absolute;inset:13px;border:1.4px solid #f9f0d0ba;border-radius:inherit}#tbf-v2 .world-card .world-body{padding:24px;flex:1;display:flex;flex-direction:column}#tbf-v2 .world-card h3{font:800 2rem 'Bricolage Grotesque';letter-spacing:-.06em;line-height:1.1;margin:9px 0}#tbf-v2 .world-card p{line-height:1.55;flex:1;font-size:.92rem}#tbf-v2 .world-card a{font-weight:800;color:#13756d;border-bottom:2px solid #13756d;align-self:flex-start}
#tbf-v2 .book-section{background:#1b504b;color:#fff9ec}#tbf-v2 .book-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:center}#tbf-v2 .book-section h2{font-size:clamp(3.5rem,6.1vw,7rem);margin:14px 0 22px}#tbf-v2 .book-section p{font-size:1.1rem;line-height:1.72;max-width:600px}#tbf-v2 .book-stage{height:470px;display:grid;place-items:center;perspective:1500px}#tbf-v2 .book-object{width:275px;height:380px;position:relative;transform-style:preserve-3d;filter:drop-shadow(20px 19px 10px #062b2b80);transition:transform .85s}#tbf-v2 .book-object.is-open{transform:translateX(73px) rotate(-5deg)}#tbf-v2 .book-back{position:absolute;inset:0;background:#fcf4df;border:6px solid #e6d0a5;border-radius:4px 17px 17px 4px;box-shadow:inset -12px 0 7px #94876a26;color:#423c33;padding:40px 23px;font-family:'Fraunces';text-align:center;font-size:1.8rem;line-height:1.25}#tbf-v2 .book-back small{display:block;font:600 .8rem 'DM Sans';margin-top:25px}#tbf-v2 .book-cover{position:absolute;inset:0;transform-origin:left center;transition:transform 1s cubic-bezier(.18,.83,.2,1);transform-style:preserve-3d;backface-visibility:hidden;background:linear-gradient(110deg,#281f40,#69455b 60%,#8a5d6d);border:7px double #d9a866;border-radius:4px 18px 18px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 18px;text-align:center;color:#fee6b0}#tbf-v2 .book-cover:before{content:'❦';position:absolute;top:15px;font-size:3.2rem;color:#d6ae81}#tbf-v2 .book-cover strong{font:800 2rem/1.04 'Fraunces';letter-spacing:-.045em}#tbf-v2 .book-cover small{letter-spacing:.24em;margin-top:18px;font-size:.67rem}#tbf-v2 .book-object.is-open .book-cover{transform:rotateY(-155deg)}#tbf-v2 .book-control{text-align:center}#tbf-v2 .book-control button{background:#e6b676;color:#243e39;border:1.5px solid #fff1cb;padding:11px 25px;border-radius:100px;font-weight:900}
#tbf-v2 .free-life{background:#e0edd7}#tbf-v2 .free-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}#tbf-v2 .free-life h2{font-size:clamp(3rem,6vw,6rem);margin:12px 0 18px}#tbf-v2 .free-life p{font-size:1.1rem;line-height:1.65}#tbf-v2 .free-jewel{background:linear-gradient(155deg,#226e67,#3c958c);color:#f7e9c5;min-height:400px;clip-path:polygon(50% 0,100% 32%,91% 86%,50% 100%,9% 86%,0 32%);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:75px 65px;border:10px solid #0000}#tbf-v2 .free-jewel span{font-size:3rem}#tbf-v2 .free-jewel strong{font:800 2.3rem 'Bricolage Grotesque';letter-spacing:-.07em;max-width:300px}#tbf-v2 .free-jewel small{margin-top:12px;font-size:.85rem}
#tbf-v2 .coverage{background:#eee0d8}#tbf-v2 .coverage-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}#tbf-v2 .coverage-petal{position:relative;aspect-ratio:1;max-width:500px;margin:auto}#tbf-v2 .coverage-petal svg{width:100%;height:100%}#tbf-v2 .coverage h2{font-size:clamp(3rem,5.4vw,6rem);margin:8px 0 20px}#tbf-v2 .coverage p{font-size:1.07rem;line-height:1.65}#tbf-v2 .coverage-keys{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:24px 0}#tbf-v2 .coverage-keys span{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800}#tbf-v2 .coverage-keys i{width:14px;height:14px;border-radius:50%;background:var(--swatch);display:inline-block}#tbf-v2 .coverage-foot{font-size:.73rem;color:#665c60}
#tbf-v2 .declaration{background:#3f3242;color:#fff5e7;position:relative}#tbf-v2 .declaration:before{content:'✝';position:absolute;right:3%;top:-120px;font-size:32rem;color:#ffffff09;line-height:1}#tbf-v2 .declaration .wrap{position:relative;z-index:1}#tbf-v2 .declaration blockquote{border-left:4px solid #e2b779;margin:25px 0;padding-left:27px;max-width:940px;font:600 clamp(1.4rem,2.8vw,2.6rem)/1.42 'Fraunces',Georgia,serif;letter-spacing:-.035em}#tbf-v2 .declaration .riding{font:800 clamp(2.5rem,6vw,5.7rem)/1 'Bricolage Grotesque';letter-spacing:-.055em;color:#eab47e;margin:30px 0 0}
#tbf-v2 .footer{background:#153a38;color:#eae2d2;padding:74px 0 27px}#tbf-v2 .footer h2{font-size:clamp(3rem,6.8vw,7.4rem);margin:5px 0 20px;max-width:900px}#tbf-v2 .footer p{font-size:1.14rem;max-width:780px;line-height:1.7}#tbf-v2 .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:24px;margin-top:60px;border-top:1px solid #ffffff55;font-size:.78rem}#tbf-v2 .footer-links{display:flex;gap:14px;flex-wrap:wrap;font-weight:800}#tbf-v2 .footer-links a:hover{text-decoration:underline}#tbf-v2 .motion{position:fixed;z-index:30;right:16px;bottom:15px;border:1px solid #ba925b;color:#153c38;background:#f7e8c7;padding:10px 15px;font-size:.76rem;border-radius:50px;font-weight:900;box-shadow:0 4px 18px #0004}#tbf-v2 .rain-layer{position:fixed;inset:0;pointer-events:none;z-index:99}#tbf-v2 .fruitfall{position:absolute;top:-80px;left:var(--x);font-size:var(--fs);animation:tbf-drop var(--dur) ease-in forwards;filter:drop-shadow(0 5px 3px #0003)}#tbf-v2 .reveal{opacity:1;transform:none}#tbf-v2.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .72s,transform .72s}#tbf-v2.js .reveal.show{opacity:1;transform:none}#tbf-v2.is-still *,#tbf-v2.is-still *:before,#tbf-v2.is-still *:after{animation-duration:.001ms!important;transition-duration:.001ms!important}#tbf-v2.is-still .reveal{opacity:1;transform:none}
@keyframes tbf-vinyl{to{transform:rotate(360deg)}}@keyframes tbf-grow{from{transform:scaleX(.03)}to{transform:scaleX(1)}}@keyframes tbf-drop{0%{transform:translate(0,-20px) rotate(0);opacity:0}7%{opacity:1}88%{opacity:1}100%{transform:translate(var(--drift),113vh) rotate(var(--rotation));opacity:0}}
@media(max-width:1040px){#tbf-v2 .nav-items{gap:11px;font-size:.73rem}#tbf-v2 .logo{font-size:.87rem}#tbf-v2 .hero h1{font-size:clamp(4.2rem,8.6vw,8rem)}#tbf-v2 .wealth-grid{gap:12px}#tbf-v2 .wealth-tile{min-height:260px}#tbf-v2 .wealth-tile.diamond{padding:56px 41px}#tbf-v2 .kid-visual{height:270px}}
@media(max-width:810px){#tbf-v2 .nav-inner{min-height:70px;flex-wrap:wrap}#tbf-v2 .nav-menu{display:block}#tbf-v2 .nav-items{display:none;flex:0 0 100%;order:10;flex-direction:column;align-items:flex-start;padding:4px 0 20px;gap:17px}#tbf-v2 .nav-items.is-open{display:flex}#tbf-v2 .nav-inner .fruit-small{margin-left:auto}#tbf-v2 .hero-inner,#tbf-v2 .media-stage,#tbf-v2 .score-grid,#tbf-v2 .love-grid,#tbf-v2 .portal-stage,#tbf-v2 .book-grid,#tbf-v2 .free-grid,#tbf-v2 .coverage-grid{grid-template-columns:1fr}#tbf-v2 .hero-inner{padding:65px 0 92px}#tbf-v2 .hero-image{max-width:640px;width:100%;margin:10px auto 0}#tbf-v2 .section{padding:70px 0}#tbf-v2 .section-head{display:block}#tbf-v2 .section-head p{margin-top:15px;max-width:610px}#tbf-v2 .wealth-grid{grid-template-columns:repeat(2,1fr)}#tbf-v2 .wealth-tile.diamond{min-height:280px}#tbf-v2 .media-stage{gap:17px}#tbf-v2 .world-pane{min-height:425px}#tbf-v2 .jukebox{min-height:450px}#tbf-v2 .score-hero{min-height:390px}#tbf-v2 .love-photo{height:420px}#tbf-v2 .heart-shape{height:400px}#tbf-v2 .kid-row{gap:12px}#tbf-v2 .kid-body{padding:20px}#tbf-v2 .kid h3{font-size:2.5rem}#tbf-v2 .worlds-grid{grid-template-columns:1fr 1fr}#tbf-v2 .book-stage{height:425px}#tbf-v2 .coverage-petal{max-width:420px}}
@media(max-width:610px){#tbf-v2 .wrap{width:min(100% - 30px,1190px)}#tbf-v2 .logo{font-size:.75rem}#tbf-v2 .logo-mark{width:37px;height:37px}#tbf-v2 .hero h1{font-size:clamp(3.6rem,13vw,6rem)}#tbf-v2 .hero-image{height:430px}#tbf-v2 .hero-ring{width:88px;height:88px;font-size:.6rem;right:-3px}#tbf-v2 .hero-photo strong{font-size:1.1rem}#tbf-v2 .hero-photo small{font-size:.53rem}#tbf-v2 .hero-sign{font-size:.68rem}#tbf-v2 .ribbon span{font-size:.67rem}#tbf-v2 .section-head h2{font-size:clamp(2.7rem,11vw,4.3rem)}#tbf-v2 .wealth-grid{grid-template-columns:1fr 1fr;gap:10px}#tbf-v2 .wealth-tile{min-height:225px;padding:17px!important}#tbf-v2 .wealth-tile strong{font-size:1.55rem}#tbf-v2 .wealth-tile p{font-size:.75rem;line-height:1.45}#tbf-v2 .wealth-tile.heart{padding-top:30px!important;padding-bottom:25px!important}#tbf-v2 .wealth-tile.heart p{margin:auto 0}#tbf-v2 .wealth-tile.diamond{padding:38px 24px!important;min-height:225px}#tbf-v2 .wealth-tile.diamond strong{font-size:1.3rem}#tbf-v2 .wealth-icon{font-size:1.6rem}#tbf-v2 .world-pane{min-height:360px;padding:16px}#tbf-v2 .media-card-title{font-size:2.5rem}#tbf-v2 .photo-header{display:block}#tbf-v2 .photo-header h2{font-size:4rem}#tbf-v2 .photo-masonry{columns:2 140px;column-gap:10px}#tbf-v2 .moment{min-height:170px;border-width:5px;padding:10px;margin-bottom:10px}#tbf-v2 .moment.tall{min-height:250px}#tbf-v2 .moment.taller{min-height:300px}#tbf-v2 .moment h3{font-size:1.16rem}#tbf-v2 .moment:before{font-size:2.6rem}#tbf-v2 .rank-board{padding:15px 12px}#tbf-v2 .rank-line{grid-template-columns:19px minmax(94px,1fr) minmax(34px,.65fr) 43px;gap:6px;font-size:.74rem}#tbf-v2 .rank-line .rank-name{font-size:.76rem}#tbf-v2 .rank-note{font-size:.68rem}#tbf-v2 .score-hero{padding:28px 23px}#tbf-v2 .score-hero h3{font-size:3.8rem}#tbf-v2 .score-hero .number{font-size:6rem}#tbf-v2 .love h2{font-size:3.9rem}#tbf-v2 .heritage-banner p{font-size:1.05rem}#tbf-v2 .birthmark{min-width:130px;flex:1;padding:12px}#tbf-v2 .kid-row{grid-template-columns:1fr}#tbf-v2 .kid{max-width:430px;width:100%;margin:auto}#tbf-v2 .kid-visual{height:320px}#tbf-v2 .kid-body{padding:25px}#tbf-v2 .kid h3{font-size:3.1rem}#tbf-v2 .worlds-grid{grid-template-columns:1fr}#tbf-v2 .portal-stage{padding:17px}#tbf-v2 .portal-art{min-height:200px}#tbf-v2 .book-stage{height:420px}#tbf-v2 .book-object{transform:scale(.86)}#tbf-v2 .book-object.is-open{transform:scale(.86) translateX(55px) rotate(-5deg)}#tbf-v2 .free-jewel{min-height:370px;padding:75px 60px}#tbf-v2 .free-jewel strong{font-size:1.9rem}#tbf-v2 .coverage-keys{gap:5px}#tbf-v2 .coverage-keys span{font-size:.65rem}#tbf-v2 .declaration blockquote{padding-left:15px;margin-left:0;font-size:1.5rem}#tbf-v2 .footer-bottom{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){#tbf-v2 *,#tbf-v2 *:before,#tbf-v2 *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}#tbf-v2 .reveal{opacity:1!important;transform:none!important}}

/* THE HOMEPAGE PLUGIN: selected family images, native media embeds, interactive music */
#tbf-v2 .hero-photo{overflow:hidden}#tbf-v2 .hero-photo img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;z-index:0}#tbf-v2 .hero-photo .tbfh-placeholder{position:relative;z-index:1}#tbf-v2 .hero-photo:has(img) .tbfh-placeholder{display:none}
#tbf-v2 .hero-arch.has-selected{background:linear-gradient(#0b504836,#0a3b4870),var(--selected-hero) center/cover no-repeat}
#tbf-v2 .kid-visual{overflow:hidden}#tbf-v2 .kid-visual img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;z-index:1}#tbf-v2 .kid-visual:has(img) .kid-symbol{display:none}#tbf-v2 .love .heart-shape{overflow:hidden}#tbf-v2 .heart-shape img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:1}#tbf-v2 .heart-shape:has(img) small,#tbf-v2 .heart-shape:has(img) strong{display:none}
#tbf-v2 .moment:has(img){background:#dbe4d7}#tbf-v2 .moment img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}#tbf-v2 .moment:has(img):before{display:none}#tbf-v2 .moment:has(img) div{position:relative;z-index:2}#tbf-v2 .moment:has(img):after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#152e2acb);z-index:1}
#tbf-v2 .tbfh-native{min-width:0;width:100%;overflow:hidden}#tbf-v2 .tbfh-native *,#tbf-v2 .tbfh-native *:before,#tbf-v2 .tbfh-native *:after{max-width:100%}#tbf-v2 .tbfh-native iframe{width:100%;max-width:100%}#tbf-v2 .tbfh-native-photo{margin:30px 0;border-radius:28px;overflow:hidden;background:#fff9ef;min-height:200px}#tbf-v2 .tbfh-native-photo .tbfh-photofall-note{padding:18px;font-size:.82rem}
#tbf-v2 .tbfh-world-native{width:100%;margin-top:15px;max-height:460px;overflow:auto;border-radius:14px}#tbf-v2 .tbfh-world-native img{max-height:310px;object-fit:cover}#tbf-v2 .tbfh-mini-world{margin:16px 0 0;padding:13px 16px;background:#fff8ee18;border:1px solid #fffffc4a;border-radius:18px}#tbf-v2 .tbfh-mini-world a{font-weight:800;text-decoration:underline;text-underline-offset:3px}
#tbf-v2 .tbfh-selected-video{border-radius:22px;overflow:hidden;margin:10px 0}#tbf-v2 .tbfh-selected-video video{width:100%;height:auto;max-height:350px;background:#172c29}#tbf-v2 .tbfh-selected-video iframe{width:100%;aspect-ratio:16/9;border:0}:is(#tbf-v2, body) .tbfh-music-ui{display:flex;gap:9px;align-items:center;justify-content:center;padding:13px 0}
:is(#tbf-v2, body) .tbfh-music-ui button{border:1.5px solid #e3cba7;border-radius:50%;background:#fff7ec;color:#21413a;width:40px;height:40px;display:grid;place-items:center}:is(#tbf-v2, body) .tbfh-music-ui button:hover{background:#ead5ae}
:is(#tbf-v2, body) .tbfh-music-dock{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:90;background:#173d39f5;color:#ffefcf;border:1px solid #d7b780;border-radius:999px;box-shadow:0 17px 45px #0b241e57;display:flex;align-items:center;gap:12px;max-width:min(94%,640px);min-width:min(94%,360px);padding:9px 14px;backdrop-filter:blur(14px)}:is(#tbf-v2, body) .tbfh-music-dock .tbfh-music-name{flex:1;min-width:0;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:is(#tbf-v2, body) .tbfh-music-dock .tbfh-music-name strong{display:block;line-height:1.1;font-size:.88rem}:is(#tbf-v2, body) .tbfh-music-dock button{flex:none;border:1px solid #d6b888;border-radius:100px;padding:5px 11px;background:#f6dfac;color:#16332b;font-weight:900}:is(#tbf-v2, body) .tbfh-music-dock [data-music-status]{font-size:.7rem;color:#e7c999}:is(#tbf-v2, body) .tbfh-music-dock[hidden]{display:none}
#tbf-v2 .tbfh-point-play{border:1px solid currentColor;background:transparent;color:inherit;border-radius:100px;padding:7px 13px;font-weight:800;font-size:.75rem;display:inline-flex;gap:6px;align-items:center}#tbf-v2 .tbfh-point-play:hover{background:#fff4dc22}#tbf-v2 .tbfh-floating-fruit{position:fixed;top:-90px;z-index:100;font-size:var(--fs,2.3rem);left:var(--x,50%);pointer-events:none;animation:tbfh-fall var(--dur,4s) cubic-bezier(.1,.6,.5,1) forwards;filter:drop-shadow(0 9px 4px #0003)}@keyframes tbfh-fall{0%{opacity:0;transform:translateY(-60px) rotate(0)}9%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translate(calc(var(--drift,0px)),calc(100vh + 180px)) rotate(var(--rotation,240deg))}}
#tbf-v2 .tbfh-fruit-summon{position:relative}#tbf-v2 .tbfh-fruit-summon:after{content:'🍌 🍉';display:inline-block;margin-left:8px;font-size:1.1rem}
#tbf-v2 .tbfh-selected-photo-note{font-size:.72rem;font-weight:800;letter-spacing:.05em;display:block}#tbf-v2 .tbfh-photo-more{display:none}#tbf-v2 .tbfh-photo-more.active{display:inline-flex}#tbf-v2 .tbfh-photo-wrap .moment.moment-hidden{display:none}#tbf-v2 .tbfh-compact-reel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}#tbf-v2 .tbfh-compact-reel .moment{min-height:150px}#tbf-v2 .tbfh-video-fallback{background:#efe2cc;color:#173c37;border-radius:22px;padding:34px;min-height:220px;display:grid;place-items:center;text-align:center}
@media(max-width:700px){:is(#tbf-v2, body) .tbfh-music-dock{bottom:10px;min-width:94%;padding:9px 11px;gap:8px}:is(#tbf-v2, body) .tbfh-music-dock .tbfh-music-name{font-size:.68rem}:is(#tbf-v2, body) .tbfh-music-dock button{padding:5px 8px}#tbf-v2 .tbfh-compact-reel{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){#tbf-v2 .tbfh-floating-fruit{display:none}}

#tbf-v2 .hero-quadrillion{display:inline-flex;margin:7px 0 14px;color:#ffdd9f;text-decoration:underline;text-decoration-color:#d4a96e;text-underline-offset:5px;font-weight:900;font-size:.76rem;letter-spacing:.07em;line-height:1.3}
#tbf-v2 .portals .portal-art:after{content:"";display:block;position:absolute;inset:auto 0 0 auto;width:38%;height:43%;background:url("../img/door-library-study.webp") center/cover;border-radius:44% 0 12px 0;opacity:.2;pointer-events:none;mix-blend-mode:multiply}

#tbf-v2 .tbfh-video-reel{margin:34px 0 8px;color:#ffe7c1}#tbf-v2 .tbfh-video-reel>.eyebrow{margin-bottom:14px}#tbf-v2 .tbfh-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}#tbf-v2 .tbfh-video-item{min-width:0;border:1px solid #edc9988a;border-radius:20px;overflow:hidden;background:#104b47}#tbf-v2 .tbfh-video-item>span{display:block;padding:10px 14px;font-weight:800;font-size:.78rem}#tbf-v2 .tbfh-video-frame{aspect-ratio:16/9;overflow:hidden;background:#102a2a}#tbf-v2 .tbfh-video-frame video,#tbf-v2 .tbfh-video-frame iframe{width:100%;height:100%;border:0;object-fit:cover}
@media(max-width:700px){#tbf-v2 .tbfh-video-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}#tbf-v2 .tbfh-video-item{flex:0 0 min(84vw,340px);scroll-snap-align:start}}

/* 1.0.1 — native Photofall owns its own layout; do not crop its toolbar, menus or masonry. */
#tbf-v2 .tbfh-native-photo { overflow:visible; background:transparent; border-radius:0; min-height:0; position:relative; isolation:isolate; }
#tbf-v2 .tbfh-native-photo *, #tbf-v2 .tbfh-native-photo *::before, #tbf-v2 .tbfh-native-photo *::after { max-width:none; }
#tbf-v2 .tbfh-native-photo img, #tbf-v2 .tbfh-native-photo video, #tbf-v2 .tbfh-native-photo iframe { max-width:100%; }
#tbf-v2 .tbfh-provider-warning{font-size:.77rem;padding:10px;border:1px dashed #ae5b44;border-radius:12px;color:#8a422b;}

/* 1.0.2 — child photo triptychs: large main portrait, two overlapping framed memories. */
#tbf-v2 .kid-visual { overflow:hidden; height:360px; }
#tbf-v2 .kid-visual:after { display:none; }
#tbf-v2 .tbfh-photo-collage { position:relative; width:100%; height:100%; isolation:isolate; }
#tbf-v2 .tbfh-collage-frame { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; overflow:hidden; color:#364940; box-shadow:0 6px 0 #184d4559,0 15px 24px #132d2742; background:linear-gradient(135deg,#f1d8b5,#e5a7ac 53%,#a9c9b7); }
#tbf-v2 .tbfh-collage-frame img { display:block; object-fit:cover; position:absolute; inset:0; width:100%; height:100%; max-width:100%; }
#tbf-v2 .tbfh-collage-frame small { font-size:.63rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; max-width:83%; z-index:1; }
#tbf-v2 .tbfh-collage-frame span { font-size:clamp(3.5rem,7vw,6rem); z-index:1; line-height:1.1; }
#tbf-v2 .tbfh-collage-main { inset:13px 17px 49px; border:7px solid #f9ecd9; border-radius:44% 44% 15px 15px / 23% 23% 15px 15px; transform:rotate(-1.5deg); }
#tbf-v2 .tbfh-collage-lower-left { left:0; bottom:0; width:46%; height:43%; z-index:2; border:6px solid #edc98c; border-radius:12px 41px 14px 40px; transform:rotate(-8deg); }
#tbf-v2 .tbfh-collage-lower-right { right:-1px; bottom:1px; width:46%; height:39%; z-index:3; border:6px solid #edcfde; border-radius:40px 12px 40px 14px; transform:rotate(8deg); background:linear-gradient(150deg,#bdcfbc,#b3d0d0); }
#tbf-v2 .kid-visual .tbfh-collage-frame img { position:absolute; width:100%; height:100%; }
#tbf-v2 .kid-visual .kid-symbol { display:none; }
@media(max-width:810px){#tbf-v2 .kid-visual{height:315px;}}
@media(max-width:610px){#tbf-v2 .kid-visual{height:350px;}}

/* 1.0.3 — World Ruler Sher portrait and Pacorips introduction. */
#tbf-v2 .tbfh-person-feature{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:clamp(20px,5vw,70px);margin-bottom:clamp(70px,8vw,120px);}
#tbf-v2 .tbfh-person-copy .eyebrow{color:#5e5643;}
#tbf-v2 .tbfh-person-copy h3{font-family:'Fraunces',Georgia,serif;font-weight:800;font-size:clamp(2.15rem,4.4vw,4.7rem);line-height:1.08;letter-spacing:-.065em;color:#224c42;margin:14px 0 24px;}
#tbf-v2 .tbfh-person-copy p{max-width:630px;font-size:clamp(.98rem,1.45vw,1.16rem);line-height:1.75;color:#354b40;}
#tbf-v2 .tbfh-person-images{height:clamp(390px,46vw,580px);min-width:0;position:relative;}
#tbf-v2 .tbfh-photo-collage--profile .tbfh-collage-main{inset:14px 20px 59px;transform:rotate(2deg);border-width:10px;}
#tbf-v2 .tbfh-photo-collage--profile .tbfh-collage-lower-left{height:40%;width:46%;transform:rotate(-8deg);border-width:9px;}
#tbf-v2 .tbfh-photo-collage--profile .tbfh-collage-lower-right{height:38%;width:44%;transform:rotate(7deg);border-width:9px;}
#tbf-v2 .tbfh-sher-feature .tbfh-person-images{filter:drop-shadow(0 13px 10px #28594f23);}
#tbf-v2 .tbfh-sher-feature .tbfh-collage-main{background:linear-gradient(125deg,#dbabb4,#f0d2a6 55%,#8ac4b2);}
#tbf-v2 .tbfh-sher-feature .tbfh-collage-lower-left{background:#accfc8;}
@media(max-width:810px){#tbf-v2 .tbfh-person-feature{grid-template-columns:1fr;gap:14px}#tbf-v2 .tbfh-person-images{height:510px;max-width:580px;width:100%;margin:auto;}}
@media(max-width:610px){#tbf-v2 .tbfh-person-images{height:390px;}#tbf-v2 .tbfh-person-copy h3{font-size:clamp(2.15rem,9vw,3.4rem);}}

/* 1.0.4 — Big King's engineering portrait, before the media operating system. */
#tbf-v2 .tbfh-kb-feature { margin:35px 0 86px; }
#tbf-v2 .tbfh-kb-feature .tbfh-person-copy { order:2; }
#tbf-v2 .tbfh-kb-feature .tbfh-person-images { order:1; }
#tbf-v2 .tbfh-kb-feature .tbfh-person-copy h3 { color:#f7daae; }
#tbf-v2 .tbfh-kb-feature .tbfh-person-copy .eyebrow{color:#f0b86f;}
#tbf-v2 .tbfh-kb-feature .tbfh-person-copy p{color:#e1ede4;}
#tbf-v2 .tbfh-kb-feature .tbfh-collage-main{background:linear-gradient(135deg,#94b8ae,#d2c29d,#bc7983);}
#tbf-v2 .tbfh-kb-feature .tbfh-collage-lower-left{background:#e0c59c;}
#tbf-v2 .tbfh-kb-feature .tbfh-mini-world { background:#fff9ef13; border-color:#e4c69966; }
#tbf-v2 .tbfh-kb-feature .tbfh-mini-world *{color:#fff6e5;}
@media(max-width:810px){#tbf-v2 .tbfh-kb-feature .tbfh-person-copy{order:1}#tbf-v2 .tbfh-kb-feature .tbfh-person-images{order:2}}

/* 1.0.6 additional stabilization: CSS labels become editable real HTML, not pseudo-element text. */
#tbf-v2 .hero-arch:after,#tbf-v2 .record-frame:before{display:none;}
#tbf-v2 .tbfh-hero-caption{position:absolute;bottom:17px;right:17px;color:#fff;background:#082b28bd;padding:7px 10px;font-size:.58rem;letter-spacing:.15em;font-weight:800;}
#tbf-v2 .tbfh-vinyl-label{width:35%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#efbf7d 0 10%,#d88d9f 11% 63%,#f2c28c 64%);display:grid;place-items:center;font-weight:900;font-size:.72rem;letter-spacing:.05em;}


/* V1.0.7: cheerful jewel-toned gradients. Legible text, no changes to embedded book UI. */
#tbf-v2{--deep:#206b78;--lagoon:#168f9a;--forest:#4c997b;--mango:#f9ae55;--rose:#e79ab9;}
#tbf-v2 .nav-shell{background:linear-gradient(105deg,#1b7180 0%,#5b679b 54%,#ab527e 100%);}
#tbf-v2 .hero{background:radial-gradient(circle at 12% 86%,#f7bb6a85 0%,transparent 44%),radial-gradient(circle at 96% 11%,#df8dbb88 0%,transparent 41%),linear-gradient(130deg,#1a7080 0%,#278c93 42%,#985a93 100%);}
#tbf-v2 .media{background:radial-gradient(circle at 95% 12%,#ffc76f50,transparent 38%),linear-gradient(130deg,#1c7384 0%,#437b9e 48%,#955887 100%);}
#tbf-v2 .score-hero{background:linear-gradient(145deg,#1f7281 0%,#4971a1 49%,#945784 100%);}
#tbf-v2 .book-section{background:radial-gradient(circle at 100% 20%,#ffc2755a 0%,transparent 43%),linear-gradient(125deg,#22778a 0%,#6473a8 56%,#a95683 100%);color:#fffdf7;}
#tbf-v2 .book-section .eyebrow{color:#fff2d7!important;}
#tbf-v2 .book-section .tbfh-book-widget-wrap{min-width:0;width:100%;position:relative;overflow:visible;isolation:auto;}
#tbf-v2 .book-section .tbfh-chapter-book{width:100%;max-width:100%;overflow:visible;}
#tbf-v2 .book-section .tbfh-book-note{background:#fff6e9;color:#774054;border-radius:18px;padding:19px 22px;border:1px solid #ffce98;}
#tbf-v2 .declaration{background:radial-gradient(circle at 15% 12%,#efb96a55 0,transparent 43%),linear-gradient(125deg,#9a4e84 0%,#795c9f 51%,#287d94 100%);}
#tbf-v2 .footer{background:linear-gradient(135deg,#1e7083 0%,#59679e 52%,#9b4e83 100%);}
@media(max-width:810px){#tbf-v2 .book-grid{grid-template-columns:1fr;}#tbf-v2 .tbfh-book-widget-wrap{max-width:100%;}}

/* Let native media own its chapter popovers; keep horizontal viewport tidy. */
#tbf-v2{overflow-x:clip;overflow-y:visible;}
#tbf-v2 .book-section,#tbf-v2 .book-grid,#tbf-v2 .tbfh-chapter-book{overflow:visible;}

@media(min-width:811px){#tbf-v2 .book-grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:40px;}}

/* v1.0.8 Photofall: the native BKM shortcode owns its masonry, filters,
   lightbox and loader. Do not clip/resize its interactive descendants. */
#tbf-v2 #photofall .tbfh-native-photo,
#tbf-v2 #photofall .tbfbkm-photofall-container {
  overflow:visible; width:100%; min-width:0; max-width:none; isolation:auto;
}
#tbf-v2 #photofall .tbfh-native-photo .tbfbkm-masonry {
  width:100%; min-height:160px;
}
#tbf-v2 #photofall .tbfbkm-photofall-container button { cursor:pointer; }

/* V1.0.9 / Screenshot 1 — native World Within World needs its full width. */
#tbf-v2 .media-stage{grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);align-items:start}
#tbf-v2 .world-pane{min-width:0;overflow:visible;display:block;align-self:stretch;min-height:0;padding:clamp(16px,2.5vw,30px);border-radius:120px 120px 26px 26px / 76px 76px 26px 26px}
#tbf-v2 .world-pane .world-content{width:100%;max-width:none;min-width:0;padding:clamp(13px,2.5vw,22px);background:linear-gradient(140deg,#14565eeb,#235a65e7);color:#fff7e7;backdrop-filter:blur(8px);border-radius:28px}
#tbf-v2 .world-pane .smallcap{color:#ffe4b6;overflow-wrap:anywhere}
#tbf-v2 .world-pane .media-card-title{color:#fff8e9;font-size:clamp(1.8rem,3.6vw,3.7rem);line-height:1.05;overflow-wrap:anywhere;letter-spacing:-.045em}
#tbf-v2 .world-pane .tbfh-world-native{width:100%;min-width:0;max-width:100%;max-height:none;overflow:visible;margin-top:18px;border-radius:0}
#tbf-v2 .world-pane .tbfh-world-native img{max-height:none}
#tbf-v2 .world-pane .tbfbkm-www-post-block{width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box}
@media(max-width:810px){#tbf-v2 .media-stage{grid-template-columns:minmax(0,1fr)}#tbf-v2 .world-pane{border-radius:74px 74px 24px 24px/48px 48px 24px 24px}}
@media(max-width:610px){#tbf-v2 .world-pane{padding:12px}#tbf-v2 .world-pane .world-content{padding:12px}#tbf-v2 .world-pane .media-card-title{font-size:clamp(1.55rem,8.6vw,2.5rem)}#tbf-v2 .world-pane .tbfbkm-www-post-block{padding:10px}}

/* V1.0.10 — do not crush BKM controls with homepage's generic child width rule. */
#tbf-v2 .world-pane .tbfh-world-native{isolation:auto}
#tbf-v2 .world-pane .tbfh-world-native .tbfbkm-www-post-rail{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
#tbf-v2 .world-pane .tbfh-world-native .tbfbkm-www-post-stage{max-width:100%;min-width:0}
#tbf-v2 .world-pane .tbfh-world-native .tbfbkm-www-post-thumb{flex-shrink:0}
#tbf-v2 .media .world-pane:after{z-index:0;pointer-events:none}

/* V1.0.11 / Screenshot 2 — mobile love-story layout must never expand page width. */
#tbf-v2 .love-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(18px,3vw,48px)}
#tbf-v2 .love-grid>*{min-width:0;max-width:100%}
#tbf-v2 .love-grid .button-row{max-width:100%;min-width:0;align-items:stretch}
#tbf-v2 .love-grid .button-row .button{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal;text-align:center}
#tbf-v2 .love-grid .tbfh-world-native{max-height:none;max-width:100%;min-width:0;width:100%;overflow:visible;border-radius:0}
#tbf-v2 .love-grid .tbfh-world-native img{max-height:none}
#tbf-v2 .love-grid .tbfbkm-www-post-block{max-width:100%;width:100%;min-width:0;margin:16px 0 0;box-sizing:border-box}
@media(max-width:810px){#tbf-v2 .love-grid{grid-template-columns:minmax(0,1fr)}#tbf-v2 .love-grid>.love-photo{width:100%;min-width:0}}
@media(max-width:610px){#tbf-v2 .love-grid h2{font-size:clamp(2.6rem,12vw,3.8rem);overflow-wrap:break-word}#tbf-v2 .love-grid .button-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}#tbf-v2 .love-grid .button-row .button{width:100%;justify-content:center}#tbf-v2 .love-grid .tbfbkm-www-post-block{padding:10px}}

/* V1.0.12 — protect BKM's own scroll rail, not the surrounding page. */
#tbf-v2 .love-grid .tbfh-world-native .tbfbkm-www-post-rail{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
#tbf-v2 .love-grid .tbfh-world-native .tbfbkm-www-post-stage{max-width:100%;min-width:0}
#tbf-v2 .love-grid .tbfh-world-native .tbfbkm-www-post-thumb{flex-shrink:0}
#tbf-v2 .love-grid .reveal{min-width:0}

/* V1.0.13 / Screenshot 3 — full video cards without a cut-off mobile carousel. */
#tbf-v2 .tbfh-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-width:0;overflow:visible}
#tbf-v2 .tbfh-video-item{min-width:0;width:100%;max-width:100%;background:linear-gradient(145deg,#1a6770,#785a87);border-color:#efcfa3;overflow:hidden;flex:none}
#tbf-v2 .tbfh-video-frame{width:100%;max-width:100%;aspect-ratio:16/9;min-width:0;background:linear-gradient(125deg,#1a5165,#754e76);display:block}
#tbf-v2 .tbfh-video-frame video,#tbf-v2 .tbfh-video-frame iframe{display:block;width:100%;height:100%;max-width:100%;border:0}
#tbf-v2 .tbfh-video-item>span{color:#fff4e1;overflow-wrap:anywhere}
@media(max-width:810px){#tbf-v2 .tbfh-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){#tbf-v2 .tbfh-video-grid{display:grid;grid-template-columns:minmax(0,1fr);overflow:visible;scroll-snap-type:none}#tbf-v2 .tbfh-video-item{flex:none;width:100%;max-width:100%;scroll-snap-align:none}#tbf-v2 .tbfh-video-frame{aspect-ratio:16/9}}

/* V1.0.14 — preserve provider controls and keep media panels inside the column. */
#tbf-v2 .jukebox,#tbf-v2 .media-stage>.reveal,#tbf-v2 .tbfh-video-reel{min-width:0;max-width:100%}
#tbf-v2 .jukebox .tbfh-selected-video,#tbf-v2 .jukebox .tbfh-selected-video video,#tbf-v2 .jukebox .tbfh-selected-video iframe{max-width:100%;min-width:0}
#tbf-v2 .tbfh-video-frame video{object-fit:contain}
#tbf-v2 .tbfh-video-frame iframe{object-fit:contain}

/* V1.0.15 / Music: one floating note at center right; panel opens to the left. */
:is(#tbf-v2, body) .tbfh-music-dock{position:fixed;top:50%;right:max(12px,env(safe-area-inset-right));bottom:auto;left:auto;transform:translateY(-50%);z-index:999;display:block;width:58px;min-width:0;max-width:none;height:58px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;overflow:visible}
:is(#tbf-v2, body) .tbfh-music-dock[hidden]{display:none}
:is(#tbf-v2, body) .tbfh-music-dock .tbfh-music-fab{display:grid;place-items:center;width:58px;height:58px;min-width:58px;padding:0;border:2px solid #fff5d8;border-radius:50%;background:linear-gradient(140deg,#ffcf6d 0%,#f19d78 47%,#c66ca1 100%);color:#213f42;font-size:1.6rem;line-height:1;box-shadow:0 7px 22px #342a4a55;transition:transform .2s,box-shadow .2s}
:is(#tbf-v2, body) .tbfh-music-dock .tbfh-music-fab:hover{transform:scale(1.06);box-shadow:0 9px 26px #342a4a66}
:is(#tbf-v2, body) .tbfh-music-dock .tbfh-music-fab[aria-expanded="true"]{background:linear-gradient(140deg,#f6de9b,#e6a3c8)}
:is(#tbf-v2, body) .tbfh-music-panel{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);width:min(315px,calc(100vw - 94px));max-width:calc(100vw - 94px);display:grid;grid-template-columns:1fr repeat(4,38px);align-items:center;gap:8px;padding:14px;background:linear-gradient(145deg,#225c72f5,#705078f7);color:#ffefcf;border:1px solid #eed1a0;border-radius:20px;box-shadow:0 18px 40px #1a204a88;backdrop-filter:blur(16px)}
:is(#tbf-v2, body) .tbfh-music-panel[hidden]{display:none}
:is(#tbf-v2, body) .tbfh-music-panel .tbfh-music-name{grid-column:1/-1;min-width:0;max-width:100%;font-size:.76rem;white-space:normal;overflow-wrap:anywhere}
:is(#tbf-v2, body) .tbfh-music-panel .tbfh-music-name strong{display:block;font-size:.9rem;line-height:1.3}
:is(#tbf-v2, body) .tbfh-music-panel [data-music-status]{font-size:.72rem;color:#ffe8bd}
:is(#tbf-v2, body) .tbfh-music-panel button{display:grid;place-items:center;min-width:0;height:38px;width:38px;padding:0;border:1px solid #e3cd9f;border-radius:999px;background:#f6dba9;color:#273b41;font-size:1.15rem;font-weight:900}
:is(#tbf-v2, body) .tbfh-music-panel [data-music-prev]{grid-column:2}
:is(#tbf-v2, body) .tbfh-music-panel [data-music-close]{font-size:1.35rem}
@media(max-width:700px){:is(#tbf-v2, body) .tbfh-music-dock{top:50%;right:max(10px,env(safe-area-inset-right));bottom:auto;left:auto;min-width:0;width:54px;height:54px;padding:0;transform:translateY(-50%)}:is(#tbf-v2, body) .tbfh-music-dock .tbfh-music-fab{width:54px;height:54px;min-width:54px}:is(#tbf-v2, body) .tbfh-music-panel{width:min(290px,calc(100vw - 82px));max-width:calc(100vw - 82px);right:calc(100% + 7px);grid-template-columns:1fr repeat(4,36px);gap:5px;padding:12px}:is(#tbf-v2, body) .tbfh-music-panel button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){:is(#tbf-v2, body) .tbfh-music-fab{transition:none!important}}

/* V1.0.17 — homepage audio belongs to the homepage, not Big King Media.
   A viewport-level family note remains ABOVE BKM's untouched yellow bottom bar. */
 :is(#tbf-v2, body) > .tbfh-music-dock{top:41%;right:max(14px, env(safe-area-inset-right));z-index:1000001}
body > .tbfh-music-dock,body > .tbfh-music-dock *,body > .tbfh-music-dock *::before,body > .tbfh-music-dock *::after{box-sizing:border-box}
body > .tbfh-music-dock .tbfh-music-panel button{font:inherit;cursor:pointer}
@media(max-width:700px){:is(#tbf-v2, body) > .tbfh-music-dock{top:39%;right:max(12px, env(safe-area-inset-right))}}

/* V1.0.19: Theme-owned WordPress menu, scoped to this homepage. */
#tbf-v2 .nav-items{min-width:0}
#tbf-v2 .nav-items>.tbfh-theme-menu{display:flex;align-items:center;gap:clamp(8px,1.3vw,20px);margin:0;padding:0;list-style:none;min-width:0}
#tbf-v2 .tbfh-theme-menu li{position:relative;margin:0;padding:0;list-style:none}
#tbf-v2 .tbfh-theme-menu a{display:block;text-decoration:none;line-height:1.4;white-space:nowrap}
#tbf-v2 .tbfh-theme-menu .sub-menu{position:absolute;z-index:50;left:0;top:100%;display:none;min-width:190px;max-width:min(320px,90vw);padding:9px;background:#fff9ed;color:#23443c;border:1px solid #dab68e;box-shadow:0 10px 22px #1b2c3340;border-radius:14px;list-style:none}
#tbf-v2 .tbfh-theme-menu .sub-menu .sub-menu{top:0;left:100%}
#tbf-v2 .tbfh-theme-menu .sub-menu a{white-space:normal;padding:9px;border-radius:8px}
#tbf-v2 .tbfh-theme-menu .sub-menu a:hover,#tbf-v2 .tbfh-theme-menu .sub-menu a:focus-visible{background:#f1decb}
#tbf-v2 .tbfh-theme-menu li:hover>.sub-menu,#tbf-v2 .tbfh-theme-menu li:focus-within>.sub-menu{display:block}
#tbf-v2 .nav-items a:focus-visible{outline:3px solid #ffd487;outline-offset:4px}
@media(max-width:810px){
 #tbf-v2 .nav-items>.tbfh-theme-menu{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:5px}
 #tbf-v2 .nav-items{width:100%;max-height:min(70vh,680px);overflow-y:auto}
 #tbf-v2 .tbfh-theme-menu a{white-space:normal;padding:9px 10px}
 #tbf-v2 .tbfh-theme-menu .sub-menu,#tbf-v2 .tbfh-theme-menu .sub-menu .sub-menu{display:block;position:static;max-width:100%;min-width:0;margin:0 0 6px 12px;border:0;border-left:2px solid #ffca87;background:transparent;color:inherit;box-shadow:none;padding:0 0 0 8px;border-radius:0}
 #tbf-v2 .tbfh-theme-menu .sub-menu a{padding:7px 9px}
}

/* V1.0.20 stabilization: long real-world menus cannot crush the fruit or logo. */
#tbf-v2 .nav-items>.tbfh-theme-menu{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1180px){
 #tbf-v2 .nav-inner{flex-wrap:wrap}
 #tbf-v2 .nav-menu{display:block}
 #tbf-v2 .nav-inner .fruit-small{margin-left:auto}
 #tbf-v2 .nav-items{display:none;flex:0 0 100%;order:10;flex-direction:column;align-items:stretch;padding:4px 0 20px;gap:17px;max-height:min(65vh,620px);overflow-y:auto}
 #tbf-v2 .nav-items.is-open{display:flex}
 #tbf-v2 .nav-items>.tbfh-theme-menu{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;gap:5px}
 #tbf-v2 .tbfh-theme-menu a{white-space:normal;padding:9px 10px}
 #tbf-v2 .tbfh-theme-menu .sub-menu,#tbf-v2 .tbfh-theme-menu .sub-menu .sub-menu{display:block;position:static;max-width:100%;min-width:0;margin:0 0 6px 12px;border:0;border-left:2px solid #ffca87;background:transparent;color:inherit;box-shadow:none;padding:0 0 0 8px;border-radius:0}
 #tbf-v2 .tbfh-theme-menu .sub-menu a{padding:7px 9px}
}

/* V1.0.21: Theme/WordPress/custom URL logo, scoped to the homepage. */
#tbf-v2 .tbfh-logo-image-link{display:flex;align-items:center;justify-content:flex-start;flex:0 1 auto;max-width:clamp(125px,22vw,290px);min-width:0}
#tbf-v2 .tbfh-brand-image{display:block;width:auto;height:auto;max-width:100%;max-height:66px;object-fit:contain;object-position:left center}
@media(max-width:810px){#tbf-v2 .tbfh-logo-image-link{max-width:min(55vw,260px)}#tbf-v2 .tbfh-brand-image{max-height:56px}}
@media(max-width:390px){#tbf-v2 .tbfh-logo-image-link{max-width:44vw}#tbf-v2 .tbfh-brand-image{max-height:50px}}


/* V1.0.23 · Image-only cinematic pans. The image is oversized on every edge,
   and object-fit:cover keeps even extreme aspect ratios filled during travel. */
#tbf-v2 .tbfh-photo-collage .tbfh-collage-frame.is-filled img {
  position:absolute; inset:auto; left:-7%; top:-7%; width:114%; height:114%;
  max-width:none; max-height:none; object-fit:cover; object-position:50% 50%;
  transform:translate3d(0,0,0); animation-duration:16s;
  animation-timing-function:ease-in-out; animation-iteration-count:infinite;
  animation-direction:alternate; animation-play-state:paused;
  backface-visibility:hidden;
}
#tbf-v2 .tbfh-photo-collage.is-in-view .tbfh-collage-frame.is-filled img { animation-play-state:running; }
#tbf-v2 .tbfh-photo-collage .tbfh-collage-main.is-filled img{animation-duration:20s;animation-name:tbfh-pan-diagonal-left}
#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-left.is-filled img{animation-duration:16s;animation-name:tbfh-pan-diagonal-right}
#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-right.is-filled img{animation-duration:18s;animation-name:tbfh-pan-diagonal-left}
#tbf-v2 .tbfh-photo-collage [data-tbfh-pan="horizontal"].is-filled img{animation-name:tbfh-pan-horizontal}
#tbf-v2 .tbfh-photo-collage [data-tbfh-pan="vertical"].is-filled img{animation-name:tbfh-pan-vertical}
#tbf-v2 .tbfh-photo-collage [data-tbfh-pan="diagonal-left"].is-filled img{animation-name:tbfh-pan-diagonal-left}
#tbf-v2 .tbfh-photo-collage [data-tbfh-pan="diagonal-right"].is-filled img{animation-name:tbfh-pan-diagonal-right}
@keyframes tbfh-pan-horizontal {
  from{transform:translate3d(-3%,0,0);object-position:0% 50%}
  to{transform:translate3d(3%,0,0);object-position:100% 50%}
}
@keyframes tbfh-pan-vertical {
  from{transform:translate3d(0,-3%,0);object-position:50% 0%}
  to{transform:translate3d(0,3%,0);object-position:50% 100%}
}
@keyframes tbfh-pan-diagonal-left {
  from{transform:translate3d(-2.6%,-2.6%,0);object-position:26% 23%}
  to{transform:translate3d(2.6%,2.6%,0);object-position:74% 77%}
}
@keyframes tbfh-pan-diagonal-right {
  from{transform:translate3d(2.6%,-2.6%,0);object-position:74% 23%}
  to{transform:translate3d(-2.6%,2.6%,0);object-position:26% 77%}
}
#tbf-v2.is-still .tbfh-photo-collage .tbfh-collage-frame img { animation:none!important;transform:none!important;object-position:center!important; }
@media(prefers-reduced-motion:reduce){#tbf-v2 .tbfh-photo-collage .tbfh-collage-frame img{animation:none!important;transform:none!important;object-position:center!important}}


/* V1.0.24 stabilization: explicit crop boundary even under global theme media rules. */
#tbf-v2 .tbfh-photo-collage .tbfh-collage-frame.is-filled{overflow:hidden;contain:paint}


/* V1.0.25 · Independent frame trajectories. These move the frame and its photo
   as a unit, leaving the nested image's crop animation completely independent. */
#tbf-v2 .tbfh-photo-collage .tbfh-collage-main{--tbfh-tilt:-1.5deg}
#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-left{--tbfh-tilt:-8deg}
#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-right{--tbfh-tilt:8deg}
#tbf-v2 .tbfh-photo-collage--profile .tbfh-collage-main{--tbfh-tilt:2deg}
#tbf-v2 .tbfh-photo-collage--profile .tbfh-collage-lower-right{--tbfh-tilt:7deg}
#tbf-v2 .tbfh-photo-collage .tbfh-collage-frame.is-filled{
 transform:rotate(var(--tbfh-tilt)); transform-origin:50% 50%;
 animation-duration:12s;animation-timing-function:ease-in-out;
 animation-iteration-count:infinite;animation-play-state:paused;
}
#tbf-v2 .tbfh-photo-collage.is-in-view .tbfh-collage-frame.is-filled{animation-play-state:running}
#tbf-v2 .tbfh-photo-collage .tbfh-collage-main.is-filled{animation-name:tbfh-frame-orbit;animation-duration:15s}
#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-left.is-filled{animation-name:tbfh-frame-rise;animation-duration:11s}
#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-right.is-filled{animation-name:tbfh-frame-sway;animation-duration:13s}
@keyframes tbfh-frame-orbit{
 0%,100%{transform:translate3d(0,0,0) rotate(var(--tbfh-tilt))}
 25%{transform:translate3d(5px,-6px,0) rotate(calc(var(--tbfh-tilt) + .8deg))}
 50%{transform:translate3d(0,-9px,0) rotate(var(--tbfh-tilt))}
 75%{transform:translate3d(-5px,-5px,0) rotate(calc(var(--tbfh-tilt) - .8deg))}
}
@keyframes tbfh-frame-rise{
 0%,100%{transform:translate3d(0,0,0) rotate(var(--tbfh-tilt))}
 50%{transform:translate3d(2px,-8px,0) rotate(calc(var(--tbfh-tilt) + 1deg))}
}
@keyframes tbfh-frame-sway{
 0%,100%{transform:translate3d(0,0,0) rotate(var(--tbfh-tilt))}
 50%{transform:translate3d(-7px,-2px,0) rotate(calc(var(--tbfh-tilt) - 1deg))}
}
#tbf-v2.is-still .tbfh-photo-collage .tbfh-collage-frame.is-filled{animation:none!important;transform:rotate(var(--tbfh-tilt))!important}
@media(prefers-reduced-motion:reduce){#tbf-v2 .tbfh-photo-collage .tbfh-collage-frame.is-filled{animation:none!important;transform:rotate(var(--tbfh-tilt))!important}}


/* V1.0.26 stabilization: quiet breathing space for angled, moving corner frames. */
#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-left{left:12px;bottom:12px}
#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-right{right:12px;bottom:12px}
@media(max-width:410px){#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-left{left:10px;bottom:10px}#tbf-v2 .tbfh-photo-collage .tbfh-collage-lower-right{right:10px;bottom:10px}}


/* V1.0.27 · Only the homepage-owned floating music note is translucent.
   Big King Media's yellow player and all its controls are completely untouched. */
body > .tbfh-music-dock .tbfh-music-fab{opacity:.5;transition:opacity .22s ease,transform .2s,box-shadow .2s}
body > .tbfh-music-dock .tbfh-music-fab:hover,
body > .tbfh-music-dock .tbfh-music-fab:focus-visible,
body > .tbfh-music-dock .tbfh-music-fab[aria-expanded="true"]{opacity:1}


/* V1.0.28 stabilization: preserve a clear keyboard focus ring, and keep the
   expanded controls fully opaque and readable. No global player selectors. */
body > .tbfh-music-dock .tbfh-music-fab:focus-visible{outline:3px solid #213f42;outline-offset:3px}
body > .tbfh-music-dock .tbfh-music-panel{opacity:1}
@media(prefers-reduced-motion:reduce){body > .tbfh-music-dock .tbfh-music-fab{transition:none!important}}
