.bx{background:#faf9f6;color:#24221f;font-family:Outfit,Arial,sans-serif}.bx *{box-sizing:border-box}.bx a{color:inherit}.bx p{font-size:1.08rem;line-height:1.65}.bx h1,.bx h2,.bx h3{margin:0;letter-spacing:-.045em;line-height:1.08}.bx h1{font-size:clamp(2.8rem,6.5vw,6.5rem);max-width:1000px}.bx h2{font-size:clamp(2.1rem,4vw,4rem)}.bx h3{font-size:1.6rem;letter-spacing:-.025em}.bx .eyebrow{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;margin:0 0 22px}.bx-header{display:flex;align-items:center;gap:28px;padding:22px 5%;border-bottom:1px solid #24221f25}.bx-header .brand-lockup{width:135px}.bx-brand{font-size:1.8rem;font-weight:600;text-decoration:none}.bx-header nav{display:flex;margin-left:auto;gap:24px}.bx-link{display:inline-flex;align-items:center;gap:15px;font-size:1rem;text-underline-offset:5px;margin:15px 20px 10px 0}.bx-link span{color:var(--bx-accent)}.bx-header .bx-link{margin:0}.bx-hero{position:relative;min-height:650px;height:85svh;max-height:1000px;display:flex;align-items:center;color:white;background:#171717;isolation:isolate}.bx-hero-media,.bx-hero-media:after,.bx-slide,.bx-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.bx-hero-media{z-index:-1;overflow:hidden}.bx-hero-media:after{content:'';background:linear-gradient(90deg,#000b,#0003)}.bx-slide{opacity:0;transition:opacity 1.3s}.bx-slide.is-current{opacity:1;animation:bx-drift 12s linear both}.bx-hero-copy{padding:70px 7% 120px;max-width:1150px}.bx-hero-copy p:not(.eyebrow){font-size:1.35rem}.bx-button{display:inline-flex;padding:17px 25px;background:#fff;color:#24221f!important;font:600 1rem Outfit,Arial,sans-serif;text-decoration:none;border:1px solid currentColor;cursor:pointer;margin-top:16px}.bx-hero-bottom{position:absolute;bottom:25px;left:7%;right:7%;display:flex;align-items:center;justify-content:space-between;gap:20px}.bx-hero-bottom>span{font-size:.8rem}.bx-slider-controls{display:flex;align-items:center;gap:15px}.bx-slider-controls button,.bx-hero-bottom>button{border:1px solid #ffffff80;color:white;background:#0005;padding:10px 15px;min-height:44px;font:inherit;cursor:pointer}.bx-section-nav{display:flex;gap:26px;overflow-x:auto;padding:25px 7%;border-bottom:1px solid #24221f30}.bx-section-nav a{white-space:nowrap;font-size:.95rem;text-decoration:none}.bx-section{padding:85px 7%;border-bottom:1px solid #24221f25;scroll-margin-top:25px}.bx-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.bx-philosophy{display:grid;grid-template-columns:1fr 1fr;gap:7%}.bx .bx-lead{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.4;max-width:850px}.bx-mini-steps{padding-left:20px;margin:25px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:1rem}.bx-empty{border-left:3px solid var(--bx-accent);padding:12px 0 12px 28px;max-width:740px;margin:28px 0}.bx-empty p{margin-top:0}.bx-reviews{background:#24221f;color:#faf9f6}.bx-reviews .bx-empty{border-color:#e5d5b7}.bx-pricing>p,.bx-consult>p{max-width:780px}.bx-offers{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:35px 0}.bx-offers>div{padding-top:24px;border-top:1px solid #24221f55}.bx-consult{background:var(--bx-accent);color:#111}.bx-consult .bx-link span{color:inherit}.bx-consult .bx-link{font-weight:600}.bx-team{display:grid;gap:40px;margin-top:35px;max-width:1000px}.bx-team:has(img){grid-template-columns:1fr 1fr}.bx-team img{width:100%;height:auto}.bx-team p{max-width:670px}.bx-footer{background:#171717;color:#fff;padding:42px 7%;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between}.bx-footer nav{display:flex;flex-wrap:wrap;gap:20px}.bx-footer a{font-size:.95rem;text-underline-offset:4px}.bx-detail{padding:60px 7% 100px;min-height:70vh;max-width:1500px;margin:auto}.bx-back{display:inline-block;margin-bottom:55px}.bx-detail h1{margin-bottom:45px}.bx-detail>p{max-width:850px}.bx-workflow{margin:60px 0}.bx-workflow section{display:grid;grid-template-columns:80px 1fr;gap:30px;border-top:1px solid #24221f30;padding:35px 0}.bx-workflow section>span{font-size:1.5rem;color:#555}.bx-workflow h2{font-size:clamp(1.6rem,3vw,2.7rem)}.bx-workflow p{max-width:760px}.bx-contact-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:8%;margin-top:50px}.bx-form{display:grid;gap:22px}.bx-form label{display:grid;gap:9px;font-size:1rem;min-width:0}.bx-form input,.bx-form textarea,.bx-form select{width:100%;border:1px solid #777;background:white;padding:13px;color:#24221f;border-radius:0;font:inherit}.bx-form textarea{resize:vertical}.bx-form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bx-form .bx-button{background:#24221f;color:white!important;justify-content:center;justify-self:start}.bx .bx-fine{font-size:.875rem;color:#555}.bx-projects{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.bx-projects img{width:100%;aspect-ratio:4/3;object-fit:cover}.bx-projects h3{margin-top:20px}.bx :focus-visible{outline:3px solid var(--bx-accent);outline-offset:5px}.bx-hero :focus-visible,.bx-consult :focus-visible{outline-color:white}.brand-tagline{font-size:clamp(1rem,2vw,1.3rem);text-align:center;color:#fff;margin:22px 0 0;text-shadow:0 1px 5px #0008}
@keyframes bx-drift{from{transform:scale(1)}to{transform:scale(1.06)}}
@media(max-width:700px){.bx-header{gap:18px;flex-wrap:wrap;padding:18px 6%}.bx-header .brand-lockup{width:105px}.bx-header nav{width:100%;justify-content:space-between;margin:5px 0}.bx-hero{height:80svh;min-height:570px}.bx-hero-copy{padding:70px 6% 140px}.bx-hero-copy h1{font-size:clamp(2.6rem,10vw,4.2rem)}.bx-hero-bottom{align-items:flex-start;flex-direction:column;left:6%}.bx-section{padding:55px 6%}.bx-philosophy,.bx-offers,.bx-contact-layout,.bx-team:has(img),.bx-projects{grid-template-columns:1fr}.bx-section-heading{align-items:start;flex-direction:column}.bx-detail{padding:40px 6% 65px}.bx-workflow section{grid-template-columns:35px 1fr;gap:16px}.bx-form-row{grid-template-columns:1fr}.bx-section-nav{gap:22px;padding:20px 6%}.bx-header .bx-link{font-size:.95rem}.bx-mini-steps{grid-template-columns:1fr}.bx-footer{padding:35px 6%;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.bx-slide{transition:none}.bx-slide.is-current{animation:none}}

/* Shared selector lockup: same logo/name proportions, static in brand headers. */
.bx-header .bx-brand-lockup{display:block;position:relative;container-type:inline-size;width:clamp(280px,40vw,440px);max-width:100%;flex:0 1 auto;text-decoration:none;color:inherit}
.bx-header .bx-brand-lockup .intro-logo{display:block;width:50%;margin-left:8%}
.bx-header .bx-brand-lockup .brand-lockup{display:block;width:100%;max-width:none;height:auto;filter:none}
.bx-header .bx-brand-lockup .brand-reel{font-family:Studio Outfit,Arial,sans-serif;font-weight:600}
@media(max-width:700px){.bx-header .bx-brand-lockup{width:min(100%,400px)}.bx-header:has(.bx-brand-lockup) nav{padding-top:12px;border-top:1px solid #24221f25}}

.family-collection h3{margin-bottom:28px}.family-photo-grid{columns:3;column-gap:18px}.family-photo-grid a{display:block;break-inside:avoid;margin:0 0 18px;line-height:0}.family-photo-grid img{display:block;width:100%;height:auto;border-radius:2px}.family-photo-grid a:focus-visible{outline:3px solid var(--bx-accent);outline-offset:4px}
/* Keep all four people in the cover and place copy outside their faces. */
.bx-families .bx-hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;background:#24221f;align-items:stretch}
.bx-families .bx-hero-media{position:relative;inset:auto;width:100%;aspect-ratio:3/2;max-height:75svh;z-index:auto;background:#24221f}
.bx-families .bx-hero-media:after{display:none}.bx-families .bx-slide.is-current{animation:none;object-fit:contain}
.bx-families .bx-hero-copy{padding:45px 7% 35px}.bx-families .bx-hero-copy h1{font-size:clamp(2.8rem,5vw,5rem)}.bx-families .bx-hero-bottom{position:static;padding:0 7% 30px}
@media(max-width:800px){.family-photo-grid{columns:2}}@media(max-width:480px){.family-photo-grid{columns:1}}


/* White gutters and continuous, opposing vertical photo strips. */
.family-cover,.bx-families .bx-hero-media{overflow:hidden;background:#fff}
.family-cover-grid{--strip-gap:clamp(8px,1vw,14px);position:absolute;inset:-15%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:var(--strip-gap);transform:rotate(-4deg);background:#fff;padding:var(--strip-gap);pointer-events:none}
.family-strip{min-width:0;min-height:0;overflow:hidden;background:#fff}
.family-strip-track{animation:family-strip-scroll 240s linear infinite;animation-play-state:paused;will-change:transform}
.family-strip:nth-child(even) .family-strip-track{animation-direction:reverse}
.family-strip-group{height:max(130svh,80vw);display:flex;flex-direction:column;gap:var(--strip-gap);padding-bottom:var(--strip-gap);box-sizing:border-box}
.family-cover-tile{flex:var(--photo-weight,1) 1 0;min-height:0;overflow:hidden;border:2px solid #fff;background:#fff;box-sizing:border-box}
.family-cover-tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.family-cover.is-active .family-strip-track,.bx-families .bx-hero-media .family-strip-track{animation-play-state:running}
.kinetic.motion-hidden .family-strip-track,.kinetic.motion-paused .family-strip-track,.bx-families.motion-paused .family-strip-track{animation-play-state:paused}
@keyframes family-strip-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-50%,0)}}
.bx-families .bx-hero-media{aspect-ratio:16/10;max-height:75svh}
/* Keep gutters white rather than tinting them with the selector overlay. */
.branch-landing:has(.family-cover.is-active)::after{background:none}
.branch-landing:has(.family-cover.is-active) .brand-intro{text-shadow:0 2px 8px #0009}
.branch-landing:has(.family-cover.is-active) .intro-logo{filter:drop-shadow(0 2px 5px #0007)}
@media(max-width:650px){.family-cover-grid{inset:-12% -25%;gap:8px;--strip-gap:8px}.bx-families .bx-hero-media{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.family-strip-track{animation-play-state:paused!important;will-change:auto}.motion-enabled .family-strip-track{animation-play-state:running!important}.motion-paused .family-strip-track{animation-play-state:paused!important}}

.family-motion-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0!important;border:0!important;background:transparent!important;color:#fff}
.family-motion-toggle::before{content:"";width:12px;height:14px;border-left:4px solid;border-right:4px solid;box-sizing:border-box}
.family-motion-toggle[aria-pressed="true"]::before{width:0;height:0;border:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid currentColor}
