/* Brinova homepage: clean background film with independent foreground content. */
.depth-home { --depth-navy:#071a2e; --depth-gold:#e5c17e; --depth-paper:#faf8f3; background:var(--depth-paper); }
.depth-container { width:min(1320px,calc(100% - 112px)); margin-inline:auto; }
.contact-rail { position:relative; z-index:1001; background:#d7b576; color:#122338; font-size:11px; font-weight:600; letter-spacing:.08em; }
.contact-rail>.depth-container { display:flex; min-height:34px; justify-content:space-between; align-items:center; gap:20px; }
.contact-rail .depth-container>div { display:flex; gap:26px; align-items:center; }
.contact-rail a { text-decoration:none; letter-spacing:.02em; }
.depth-home .site-header { position:absolute; top:34px; left:0; right:0; background:linear-gradient(180deg,rgba(5,20,35,.65),transparent); backdrop-filter:none; border:0; }
.depth-home .header-inner { width:min(1320px,calc(100% - 112px)); min-height:114px; border-bottom:1px solid rgba(255,255,255,.18); }
.depth-home .brand img { width:112px; border-radius:3px; }
.depth-home .site-nav { gap:9px; }
.depth-home .site-nav a { font-size:14px; font-weight:500; color:white; }
.depth-home .site-nav .nav-contact { margin-left:18px; padding:12px 24px; color:#10243b; background:var(--depth-gold); border-radius:2px; }
.depth-home .nav-toggle { color:#fff; border:1px solid rgba(255,255,255,.55); background:rgba(7,26,46,.75); }
.depth-home .hero--depth { height:calc(100vh - 34px); height:calc(100svh - 34px); min-height:760px; overflow:hidden; background:var(--depth-navy); isolation:isolate; }
.hero--depth::after { content:none; }
.film-stage { position:absolute; inset:0; overflow:hidden; z-index:-1; }
.film-depth { position:absolute; inset:-18px; transform:translate3d(var(--film-x,0px),var(--film-y,0px),0) scale(1.045); will-change:transform; }
.film-depth video { display:block; width:100%; height:100%; object-fit:cover; object-position:center; pointer-events:none; }
.film-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,18,32,.87),rgba(5,20,36,.61) 33%,rgba(5,20,36,.20) 75%,rgba(5,20,36,.15)),linear-gradient(0deg,rgba(4,18,32,.88),transparent 32%); }
.hero-foreground { position:relative; height:100%; display:flex; align-items:center; padding-top:100px; padding-bottom:150px; z-index:2; }
.depth-copy { max-width:810px; transform:translate3d(var(--copy-x,0px),var(--copy-y,0px),0); will-change:transform; }
.hero-kicker { margin:0 0 24px; display:flex; align-items:center; gap:15px; color:var(--depth-gold); font-size:11px; font-weight:600; letter-spacing:.22em; }
.hero-kicker::before { content:""; width:42px; height:1px; background:var(--depth-gold); }
.depth-home .hero h1 { max-width:none; margin:0 0 26px; color:#fff; font-family:Georgia,'Times New Roman',serif; font-size:clamp(58px,5.3vw,86px); line-height:1.08; font-weight:400; letter-spacing:-.035em; text-shadow:0 4px 30px rgba(0,0,0,.22); }
.depth-home .hero h1 span,.depth-home .hero h1 em { display:block; }
.depth-home .hero h1 em { color:#efd096; font-weight:400; font-size:.97em; }
.hero-promise { font-size:19px; margin:0 0 8px; font-weight:500; color:white; }
.hero-intro { max-width:535px; margin:0 0 29px; color:#e1e5e7; font-size:17px; line-height:1.7; }
.hero-actions { display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.depth-button { display:inline-flex; min-height:54px; justify-content:center; align-items:center; gap:28px; padding:12px 25px; border:1px solid rgba(255,255,255,.7); border-radius:2px; color:white; text-decoration:none; font-size:14px; font-weight:600; transition:transform .2s,background .2s,box-shadow .2s; }
.depth-button span { font-size:20px; font-weight:400; }
.depth-button--gold { background:var(--depth-gold); color:#0c2035; border-color:var(--depth-gold); box-shadow:0 14px 35px rgba(0,0,0,.19); }
.depth-button--clear { background:rgba(6,22,39,.18); }
.depth-button:hover { transform:translateY(-3px); background:#f0d299; color:#102238; box-shadow:0 19px 40px rgba(0,0,0,.25); }
.hero-foot { position:absolute; z-index:3; bottom:90px; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#fff; }
.film-sound { display:inline-flex; min-height:44px; align-items:center; gap:9px; padding:8px 12px; border:1px solid rgba(255,255,255,.35); border-radius:2px; background:rgba(4,18,32,.4); color:white; font:inherit; font-size:11px; text-transform:uppercase; letter-spacing:.1em; cursor:pointer; }
.film-sound svg { width:17px; height:17px; color:var(--depth-gold); }
.film-sound[aria-pressed="false"] .sound-waves,.film-sound[aria-pressed="true"] .sound-slash { display:none; }
.hero-signature { font-size:10px; letter-spacing:.22em; color:rgba(255,255,255,.76); }
.hero-scroll { display:flex; min-height:44px; align-items:center; gap:15px; text-decoration:none; color:#fff; font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.hero-scroll span { color:var(--depth-gold); font-size:24px; }
.process-float { position:relative; z-index:5; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:-46px; background:#fff; border-top:2px solid #d9bd8d; box-shadow:0 20px 60px rgba(4,25,46,.12); }
.process-float a { display:flex; padding:28px 24px; align-items:center; gap:18px; text-decoration:none; border-right:1px solid #eae7df; transition:background .2s; }
.process-float a:last-child { border-right:0; }
.process-float a:hover { background:#faf5e9; }
.process-float a>span { font-family:Georgia,serif; color:#9f7737; font-size:30px; }
.process-float small { display:block; margin-bottom:4px; font-size:9px; color:#817661; letter-spacing:.14em; }
.process-float strong { display:block; color:#142a40; font-size:14px; font-weight:500; }
.process-float b { margin-left:auto; color:#9b773b; font-weight:400; font-size:20px; }
.home-overview { padding:130px 0 100px; background:var(--depth-paper); }
.overview-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.overview-visual { position:relative; padding:0 22px 30px 0; }
.overview-visual img { position:relative; width:100%; height:470px; object-fit:cover; object-position:64% center; z-index:1; box-shadow:0 22px 50px rgba(5,23,44,.1); }
.visual-outline { position:absolute; inset:22px 0 0 25px; border:1px solid #cbaa6b; }
.lab-caption { position:absolute; z-index:2; bottom:0; left:-24px; padding:25px 30px; background:#0a243c; box-shadow:0 16px 38px rgba(4,24,43,.18); color:#fff; }
.lab-caption small { display:block; color:#e5c17e; font-size:9px; letter-spacing:.17em; margin-bottom:10px; }
.lab-caption span { font-family:Georgia,serif; font-size:23px; line-height:1.3; }
.depth-home .eyebrow { font-size:10px; letter-spacing:.18em; line-height:1.6; color:#9a7133; font-weight:600; }
.depth-home h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.028em; font-size:clamp(32px,3.1vw,47px); line-height:1.15; }
.depth-home h2 em { color:#9a7133; font-weight:400; }
.overview-copy .lede { font-size:17px; color:#596778; line-height:1.8; }
.text-link { display:inline-flex; gap:28px; min-height:44px; align-items:center; border-bottom:1px solid #caa665; text-decoration:none; font-size:14px; font-weight:600; }
.depth-home .section { padding:100px 0; }
.depth-home .section--paper { background:#f1eee6; }
.depth-home .section--mist { background:#fcfbf8; }
.depth-home .section-heading .lede { font-size:17px; }
.depth-home .problem-grid { gap:1px; border:1px solid #e2ddcf; }
.depth-home .problem-item { font-size:15px; font-weight:500; background:transparent; border-color:#e2ddcf; }
.depth-home .problem-item::before { width:6px; height:6px; background:#aa8448; }
.depth-home .condition-panel { background:#0a243c; border-top:2px solid #d6b579; box-shadow:18px 18px 0 #eee8d9,0 25px 45px rgba(8,30,48,.13); }
.depth-home .panel-kicker { color:#e5c17e; font-size:12px; }
.depth-home .solution-card { min-height:300px; padding:42px; border-radius:2px; border-color:#ded9ce; }
.depth-home .solution-card h3 { max-width:400px; font-family:Georgia,serif; font-size:30px; font-weight:400; line-height:1.15; }
.depth-home .experience-band { background:#0a243c; }
.depth-home .experience-marker strong { color:#e5c17e; font-family:Georgia,serif; font-weight:400; }
.depth-home .cta-panel { border-radius:2px; background:#0a243c; }
.film-credit { margin-top:22px; color:#b8c0c9; font-size:11px; }
.film-credit a { color:inherit; }
@keyframes copy-appear { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:translateY(0); } }
.depth-copy>* { animation:copy-appear .85s both; }
.depth-copy h1 { animation-delay:.12s; }.depth-copy .hero-promise { animation-delay:.23s; }.depth-copy .hero-intro { animation-delay:.3s; }.depth-copy .hero-actions { animation-delay:.4s; }
.depth-motion [data-reveal] { transition:opacity .7s,transform .8s; }
.depth-motion [data-reveal].reveal-pending { opacity:0; transform:translateY(28px); }
@media(min-width:1600px) { .depth-container,.depth-home .header-inner { width:min(1560px,calc(100% - 160px)); } }
@media(max-width:1080px) {
 .depth-container,.depth-home .header-inner { width:calc(100% - 64px); }
 .depth-home .header-inner { min-height:100px; }
 .depth-home .brand img { width:102px; }
 .depth-home .site-header.nav-open .site-nav,.depth-home .site-nav { background:#071a2e; border-top:1px solid #8a7048; max-height:calc(100svh - 134px); }
 .depth-home .site-nav .nav-contact { margin:8px 0 0; }
 .depth-home .hero h1 { font-size:clamp(52px,6.8vw,76px); }
 .overview-layout { gap:55px; }
 .overview-visual img { height:430px; }
 .process-float a { gap:12px; padding:24px 18px; }.process-float b { display:none; }.process-float strong { font-size:12px; }
}
@media(max-width:700px) {
 .contact-rail>.depth-container { min-height:28px; justify-content:center; }.contact-rail { font-size:9px; }.contact-rail .depth-container>div { display:none; }
 .depth-container,.depth-home .header-inner { width:calc(100% - 40px); }
 .depth-home .site-header { top:28px; }.depth-home .header-inner { min-height:92px; }.depth-home .brand img { width:96px; }
 .depth-home .site-header.nav-open .site-nav { max-height:calc(100svh - 120px); }
 .depth-home .hero--depth { height:calc(100svh - 28px); min-height:790px; }
 .film-depth { inset:0; transform:none; }
 .film-shade { background:linear-gradient(180deg,rgba(3,18,32,.16) 10%,rgba(3,18,32,.1) 26%,rgba(4,18,32,.77) 45%,rgba(4,18,32,.97) 74%); }
 .hero-foreground { align-items:flex-end; padding-top:290px; padding-bottom:168px; }
 .depth-copy { max-width:100%; transform:none; }
 .hero-kicker { font-size:8px; letter-spacing:.15em; gap:8px; margin-bottom:17px; }.hero-kicker::before { width:21px; }
 .depth-home .hero h1 { font-size:clamp(36px,10.6vw,60px); margin-bottom:20px; line-height:1.11; letter-spacing:-.04em; }
 .hero-promise { font-size:15px; }.hero-intro { font-size:14px; line-height:1.6; margin-bottom:21px; max-width:340px; }
 .hero-actions { gap:9px; }.depth-button { font-size:11px; gap:14px; padding:10px 13px; min-height:46px; }.depth-button span { font-size:17px; }
 .hero-foot { bottom:89px; gap:10px; }.hero-signature { display:none; }.film-sound,.hero-scroll { font-size:9px; }.hero-scroll { gap:10px; }
 .process-float { grid-template-columns:1fr; margin-top:-40px; }.process-float a { padding:17px 20px; border-right:0; border-bottom:1px solid #ebe6dc; gap:18px; }.process-float a:last-child { border-bottom:0; }.process-float strong { font-size:13px; }.process-float b { display:block; }.process-float a>span { font-size:25px; }
 .home-overview { padding:76px 0 64px; }.overview-layout { grid-template-columns:1fr; gap:60px; }.overview-visual { padding-right:18px; }.overview-visual img { height:380px; }.lab-caption { left:0; padding:20px 24px; }.lab-caption span { font-size:23px; }
 .depth-home .section { padding:65px 0; }.depth-home h2 { font-size:35px; }.overview-copy .lede,.depth-home .section-heading .lede { font-size:16px; }
 .depth-home .condition-panel { padding:30px; box-shadow:10px 10px 0 #eee8d9; }.depth-home .solution-card { padding:30px; min-height:270px; }.depth-home .solution-card h3 { font-size:28px; }
}
@media(max-width:360px) { .depth-button { padding-inline:10px; font-size:10px; gap:7px; }.depth-home .hero h1 { font-size:35px; }.hero-kicker { font-size:7.5px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.depth-copy>* { animation:none; }.film-depth,.depth-copy { transform:none!important; will-change:auto; } .depth-motion [data-reveal] { opacity:1!important; transform:none!important; transition:none; } }
