:root{--blue:#205f8a;--ink:#17384f;--light:#e9f3ff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font:16px/1.6 Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}a{color:inherit}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}a:focus-visible,button:focus-visible,nav:focus-visible{outline:3px solid #ffd56b;outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;background:white;color:var(--ink);z-index:20;padding:12px}.skip:focus{top:12px}.home{position:relative;isolation:isolate;min-height:850px;height:100svh;color:#fff;display:flex;flex-direction:column}.mountains,.shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.mountains{object-fit:cover;object-position:center}.shade{z-index:-1;background:linear-gradient(90deg,#001a30c9,#001a3040),linear-gradient(0deg,#001423f0,transparent 75%)}header{padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:block;width:235px;background:#ffffffed;border-radius:9px;padding:6px 12px}.brand img{width:100%;height:auto}.call{text-decoration:none;background:#fff;color:var(--ink);padding:11px 20px;border-radius:8px;font-size:14px}.call strong{display:block;font-size:18px}.hero-copy{padding:15px 4vw 28px;max-width:900px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:2px;margin-bottom:12px}.hero-copy .eyebrow{color:#c5e3fa}h1{font-size:clamp(40px,4.4vw,67px);line-height:1.06;letter-spacing:-2px;margin-bottom:20px;font-weight:800}h1 span{color:#b4ddfb}.hero-copy>p:not(.eyebrow){font-size:19px;max-width:680px}.button{display:inline-flex;align-items:center;gap:25px;padding:13px 22px;background:var(--blue);color:white;text-decoration:none;border-radius:8px;font-weight:700}.button:hover{background:#164c72}.hero-copy .button{background:#fff;color:var(--ink)}.shelf{margin-top:auto;padding:18px 4vw 22px}.shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.shelf h2{font-size:27px;line-height:1.2;margin-bottom:20px}.shelf .eyebrow{font-size:11px;letter-spacing:1.6px}.arrows{display:flex;gap:9px}.arrows button{width:48px;height:48px;border:1px solid #ffffff80;border-radius:50%;color:white;background:#0e2d438c;font-size:25px}.arrows button:hover{background:#205f8a}.arrows button:disabled{opacity:.3;cursor:default}.picture-menu{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a9d5f0 #ffffff16;padding:4px 4px 12px}.card{flex:0 0 280px;position:relative;height:205px;border-radius:10px;overflow:hidden;scroll-snap-align:start;color:white;text-decoration:none;background:#12314c;border:1px solid #ffffff60}.card img{height:100%;width:100%;object-fit:cover}.card>span{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(0deg,#001325 3%,#001325c9 36%,transparent 85%);padding:18px}.card small{font-size:10px;letter-spacing:1.2px;color:#b9daef}.card strong{font-size:25px;line-height:1.3;margin:5px 0}.card em{font-style:normal;font-size:12px}.card:hover{border-color:#fff}.browse-note{font-size:12px;color:#c1d5e4;margin:8px 0 0}.content{max-width:1240px;margin:auto;padding:65px 36px}.design{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.content .eyebrow{color:var(--blue)}h2{font-size:34px;line-height:1.17;letter-spacing:-1px}p{color:inherit}.design p,.section-title>p:last-child{color:#596d7d}.steps{padding:0;list-style:none;counter-reset:step}.steps li{counter-increment:step;position:relative;padding:12px 0 12px 48px}.steps li:before{content:counter(step);position:absolute;left:0;top:15px;background:var(--light);color:var(--blue);width:32px;height:32px;border-radius:50%;text-align:center;line-height:32px;font-weight:bold}.steps strong,.steps span{display:block}.steps span{font-size:14px;color:#596d7d}.fine{font-size:12px;margin:18px 0 0}.featured{display:block;border:1px solid #d5e2ec;border-radius:12px;overflow:hidden;text-decoration:none;background:var(--light);box-shadow:0 12px 28px #17384f15}.featured img{width:100%;height:auto}.featured span{display:block;padding:20px;font-size:14px}.featured strong{display:block;font-size:20px;margin-top:6px}.tech{background:#f4f8fc;border-top:1px solid #dce8f1}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:32px 0}.services article{padding:24px;background:white;border:1px solid #dce8f1;border-radius:10px}.services h3{font-size:19px;line-height:1.25}.services p{font-size:14px;color:#596d7d;margin:0}.rates{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:25px 0;border-top:1px solid #dce8f1;border-bottom:1px solid #dce8f1;font-size:13px}.rates strong{display:block;font-size:24px}.tech-links{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:28px}.tech-links>a:not(.button){font-size:14px}footer{padding:45px 36px 0;border-top:3px solid #4b9cd3}.footer-inner{max-width:1168px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:50px}.footer-logo{width:250px;height:auto}.tagline{font-family:'Segoe Print',cursive;color:var(--blue);font-size:21px;margin:10px 0}footer h2{font-size:19px;letter-spacing:0}footer p{font-size:14px;color:#596d7d}footer nav{display:grid;gap:7px;font-size:14px}footer a{color:var(--blue);text-decoration:none}footer a:hover{text-decoration:underline}.email{display:block;margin:13px 0}.footer-bottom{max-width:1168px;margin:30px auto 0;border-top:1px solid #dce8f1;padding:20px 0;display:flex;justify-content:space-between;font-size:12px}@media(max-width:900px){.home{height:auto;min-height:100svh}.hero-copy{padding-top:25px}.design{gap:30px}.services{grid-template-columns:1fr 1fr}.footer-inner{gap:25px}.card{flex-basis:260px}.shelf{padding-top:35px}}@media(max-width:600px){header{padding:18px 22px;gap:12px}.brand{width:160px}.call{padding:8px 12px;font-size:11px}.call strong{font-size:14px}.hero-copy{padding:24px 24px 30px}h1{font-size:41px;letter-spacing:-1.2px}.hero-copy>p:not(.eyebrow){font-size:17px}.hero-copy p br{display:none}.shelf{padding:10px 24px 24px}.shelf-heading{align-items:flex-end;gap:12px}.shelf h2{font-size:23px}.shelf .eyebrow{font-size:10px}.arrows{padding-bottom:18px}.arrows button{width:38px;height:38px;font-size:20px}.card{flex-basis:245px;height:195px}.content{padding:44px 24px}.design{grid-template-columns:1fr;gap:35px}h2{font-size:29px}.services{grid-template-columns:1fr}.rates{grid-template-columns:1fr;gap:15px}.footer-inner{grid-template-columns:1fr;gap:30px}footer{padding:35px 24px 0}.footer-bottom{gap:20px;flex-wrap:wrap}.hero-copy .eyebrow{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The homepage is one photographic canvas; other content has its own page. */
body:has(.home){background:#001423}.home{height:100svh;min-height:690px;overflow:hidden}.hero-copy{padding-top:0;padding-bottom:12px}.hero-copy h1{font-size:clamp(35px,4vw,58px)}.shelf{padding-top:10px}.card{height:180px}.shelf h2{font-size:24px;margin-bottom:14px}.detail-header{background:white;border-bottom:3px solid #4b9cd3}.page-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}.page-nav a{text-decoration:none;color:#205f8a;font-weight:700}.detail-page h1{font-size:clamp(36px,4vw,55px)}.senior-page{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.senior-page figure{margin:0}.senior-page img{border-radius:12px;width:100%;height:auto}.senior-page figcaption{font-size:12px;color:#596d7d;margin-top:8px}.contact-options{display:flex;gap:15px;flex-wrap:wrap;margin:30px 0}.detail-page .brand{background:none}.detail-page .button{margin-top:12px}@media(max-width:900px){.home{height:100svh;min-height:690px}.detail-header{flex-wrap:wrap}.senior-page{grid-template-columns:1fr;gap:30px}}@media(max-width:600px){.home{height:100svh;min-height:700px}.hero-copy{padding-top:12px;padding-bottom:10px}.hero-copy h1{font-size:36px}.hero-copy>p:not(.eyebrow){font-size:16px}.shelf{padding-top:0}.card{height:165px}.card strong{font-size:22px}.shelf-heading h2{font-size:21px}.shelf .eyebrow{font-size:9px}.page-nav{gap:10px 16px}}@media(max-height:740px) and (min-width:601px){.home{min-height:620px}header{padding-top:10px;padding-bottom:10px}.brand{width:190px}.hero-copy h1{font-size:38px}.hero-copy>p:not(.eyebrow){font-size:16px;margin-bottom:10px}.card{height:155px}.shelf{padding-bottom:12px}.shelf h2{font-size:21px}.eyebrow{margin-bottom:6px}}
/* Brighter mountain background with localized shading for readable text. */
.home .shade{background:linear-gradient(90deg,rgba(0,26,48,.32),rgba(0,26,48,.02) 75%),linear-gradient(0deg,rgba(0,20,35,.62),transparent 48%)}
.home .hero-copy h1,.home .hero-copy>p{ text-shadow:0 2px 8px rgba(0,20,35,.8)}
.home .hero-copy{background:linear-gradient(90deg,rgba(0,26,48,.38),transparent);border-radius:0 18px 18px 0}
.home .shelf-heading,.home .browse-note{text-shadow:0 2px 6px rgba(0,20,35,.85)}
/* Let the existing transparent logo sit directly on the photograph. */
.home .brand{background:transparent;padding:0;border-radius:0}
.home .brand img{filter:drop-shadow(0 2px 5px rgba(0,20,35,.35))}
/* Extra breathing room at the bottom of the photographic homepage. */
.home .shelf{padding-bottom:40px}
@media(max-width:600px){.home .shelf{padding-bottom:38px}}
/* Place the picture navigation beside the existing headline without moving it. */
@media(min-width:1100px){
 .home .shelf{position:absolute;left:57%;right:4%;top:170px;margin:0;padding:0 0 40px;min-width:0}
 .home .shelf-heading{align-items:flex-end;gap:12px}
 .home .shelf h2{font-size:24px}
 .home .picture-menu{width:100%}
 .home .card{flex-basis:260px;height:205px}
}
@media(min-width:1100px) and (max-height:740px){
 .home .shelf{top:145px}
}
/* Narrow screens retain the row below the text to keep both readable. */
/* Show the side-by-side menu in narrower preview windows too. */
@media(min-width:601px){
 .home .shelf{position:absolute;left:57%;right:4%;top:170px;margin:0;padding:0 0 40px;min-width:0}
 .home .shelf-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}
 .home .shelf h2{font-size:24px}
 .home .picture-menu{width:100%}
 .home .card{flex-basis:260px;height:205px}
 .home .arrows{margin-bottom:10px}
}
@media(min-width:601px) and (max-height:740px){.home .shelf{top:145px}}
/* Return navigation beneath the text with a comfortable gap. */
.home .shelf{position:static;left:auto;right:auto;top:auto;margin-top:auto;padding:38px 4vw 40px;min-width:0}
.home .shelf-heading{align-items:center;flex-wrap:nowrap;gap:24px}
.home .arrows{margin-bottom:0}
@media(max-width:600px){.home .shelf{padding:32px 24px 38px}.home .shelf-heading{align-items:flex-end;gap:12px}}
/* Keep the menu instructions visible when the content exceeds screen height. */
.home{height:auto;min-height:100svh;overflow:visible}
.home .shelf{flex-shrink:0}
.home .browse-note{margin-top:14px;margin-bottom:0;padding-bottom:4px;color:#fff;font-size:13px;line-height:1.5}

/* One consistent photographic shell for all WNC pages. */
@view-transition{navigation:auto}
.unified-page{background:#17384f;color:#17384f}
.page-mountains,.page-shade{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2}
.page-mountains{object-fit:cover;object-position:center}
.page-shade{z-index:-1;background:linear-gradient(90deg,#001a3055,transparent 75%),linear-gradient(0deg,#00142388,transparent 60%)}
.shared-shell{min-height:100svh;display:flex;flex-direction:column}
.shared-shell>header{max-width:none;width:100%;margin:0;padding:22px 4vw;background:none;border:0;color:white}
.shared-shell .brand{display:block;width:235px;background:transparent;padding:0;border-radius:0;letter-spacing:normal}
.shared-shell .brand img{filter:drop-shadow(0 2px 5px #00142355)}
.page-panel{width:92%;max-width:1250px;margin:12px auto 30px;background:#ffffffed;border:1px solid #ffffffb3;border-radius:16px;box-shadow:0 12px 40px #00142325;overflow:hidden;color:#17384f}
.panel-top{display:flex;justify-content:space-between;gap:15px;padding:16px 28px;border-bottom:1px solid #dce8f1;font-size:13px;color:#205f8a}
.panel-top a{text-decoration:none;font-weight:700}.panel-top span{font-size:11px;letter-spacing:1.5px}
.page-panel .content{padding:35px}.page-panel .tech{background:transparent;border:0}
.page-panel .design{gap:35px}.page-panel .section-title{text-align:left}
.unified-page .shelf{position:static;left:auto;right:auto;top:auto;min-width:0;margin-top:auto;padding:10px 4vw 35px;color:white}
.unified-page .shelf-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:nowrap}
.unified-page .shelf-heading h2{font-size:24px;margin:0 0 14px;color:white}
.unified-page .shelf-heading .eyebrow{font-size:11px;color:white;letter-spacing:1.6px;margin-bottom:10px}
.unified-page .arrows{margin-bottom:0;padding-bottom:0}.unified-page .card{height:180px;flex-basis:280px}
.unified-page .card[aria-current="page"]{border:3px solid #b4ddfb}.unified-page .browse-note{color:white;margin-top:14px;text-shadow:0 2px 5px #001423}
.page-panel .intro{padding:30px 35px;gap:35px}.page-panel .intro h1{font-size:clamp(32px,4vw,48px)}
.page-panel .showcase{padding:0 35px}.page-panel .section-heading{display:flex;text-align:left;margin-bottom:0}
.page-panel .projects{gap:25px}.page-panel .next-step{margin:20px 35px}.page-panel .terms{margin:20px 35px 30px}
.page-panel .price{background:#e9f3ff}.page-panel .disclosure{margin-bottom:25px}
@media(max-width:720px){.shared-shell>header{padding:18px 22px}.shared-shell .brand{width:160px}.page-panel{width:calc(100% - 32px);margin-top:0;border-radius:12px}.page-panel .content,.page-panel .intro{padding:25px}.page-panel .intro{grid-template-columns:1fr}.page-panel .showcase{padding:0 20px}.page-panel .next-step{margin:20px}.page-panel .terms{margin:20px}.page-panel .design{grid-template-columns:1fr}.unified-page .shelf{padding:10px 24px 35px}.unified-page .card{flex-basis:245px;height:165px}.unified-page .shelf-heading h2{font-size:21px}.panel-top{padding:14px 20px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
