/* Brand palette sampled visually from the supplied logo. */
:root{--forest:#1b281c;--forest-light:#293a29;--gold:#e4cb69;--paper:#f7f7f0;--ink:#202c22;--muted:#596357;--line:#d9ded3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #aa7710;outline-offset:5px}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:var(--gold);padding:10px}.skip:focus{top:10px}header{max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-weight:800;font-size:26px;line-height:1;letter-spacing:.025em}.wordmark span{display:block;font-size:11px;letter-spacing:.32em;margin-top:7px}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}nav>a:not(.button):hover,.text-link:hover{color:#826619}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--gold);color:var(--forest);padding:16px 23px;font-weight:700;border:1px solid transparent;border-radius:2px;cursor:pointer;line-height:1.3;transition:background .2s,transform .2s}.button:hover{background:#f0dc8c;transform:translateY(-2px)}.button.small{background:var(--forest);color:var(--paper);padding:13px 18px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;padding:18px 5% 56px;gap:6%}.hero-content{padding-top:56px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em;margin:0 0 24px}.hero h1{font-size:clamp(46px,5.8vw,84px);line-height:1.03;letter-spacing:-.065em;margin:0 0 28px;font-weight:600}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}h1 em{color:#6a742c}.hero-intro{max-width:470px;font-size:18px;color:var(--muted);line-height:1.65;margin-bottom:30px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px}.text-link{font-size:14px;font-weight:700;display:inline-block;border-bottom:1px solid currentColor;padding:5px 0}.text-link span{margin-left:12px}.hero-note{border-top:1px solid var(--line);margin-top:54px;padding-top:19px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.brand-panel{background:#020401;color:var(--gold);min-height:540px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.panel-top,.panel-bottom{display:flex;justify-content:space-between;margin:23px 25px;font-size:10px;letter-spacing:.12em;line-height:1.7}.panel-top{border-bottom:1px solid #333a20;padding-bottom:16px}.panel-bottom{border-top:1px solid #333a20;padding-top:16px}.panel-bottom>span:last-child{font-size:32px;line-height:1}.logo-frame{height:360px;position:relative;overflow:hidden}.logo-frame img{position:absolute;width:770px;height:770px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%)}.trust-strip{background:var(--forest);color:var(--paper);display:flex;justify-content:center;gap:8%;padding:22px 5%;font-size:13px;letter-spacing:.025em}.trust-strip span:before{content:'＋';color:var(--gold);margin-right:12px}.section{padding:92px max(5%,calc((100vw - 1296px)/2))}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:48px}h2{font-size:clamp(34px,3.6vw,52px);line-height:1.12;letter-spacing:-.045em;font-weight:500;margin:0}.section-heading>p{max-width:340px;color:var(--muted);margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.number{color:#758062;font-size:13px;font-family:monospace;margin-bottom:25px}h3{font-size:20px;line-height:1.3;letter-spacing:-.025em;margin:0 0 13px}.service p{color:var(--muted);margin:0 0 28px}.deliverables{font-size:12px;color:#68724c;margin-top:auto}.scope-note{font-size:12px;color:var(--muted);margin-top:23px;max-width:950px}.approach{background:var(--forest);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:10%}.approach .eyebrow{color:var(--gold)}.lead{font-size:19px;line-height:1.7;max-width:480px;margin:26px 0;color:var(--muted)}.approach .lead,.principles p{color:#bec9b9}.approach .text-link{color:var(--gold)}.principles article{display:flex;gap:25px;border-top:1px solid #4b5746;padding:25px 0}.principles article>span{color:var(--gold);font:13px monospace;padding-top:4px}.principles p{margin:0}.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.placeholder{background:#e4e8dd;min-height:280px;display:flex;flex-direction:column;padding:27px;justify-content:space-between;border-top:3px solid #7f8b65}.placeholder.alternate{background:#dce1d5;border-color:#506846}.placeholder.third{background:#ece8d7;border-color:#a18c43}.placeholder span,.placeholder small{font-size:10px;letter-spacing:.12em}.placeholder strong{font-size:31px;font-weight:400;line-height:1.2;letter-spacing:-.04em}.placeholder small{border-top:1px solid #bbc2b3;padding-top:16px}.portfolio h3{margin:23px 0 9px;font-size:18px}.portfolio p{margin:0;color:var(--muted);font-size:14px}.area{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#e9eddf}.area h2 em{color:#667137}.area .lead{margin-top:0}.places{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid #c2cbb5;border-bottom:1px solid #c2cbb5;padding:23px 0;font-size:17px}.area p:not(.eyebrow){color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%}.email{font-weight:700;border-bottom:1px solid #9da891;overflow-wrap:anywhere}.contact-note{font-size:13px;color:var(--muted);margin-top:20px}form{display:grid;gap:19px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:7px;font-size:14px;font-weight:600}input,select,textarea{width:100%;min-width:0;border:1px solid #bec7b6;background:transparent;padding:12px 14px;border-radius:2px;color:var(--ink);font-size:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#717a6c;font-size:14px;font-weight:400}.form-note,#form-status{font-size:12px;color:var(--muted);margin:0}#form-status:not(:empty){padding:14px;background:#e9eddf}footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:35px 5%;background:var(--forest);color:var(--paper)}footer .wordmark{font-size:22px}footer>p,footer>span,footer>a:last-child{font-size:12px}footer>p{color:var(--gold)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 12px;color:var(--ink)}
@media(min-width:1600px){.section{padding-left:max(5%,calc((100vw - 1296px)/2));padding-right:max(5%,calc((100vw - 1296px)/2))}}@media(max-width:1000px){nav{gap:17px}.hero{gap:4%}.hero-content{padding-top:25px}.hero h1{font-size:57px}.brand-panel{min-height:490px}.logo-frame{height:310px}.logo-frame img{width:650px;height:650px}.hero-note{margin-top:30px}.service{padding:24px}.section{padding-top:72px;padding-bottom:72px}.section-heading{gap:35px}footer{flex-wrap:wrap}}@media(max-width:760px){header{position:relative;padding:22px 6%;flex-wrap:wrap}.wordmark{font-size:23px}nav{width:100%;flex-wrap:wrap;gap:17px;padding-top:15px}.js .menu-toggle{display:block}.js nav{display:none}.js nav.open{display:flex}.hero{grid-template-columns:1fr;padding:12px 6% 35px;gap:35px}.hero h1{font-size:clamp(46px,11vw,76px)}.hero-content{padding-top:20px}.hero-intro{font-size:17px}.hero-note{margin-top:32px}.brand-panel{min-height:450px}.logo-frame{height:300px}.logo-frame img{width:680px;height:680px}.trust-strip{flex-direction:column;gap:8px;padding:23px 6%}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:23px;max-width:100%}.services-grid{grid-template-columns:1fr 1fr}.approach,.area,.contact{grid-template-columns:1fr;gap:38px}.portfolio{grid-template-columns:1fr}.placeholder{min-height:250px}.portfolio article{margin-bottom:10px}.principles article:last-child{padding-bottom:0}footer{padding:35px 6%;display:grid;grid-template-columns:1fr 1fr}footer>p{margin:0}.eyebrow{font-size:11px}.hero-actions{gap:18px}}@media(max-width:450px){.services-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:column}.brand-panel{min-height:410px}.logo-frame img{width:610px;height:610px}.panel-top,.panel-bottom{margin-left:20px;margin-right:20px}.panel-top{font-size:9px}.hero-note{font-size:11px}footer{grid-template-columns:1fr}.places{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Welcoming landing area: retain the original badge, crop its black margins. */
.brand-panel{background:#eee9d5;color:var(--forest);border:1px solid #ded8bf;position:relative;min-height:540px}
.panel-top,.panel-bottom{border-color:#cdc7af;position:relative;z-index:1}
.panel-top{font-size:11px;letter-spacing:.1em}
.panel-bottom{font-size:11px;letter-spacing:.09em}
.logo-frame{width:min(76%,360px);height:auto;aspect-ratio:1;align-self:center;border-radius:50%;overflow:hidden;box-shadow:0 18px 40px #28351b14;flex-shrink:0}
.logo-frame img{position:absolute;width:226%;height:auto;left:-63%;top:-60.5%;transform:none;max-width:none}
@media(max-width:1000px){.brand-panel{min-height:490px}.logo-frame{width:80%;height:auto}}
@media(max-width:760px){.brand-panel{min-height:450px}.logo-frame{width:min(76%,320px);height:auto}.logo-frame img{width:226%;height:auto}}
@media(max-width:450px){.brand-panel{min-height:410px}.logo-frame{width:78%;height:auto}.logo-frame img{width:226%;height:auto}.panel-top{font-size:10px}}

/* Split hero: brand and message left, Boise skyline right. */
.hero{grid-template-columns:1fr 1.12fr;align-items:center;gap:6%;padding-top:28px}
.hero-content{padding-top:0}
.hero-content .logo-frame{width:116px;height:116px;aspect-ratio:1;margin:0 0 24px;box-shadow:none}
.hero-content .logo-frame img{width:226%;height:auto;left:-63%;top:-60.5%}
.hero h1{font-size:clamp(46px,4.9vw,70px)}
.hero .eyebrow{line-height:1.6;margin-bottom:18px}
.hero-note{margin-top:30px}
.skyline-panel{margin:0;min-width:0;background:#ece8d7;border-bottom:3px solid var(--gold)}
.skyline-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 45%;background:#dce4e4}
.skyline-panel figcaption{padding:22px 24px 18px}
.skyline-caption{display:flex;align-items:center;justify-content:space-between;gap:20px}
.skyline-caption strong{font-size:17px;font-weight:500;letter-spacing:-.02em}
.skyline-caption>span{font-size:11px;letter-spacing:.1em;white-space:nowrap}
.photo-credit{font-size:12px;color:var(--muted);line-height:1.6;margin:16px 0 0}
.photo-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1000px){.hero{gap:4%}.hero h1{font-size:52px}.skyline-caption{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:32px}.hero-content .logo-frame{width:100px;height:100px;margin-bottom:22px}.hero h1{font-size:clamp(46px,10vw,68px)}.skyline-photo{aspect-ratio:3/2}.skyline-caption{flex-direction:row;align-items:center}.skyline-panel figcaption{padding:20px}}
@media(max-width:450px){.skyline-caption{flex-direction:column;align-items:flex-start}.hero-actions .button{width:100%}}

/* Single brand mark in the header; the hero focuses on the headline. */
.header-logo{display:block;flex:0 0 auto;line-height:0;border-radius:50%}
.header-logo .logo-frame{width:88px;height:88px;margin:0;aspect-ratio:1;box-shadow:none}
.header-logo .logo-frame img{width:226%;height:auto;left:-63%;top:-60.5%;transform:none}
@media(max-width:760px){.header-logo .logo-frame{width:76px;height:76px}header{padding-top:16px;padding-bottom:16px}}

/* Owner-supplied mountain photograph: preserve peaks, trim foreground. */
.skyline-photo{aspect-ratio:3/2;object-position:50% 38%}
@media(max-width:760px){.skyline-photo{aspect-ratio:3/2;object-position:50% 38%}}
