:root{--dark:#120d0a;--copper:#bd6b30;--orange:#e69a55;--cream:#f4eadb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--dark);color:#fff;font-family:Arial,Helvetica,sans-serif}a:focus-visible,button:focus-visible{outline:3px solid #ffca84;outline-offset:4px}
.site-header{height:148px;position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;gap:30px;padding:12px 4.7%;background:linear-gradient(180deg,rgba(12,9,8,.55),transparent)}
.brand{display:block;flex:0 1 710px;min-width:0}.brand img{display:block;width:100%;height:auto;max-height:140px;object-fit:contain;object-position:left center;filter:drop-shadow(0 2px 4px #000)}
nav{margin-left:auto;display:flex;align-items:center;gap:clamp(18px,2.7vw,52px)}nav a{color:#f9ead9;text-decoration:none;font:700 16px Georgia,serif;white-space:nowrap;text-shadow:0 2px 4px #000}.contact-nav{padding:18px 33px;border:1px solid #c17739;background:rgba(52,28,17,.3)}nav a:hover,.card a:hover{color:#f7ad6e}.menu{display:none}
.hero{min-height:780px;height:min(900px,90vh);position:relative;display:grid;grid-template-columns:52% 48%;align-items:center;padding:150px 6.8% 42px;background:url('assets/northshore-clean.png') center/cover no-repeat;overflow:hidden}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,7,.57),rgba(5,7,7,.27) 47%,rgba(5,7,7,.02) 77%),linear-gradient(0deg,rgba(5,4,3,.35),transparent 45%)}.hero-copy,.hero-mark{position:relative;z-index:1}.eyebrow,.kicker{color:var(--orange);font-weight:700;letter-spacing:.2em;font-size:15px}.hero h1{font:700 clamp(57px,5.5vw,99px)/.86 Georgia,'Times New Roman',serif;letter-spacing:-.052em;margin:19px 0;color:#fff8ed;text-shadow:0 4px 10px rgba(0,0,0,.58)}.rule,.small-rule{height:2px;width:75px;background:var(--copper);margin:19px 0}.lede{font-size:21px;line-height:1.45;color:#f4eee6;text-shadow:0 2px 5px #000}.actions{display:flex;gap:20px;margin-top:25px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:57px;padding:16px 29px;text-decoration:none;color:#fff;font-weight:700;font-size:14px;letter-spacing:.07em;border:1px solid #c67a3b;white-space:nowrap}.btn.primary{background:linear-gradient(120deg,#954b23,#ad602b)}.btn.ghost{background:rgba(6,8,8,.78)}.btn:hover{filter:brightness(1.18)}.hero-mark{display:flex;justify-content:center;align-items:center}.hero-mark img{width:min(40vw,610px);max-height:610px;object-fit:contain;filter:drop-shadow(0 13px 16px rgba(0,0,0,.7))}
.intro{background:#f4e9d9;color:#160f0a;text-align:center;padding:30px 4% 24px}.intro .kicker{color:#a85c28;font:700 15px Georgia,serif;letter-spacing:.1em}.intro h2{font:700 clamp(30px,2.7vw,43px)/1.1 Georgia,serif;margin:16px auto 0}.small-rule{margin:20px auto 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);background:#1c130e}.card{min-height:430px;border-right:1px solid #61402a;background:radial-gradient(circle at 80% 10%,#372014,#17100c 65%)}.card-inner{padding:55px 10%}.card-inner>span{float:right;color:#98623d;font:20px Georgia}.card h3{font:700 clamp(29px,2.5vw,44px)/1.05 Georgia,serif;color:#f8eee0;margin:17px 0}.card p:not(.kicker){color:#dcc8b5;line-height:1.65;font-size:17px}.card a{display:inline-block;color:#e79a54;text-decoration:none;margin-top:18px;font-weight:700;font-size:14px;line-height:1.5}
.roots{padding:85px 5%;text-align:center;background:radial-gradient(circle,#34412f,#151f17 72%)}.roots blockquote{font:clamp(36px,4vw,64px)/1.2 Georgia,serif;color:#f2e4ce;margin:22px auto 0}.about{background:#ead8bc;color:#291a10;display:grid;grid-template-columns:1fr 1.15fr;gap:9%;padding:80px 9%}.about .kicker{color:#a65a27}.about h2{font:700 clamp(47px,5vw,76px)/.95 Georgia,serif;margin:20px 0}.story{padding-top:45px;font-size:18px;line-height:1.7;color:#68462c}.contact{text-align:center;padding:95px 5%;background:#140e0b}.contact h2{font:700 clamp(55px,6vw,90px) Georgia,serif;color:#fff0dc;margin:16px}.contact>p:not(.kicker){color:#dec8b1;font-size:18px;line-height:1.6}.contact .btn{margin-top:22px}footer{text-align:center;padding:46px;background:#090705;color:#b69b7d}footer strong{font:24px Georgia,serif;color:#d58a4e}footer p{margin:18px 0}footer small{opacity:.7}
@media(max-width:1250px){.site-header{height:115px}.brand{flex-basis:440px}nav{gap:18px}nav a{font-size:13px}.contact-nav{padding:15px}.hero h1{font-size:clamp(55px,5.5vw,78px)}.btn{font-size:12px;padding:15px}.hero-mark img{width:39vw}}
@media(max-width:800px){.site-header{height:92px;padding:12px 5%;background:rgba(10,8,7,.7)}.brand{flex-basis:350px}.brand img{max-height:74px}.menu{display:block;margin-left:auto;padding:10px 14px;color:white;border:1px solid var(--copper);background:rgba(10,8,7,.6);font-weight:700}nav{display:none;position:absolute;top:92px;left:0;right:0;padding:24px;background:#110c09;flex-direction:column;align-items:stretch;gap:22px}nav.open{display:flex}.hero{height:auto;min-height:0;grid-template-columns:1fr;padding:132px 7% 55px;background-position:55% center}.shade{background:linear-gradient(90deg,rgba(5,6,6,.72),rgba(5,6,6,.28)),linear-gradient(0deg,rgba(5,4,3,.4),transparent)}.hero h1{font-size:clamp(45px,10vw,75px)}.hero-mark{margin-top:30px}.hero-mark img{width:min(77vw,470px)}.lede{font-size:18px}.desktop{display:none}.actions{flex-wrap:wrap}.cards{grid-template-columns:1fr}.card{min-height:0}.card-inner{padding:40px 8%}.about{grid-template-columns:1fr;gap:5px;padding:65px 8%}.story{padding-top:0}.roots blockquote br{display:none}}
@media(max-width:500px){.brand{flex-basis:260px}.brand img{max-height:58px}.hero h1{font-size:clamp(43px,12.5vw,60px)}.eyebrow{font-size:12px}.actions{flex-direction:column;align-items:stretch}.btn{font-size:12px}.hero-mark img{width:82vw}.intro h2{font-size:30px}.contact{padding:65px 6%}.contact .btn{font-size:11px}}
