@font-face{font-family:'Beaver Wood';font-style:normal;font-weight:400;font-display:swap;src:url('assets/rye-regular.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/dm-sans-400.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/dm-sans-600.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('assets/manrope-700.ttf') format('truetype')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('assets/manrope-800.ttf') format('truetype')}
/* Reading type on paper, engraved type on timber. */
body,button,input,textarea,select,p,a,span,strong,small,label,summary,dt,dd,.eyebrow,.btn,.step-num,.modal textarea{font-family:'DM Sans',Arial,sans-serif;font-synthesis:none}
body{line-height:1.75;font-weight:400}
h1,h2,h3,h4,h5,h6,.hero-content h1,.section h2,.philosophy h2,.cta h2,.service-content h3,.step h3,.fit h3,.modal h2,.brand-name{font-family:'Manrope',Arial,sans-serif;font-weight:700;font-synthesis:none}
.hero-content h1{font-size:clamp(56px,5.9vw,86px);line-height:1.1;letter-spacing:-3.3px;font-weight:800}.hero-content h1 em{font-family:inherit;font-weight:inherit}.hero-content p{font-size:16px;line-height:1.85;max-width:430px}.hero-content .eyebrow{font-size:10px;letter-spacing:1.5px}.hero-content .btn.lime{font-size:13px;font-weight:600}.hero-content .sky-link{font-size:12px;font-weight:600}
.section h2,.philosophy h2{font-size:clamp(31px,3.2vw,44px);line-height:1.25;letter-spacing:-1.5px}.section-top>p,.service-content p,.step p,.philosophy p,.faq details p,.modal p,.hero-description{font-size:15px;line-height:1.85;color:#505d4e}.service-content h3{font-size:26px;line-height:1.3;letter-spacing:-.7px}.tags span{font-size:12px}.step h3{font-size:22px;line-height:1.4}.fit h3{font-size:29px;line-height:1.35}.fit-list{font-size:14px}.fit-list span{font-size:13px;line-height:1.75}.principle{font-size:13px;line-height:1.75}.faq summary{font-size:16px;line-height:1.65;font-weight:600}.footer-top p{font-size:13px;line-height:1.8}.footer-bottom{font-size:12px;line-height:1.8}.portfolio-info h3{font-size:22px;line-height:1.4}.portfolio-info dl div{font-size:13px}.portfolio-note{font-size:14px;line-height:1.8}.portfolio-preview p{font-size:12px}.portfolio-status{font-size:10px}.eyebrow,.section .eyebrow{font-size:10px;letter-spacing:1.5px}.modal h2{font-size:30px;line-height:1.3}.choice{font-size:15px}.modal textarea{font-size:15px}
.brand-name{font-size:28px;letter-spacing:-1px}.brand-name small{font-size:9px;letter-spacing:2px}
.nav,.nav *,.service-tab,.service-tab *,.cta,.cta *{font-family:'Beaver Wood',Georgia,serif!important;font-weight:400;font-synthesis:none}
.nav-links{font-size:11px;gap:22px}.nav .btn{font-size:11px}.nav .brand-name{letter-spacing:-.8px}
.service-tab strong,.service-tab[aria-selected="true"] strong{font-size:16px;line-height:1.6;font-weight:400;letter-spacing:0}.service-tab .num{font-size:11px;font-weight:400}
/* Final invitation: an oak sign with a solid timber frame. */
.cta{isolation:isolate;background-color:#d6ad7e;background-image:url('assets/plank-grain.svg'),repeating-linear-gradient(178deg,transparent 0 10px,#5732190a 11px,transparent 13px 22px),linear-gradient(110deg,#e5c39a,#c69666 68%,#dcb788);background-size:1050px 195px,100% 100%,100% 100%;border:7px solid #996d45;border-radius:22px;box-shadow:inset 0 2px 1px #fff3cfaa,inset 0 -4px 4px #6e422d50,0 7px 0 #785233,0 20px 35px #593b2020;padding:48px;gap:35px;overflow:hidden;color:#3c281b}
.cta::before,.cta::after{content:none}.cta>div{position:relative;z-index:1;min-width:0}
.cta h2{font-size:34px;line-height:1.4;letter-spacing:-.7px;color:#3c281b;text-shadow:0 -1px 1px #8d603d,0 1px 0 #f4dcaf;max-width:660px}
.cta p{font-size:14px;line-height:1.9;color:#493321;max-width:560px;text-shadow:0 1px 0 #f5dbb67a}
.cta .btn{position:relative;background:#2d4c3a;color:#fffdf0;box-shadow:0 4px 0 #1b3527,0 7px 16px #59402024;border:1px solid #57745a;font-size:12px;gap:18px;flex-shrink:0;z-index:1;white-space:normal;max-width:280px;text-align:center}.cta .btn:hover{background:#3c6148;transform:translateY(-2px)}
.cta .plank-fittings{inset:0;z-index:0}.cta .plank-fittings i{width:11px;height:11px}.cta .plank-fittings i:nth-child(1){top:9px;left:10px}.cta .plank-fittings i:nth-child(2){top:9px;right:10px}.cta .plank-fittings i:nth-child(3){bottom:9px;left:10px}.cta .plank-fittings i:nth-child(4){bottom:9px;right:10px}
@media(max-width:1100px) and (min-width:761px){.nav-links{gap:13px;font-size:10px}.nav .brand-name{font-size:24px}.nav .btn{font-size:10px;padding:12px 14px;gap:12px}.hero-content h1{font-size:60px}.service-tab strong{font-size:14px}.service-tab{grid-template-columns:25px minmax(0,1fr) 29px;gap:10px}.hero-content .btn.lime{font-size:12px}.cta{padding:35px;gap:25px}.cta h2{font-size:28px}.cta .btn{max-width:210px;font-size:11px;gap:12px}}
@media(max-width:900px) and (min-width:761px){.nav-links{display:none;position:absolute;top:88px;left:32px;right:32px;background:#f6e7d6;border:1px solid #d2ad86;border-radius:16px;padding:22px;flex-direction:column;font-size:12px;gap:18px}.nav-links.open{display:flex}.menu{display:block;background:transparent;color:#34291f}.nav>.btn{margin-left:auto}.nav .brand-name{font-size:27px}}
@media(max-width:760px){.nav .brand-name{font-size:23px}.nav .brand-name small{font-size:8px;letter-spacing:1.4px}.nav>.btn{font-size:9px;padding:10px}.nav-links{font-size:12px}.hero-content h1{font-size:clamp(47px,10vw,65px);line-height:1.1;letter-spacing:-2.6px}.hero-content p{font-size:14px;line-height:1.8}.hero-content .eyebrow{font-size:9px;letter-spacing:1px}.hero-content .btn.lime{font-size:11px}.section h2,.philosophy h2{font-size:32px;line-height:1.3}.section-top>p,.service-content p,.step p,.philosophy p,.faq details p{font-size:14px}.service-tab strong,.service-tab[aria-selected="true"] strong{font-size:14px}.service-tab{grid-template-columns:24px minmax(0,1fr) 29px;gap:10px}.service-content h3{font-size:24px}.fit h3{font-size:27px}.footer-top p{font-size:13px}.hero-content .hero-actions{gap:18px}.cta{padding:31px 24px;border-width:5px;gap:26px}.cta h2{font-size:26px;line-height:1.45;letter-spacing:-.5px}.cta p{font-size:13px;line-height:1.9}.cta .btn{font-size:11px;max-width:100%}}
@media(max-width:400px){.nav .brand-name{font-size:21px}.nav>.btn{font-size:8px}.hero-content h1{font-size:48px}.hero-content .btn.lime{font-size:10px;padding:14px}.section h2{font-size:30px}.cta h2{font-size:25px}}
