/* Shared Deep Forest identity: values mirror deepforestai.com/v2/style.css.
   Keep this layer last so older page-specific styles cannot change the masthead. */
@font-face{font-family:Inter;src:url('/og-assets/inter-500.ttf') format('truetype');font-weight:500;font-display:swap}
:root{
 --gutter:clamp(24px,4.45vw,72px);
 --family-header-height:104px;
 --family-display:clamp(68px,7.7vw,118px);
 --family-ease:cubic-bezier(.2,.8,.2,1);
}
html{-webkit-text-size-adjust:100%}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{width:min(calc(100% - 2 * var(--gutter)),calc(1600px - 2 * var(--gutter)))}
.site-header{border-bottom:0;background:var(--paper)}
.site-header .header-inner{min-height:var(--family-header-height);gap:24px}
.site-header .brand{gap:13px}
.site-header .brand img{width:55.16px;height:39.4px}
.site-footer .brand img{width:56px;height:40px}
.site-header .wordmark{font-size:29.55px;font-weight:700;letter-spacing:-.055em;line-height:1}
.site-header nav{gap:38px;font-size:14px;font-weight:500}
.site-header nav>a{font-size:14px;font-weight:500;line-height:1.55;padding:12px 0}
.site-header nav .nav-cta{display:block;border:0;border-bottom:1px solid var(--ink);padding:10px 0;background:transparent}
.site-header .nav-cta span{margin-left:22px}
.family-hero{padding-top:0}
.family-hero .hero-topline{padding-top:31px;display:flex;justify-content:space-between;align-items:center;gap:24px;color:#c3cdb9}
.family-hero .hero-topline .eyebrow{display:flex;align-items:center;gap:10px;margin:0;color:inherit;font-size:12px;font-weight:500;line-height:1.55;letter-spacing:.12em;text-transform:uppercase}
.family-hero .small-square{width:6px;height:6px;flex-shrink:0}
.family-hero .edition{margin:0;font-size:12px;font-weight:500;line-height:1.55;letter-spacing:.08em;text-transform:uppercase}
.edition-short{display:none}
.family-hero .hero-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:34px;align-items:center;padding-block:66px 72px;min-height:584px}
.family-hero .hero-copy{padding:0;min-width:0}
.family-hero h1{font-size:var(--family-display);font-weight:600;line-height:.97;letter-spacing:-.075em;max-width:none;margin:0}
.family-hero .hero-intro{max-width:42ch;font-size:19px;line-height:1.6;margin:32px 0 0;color:#ced7c9;letter-spacing:-.015em}
.family-hero .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 34px;margin:30px 0 0}
.hero-link{display:inline-flex;gap:27px;align-items:center;font-size:14px;font-weight:500;line-height:1.55;background:var(--sage);color:var(--forest);padding:10px 12px 10px 22px}
.hero-link:hover{background:var(--paper)}
.circle-arrow{display:grid;place-items:center;width:39px;height:39px;border:1px solid #879c87;border-radius:50%;font-size:20px;transition:background .25s,color .25s}
.hero-link:hover .circle-arrow{background:var(--paper);color:var(--forest)}
.hero-secondary{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:400;line-height:1.55;border-bottom:1px solid #879c87;padding:8px 0}
.hero-secondary:hover{border-color:var(--paper)}
.family-hero .forest-portrait{width:100%;min-height:405px;align-self:stretch;margin:0;overflow:hidden}
.family-hero .forest-photo-label{left:26px;right:26px;bottom:70px}
.family-hero .forest-photo-label>strong{font-size:30px;line-height:1.15}
.family-hero .forest-photo-label>span{font-size:9px;letter-spacing:.16em}
.family-hero .forest-portrait figcaption{left:26px;right:20px;bottom:21px}
.family-hero .hero-grain{top:24px;left:-510px;opacity:.055}
.family-hero .hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:22px 0;border-top:1px solid #3e5d4e;color:#bfcdba;font-size:12px;font-weight:500;letter-spacing:.025em;line-height:1.55}
.family-hero .hero-bottom p{margin:0}
.family-hero .hero-bottom a{display:flex;align-items:center;gap:20px}
.family-hero .hero-bottom a:hover{color:var(--paper)}
.family-hero .hero-bottom span:before{content:none}
@media(min-width:1700px){
 .family-hero .hero-grid{padding-block:90px}
 .family-hero h1{font-size:126px}
}
@media(max-width:1100px){
 .site-header nav{gap:25px}
 .family-hero .hero-grid{gap:20px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
 .family-hero h1{font-size:8vw}
 .family-hero .forest-portrait{min-height:340px}
 .family-hero .hero-intro{font-size:17px}
}
/* Old Growth has more destinations, so its matching masthead keeps a real menu. */
@media(max-width:1000px){
 .site-header .header-inner{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-rows:var(--family-header-height) auto;min-height:0;gap:0}
 .site-header .menu-toggle{display:flex;align-items:center;gap:12px;padding:10px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-size:14px;font-weight:500;line-height:1.55}
 .site-header .menu-toggle span{font-size:20px;line-height:1}
 .site-header nav{display:none;grid-column:1/-1;width:100%;padding:0 0 20px;align-items:stretch}
 .site-header nav.open{display:flex;flex-direction:column;gap:0}
 .site-header nav>a,.site-header nav .nav-cta{width:100%;padding:14px 0;border:0;border-top:1px solid var(--line);font-size:14px}
}
@media(max-width:760px){
 :root{--family-header-height:82px}
 .site-header .header-inner{gap:0}
 .site-header .brand{gap:10.8px}
 .site-header .brand img{width:45.906px;height:32.79px}
 .site-footer .brand img{width:46.2px;height:33px}
 .site-header .wordmark{font-size:24.59px}
 .site-header .menu-toggle{font-size:12px;gap:10px}
 .family-hero .hero-topline{padding-top:25px}
 .family-hero .hero-topline .eyebrow{font-size:9px;letter-spacing:.08em}
 .family-hero .edition{font-size:9px;text-align:right;letter-spacing:.08em}
 .edition-full{display:none}.edition-short{display:inline}
 .family-hero .hero-grid{grid-template-columns:1fr;padding-block:45px 29px;gap:30px}
 .family-hero h1{font-size:clamp(53px,10.6vw,79px);letter-spacing:-.07em;line-height:1.01}
 .family-hero .hero-intro{font-size:16px;margin-top:24px;line-height:1.65}
 .family-hero .hero-actions{margin-top:23px;gap:18px 20px}
 .hero-link,.hero-secondary{font-size:13px}
 .hero-link{gap:15px;padding:9px 10px 9px 16px}
 .circle-arrow{width:34px;height:34px;font-size:18px}
 .family-hero .forest-portrait{min-height:0;height:258px;width:100%;max-width:400px;justify-self:center}
 .family-hero .forest-photo-label{left:20px;right:20px;bottom:60px}
 .family-hero .forest-photo-label>strong{font-size:26px}
 .family-hero .forest-photo-label>span{font-size:8px;margin-bottom:8px}
 .family-hero .forest-portrait figcaption{left:20px;right:16px;bottom:16px;font-size:9px}
 .family-hero .forest-portrait figcaption>span{font-size:8px}
 .family-hero .hero-bottom{font-size:9px;padding:17px 0;gap:12px;flex-wrap:nowrap}
 .family-hero .hero-bottom a{display:none}
 .family-hero .hero-grain{top:-15px;left:-485px}
}
@media(max-width:370px){
 .site-header .brand{gap:9.1px}
 .site-header .brand img{width:38.738px;height:27.67px}
 .site-header .wordmark{font-size:20.75px}
 .family-hero h1{font-size:10.3vw}
 .family-hero .hero-topline .eyebrow{font-size:8px}
 .family-hero .edition{max-width:80px;font-size:8px}
 .family-hero .forest-portrait{height:230px}
}
@media print{.family-hero .hero-topline,.family-hero .hero-actions,.family-hero .hero-bottom{display:none}.family-hero .hero-grid{display:block;padding:0;min-height:0}.family-hero .forest-portrait{display:none}}
