.inner{background:var(--cream);color:var(--ink)}.inner .nav-wrap{background:rgba(24,27,18,.97);mix-blend-mode:normal}.inner-main{padding-top:90px}.inner-hero{min-height:76svh;background:var(--cream);padding:clamp(130px,15vw,220px) var(--pad) 70px;display:grid;grid-template-columns:1fr .9fr;gap:8vw;align-items:end;overflow:hidden}.inner-hero-copy .section-number,.crumb{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--tomato)}.crumb a{color:var(--ink)}.inner-hero h1{font:clamp(72px,10vw,160px)/.83 'Bowlby One SC',sans-serif;text-transform:uppercase;letter-spacing:-.07em;margin:30px 0}.inner-hero h1 em{color:var(--tomato);font-style:normal}.inner-hero-copy>p{font-size:clamp(17px,1.5vw,22px);line-height:1.6;max-width:610px}.inner-hero figure{margin:0}.inner-hero figure img{height:min(58vw,680px);object-fit:cover}.inner-hero figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin-top:12px}.content-section{padding:clamp(90px,12vw,180px) var(--pad)}.section-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:9vw}.content-section h2,.split-copy h2,.contact-copy h2{font:clamp(50px,7vw,110px)/.88 'Bowlby One SC',sans-serif;letter-spacing:-.06em;text-transform:uppercase;margin:0 0 35px}.content-section h2 em,.split-copy h2 em,.contact-copy h2 em{font-style:normal;color:var(--tomato)}.rich-copy{font-size:clamp(17px,1.45vw,21px);line-height:1.72;max-width:800px}.rich-copy p:first-child{font-size:1.2em}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:80px}.fact{padding:30px 28px 40px 0;border-right:1px solid var(--line)}.fact+.fact{padding-left:28px}.fact:last-child{border:0}.fact b{font:52px 'Bowlby One SC';color:var(--tomato)}.fact h3{font-size:23px;text-transform:uppercase;margin:24px 0 12px}.fact p{line-height:1.65;color:#55564a}.photo-split{display:grid;grid-template-columns:1.2fr .8fr;min-height:700px;background:var(--ink);color:var(--cream)}.photo-split figure{margin:0}.photo-split img{height:100%;object-fit:cover}.split-copy{padding:70px var(--pad);align-self:end}.split-copy p{line-height:1.7}.offer-list{border-top:1px solid var(--line);margin-top:30px}.offer{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.offer>span{font-size:20px;color:var(--tomato)}.offer h3{font-size:24px;text-transform:uppercase;margin:0 0 8px}.offer p{margin:0;line-height:1.6;color:#55564a}.button{display:inline-flex;border:1px solid currentColor;padding:15px 18px;margin-top:22px;text-transform:uppercase;font-size:10px;letter-spacing:.13em}.button:hover{background:var(--tomato);color:#fff;border-color:var(--tomato)}.gallery-wall{background:var(--ink);color:var(--cream);padding:clamp(90px,10vw,150px) var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery-wall figure{margin:0}.gallery-wall figure:first-child{grid-row:span 2}.gallery-wall img{height:100%;min-height:360px;object-fit:cover}.gallery-wall figure:first-child img{min-height:760px}.gallery-wall figcaption{font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin-top:12px}.info-grid,.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.info-table{border-collapse:collapse;width:100%}.info-table th,.info-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:22px 0}.info-table th{width:32%;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--tomato)}.info-table td{line-height:1.65}.faq{max-width:960px;margin:auto}.faq details{padding:24px 0;border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font:clamp(23px,3vw,36px) 'Bowlby One SC';text-transform:uppercase;cursor:pointer;list-style:none}.faq summary:after{content:'+';float:right;color:var(--tomato)}.faq details[open] summary:after{content:'−'}.faq details p{line-height:1.7;color:#55564a;max-width:760px}.cta-strip{background:var(--tomato);color:#fff;padding:clamp(70px,9vw,130px) var(--pad)}.cta-strip small{font-size:10px;letter-spacing:.18em;text-transform:uppercase}.cta-strip a{display:flex;justify-content:space-between;border-top:1px solid #fff8;border-bottom:1px solid #fff8;padding:25px 0;margin-top:24px;font:clamp(38px,7vw,100px) 'Bowlby One SC';text-transform:uppercase}.contact-card{background:#fff;padding:40px;box-shadow:0 25px 70px #1b1b1420}.contact-card span{font-size:10px;letter-spacing:.16em;color:var(--tomato)}.contact-card a{display:block;font:clamp(25px,3vw,42px) 'Bowlby One SC';padding:22px 0;border-bottom:1px solid var(--line)}.contact-card p{line-height:1.7;color:#55564a}.legal{max-width:900px;margin:auto}.legal h1{font:clamp(58px,8vw,110px)/.9 'Bowlby One SC';text-transform:uppercase;margin:25px 0 70px}.legal h2{font:30px 'Bowlby One SC';text-transform:uppercase;margin:45px 0 15px}.legal p{line-height:1.75;color:#55564a}.inner-footer{background:var(--ink);color:var(--cream);padding:55px var(--pad) 100px}.inner-footer-top{display:grid;grid-template-columns:140px 1fr auto;gap:40px;align-items:center}.inner-footer strong{font:clamp(28px,4vw,60px) 'Bowlby One SC'}.inner-footer nav{display:flex;gap:20px;flex-wrap:wrap;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.inner-footer-bottom{border-top:1px solid #fff3;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}.sticky-phone{position:fixed;right:18px;bottom:18px;z-index:90;background:var(--tomato);color:#fff;border-radius:99px;padding:15px 20px;text-transform:uppercase;font-size:10px;letter-spacing:.1em;box-shadow:0 12px 35px #0005}@media(max-width:900px){.inner-main{padding-top:76px}.inner-hero{grid-template-columns:1fr;padding-top:120px}.inner-hero figure{margin-top:40px}.inner-hero figure img{height:100vw}.section-grid,.info-grid,.contact-grid{grid-template-columns:1fr}.fact-grid{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}.photo-split{grid-template-columns:1fr}.photo-split figure{height:110vw}.gallery-wall{grid-template-columns:1fr}.gallery-wall figure:first-child{grid-row:auto}.gallery-wall img,.gallery-wall figure:first-child img{height:110vw;min-height:0}.inner-footer-top{grid-template-columns:100px 1fr}.inner-footer nav{grid-column:1/-1}.inner-footer-bottom{display:block}.inner-footer-bottom span{display:block;margin-top:10px}.sticky-phone{left:15px;right:15px;text-align:center}.mobile-menu{display:block}.inner .nav-wrap nav.open{display:flex;position:fixed;inset:0;background:var(--ink);z-index:80;flex-direction:column;align-items:center;justify-content:center;gap:25px;font-size:22px}.inner .nav-wrap nav.open a{font-size:22px}}
main>section{animation:69-page-rise .9s cubic-bezier(.2,.75,.2,1) both}main>section:nth-child(2){animation-delay:.1s}main>section:nth-child(3){animation-delay:.2s}main>section:nth-child(4){animation-delay:.3s}a,button{transition:transform .25s ease,opacity .25s ease}a:hover,button:hover{transform:translateY(-2px)}@keyframes 69-page-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){main>section{animation:none!important}a,button{transition:none}}
/* Scroll-driven reveal pattern adapted from https://codepen.io/oscar-jite/pen/qBzwOVq and the IntersectionObserver API. */@supports(animation-timeline:view()){main>section{animation-timeline:view(block);animation-range:entry 0% cover 34%;animation-iteration-count:1}}
