/* DESIGN / LAYOUT: Edit colours in :root near the top. Responsive rules are at the bottom. */
:root{--navy:#080f1b;--navy2:#0d1725;--ink:#101722;--paper:#f1f0ec;--white:#f7f7f4;--muted:#a4a8ad;--line:rgba(255,255,255,.17);--accent:#aeb8c4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.announcement{height:34px;background:#050a12;color:#aeb5bf;display:flex;justify-content:space-between;align-items:center;padding:0 5.5%;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.announcement a{color:#f4f4f1}.site-header{height:88px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;position:relative;z-index:5;border-bottom:1px solid rgba(255,255,255,.1)}.wordmark{display:flex;align-items:center;gap:13px}.wordmark-symbol{font-family:Manrope,sans-serif;font-size:31px;font-weight:800;letter-spacing:-.12em;border:1px solid rgba(255,255,255,.4);height:43px;width:48px;display:flex;align-items:center;justify-content:center;position:relative}.wordmark-symbol span{font-size:22px;color:#aeb8c4;transform:translate(-2px,5px)}.wordmark-type{font-family:Manrope,sans-serif;font-size:13px;font-weight:800;letter-spacing:.17em}.wordmark-type small{display:block;font-family:"DM Sans",sans-serif;font-size:8px;font-weight:500;letter-spacing:.36em;color:#aab2bd;margin-top:4px}.navigation{display:flex;align-items:center;gap:38px;font-size:11px;letter-spacing:.08em;color:#d1d5da}.navigation>a{transition:color .2s}.navigation>a:hover{color:white}.navigation .nav-contact{border:1px solid rgba(255,255,255,.42);padding:13px 17px;color:white}.nav-contact span{margin-left:17px}.menu-toggle{display:none}
.hero{height:min(760px,calc(100vh - 122px));min-height:610px;background:var(--navy);color:white;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0 0 0 36%;background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=88");background-size:cover;background-position:center 55%;filter:saturate(.35) contrast(1.05)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080f1b 0%,rgba(8,15,27,.98) 25%,rgba(8,15,27,.73) 48%,rgba(8,15,27,.08) 100%),linear-gradient(0deg,rgba(8,15,27,.48),transparent 40%)}.hero-content{position:relative;z-index:1;padding:clamp(90px,13vh,160px) 0 0 11%;max-width:760px}.eyebrow,.section-label{font-size:9px;letter-spacing:.2em;font-weight:700;color:#7c8795}.eyebrow{color:#c1c7cf;display:flex;align-items:center;gap:12px}.eyebrow span{width:27px;height:1px;background:#aeb8c4}.hero h1,.intro h2,.work h2,.feature h2,.approach h2,.location-content h2,.contact h2{font-family:Manrope,sans-serif;font-size:clamp(58px,7.3vw,108px);line-height:.99;letter-spacing:-.075em;font-weight:600;margin:35px 0 25px}.hero h1 em,.intro h2 em,.work h2 em,.feature h2 em,.approach h2 em,.location-content h2 em,.contact h2 em{font-style:normal;color:#aeb8c4}.hero-description{font-size:15px;line-height:1.8;color:#c2c8d0;max-width:405px}.round-link{display:inline-flex;align-items:center;gap:25px;margin-top:33px;font-size:11px;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:13px}.round-link b{font-size:17px;font-weight:400}.hero-index{position:absolute;right:5.5%;bottom:65px;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.12em;color:#c5cbd2}.hero-index i{height:1px;width:55px;background:#aeb8c4}.hero-caption{position:absolute;left:5.5%;bottom:38px;font-size:8px;letter-spacing:.2em;color:#aeb5bf}.hero-caption span{padding:0 8px;color:white}
.section-pad{padding:125px 11%}.intro{background:var(--paper)}.intro-main{display:grid;grid-template-columns:1.15fr .85fr;gap:9%;align-items:end;margin-top:35px}.intro h2,.work h2,.approach h2,.contact h2{font-size:clamp(44px,5vw,72px);margin:0}.intro h2 em,.work h2 em,.approach h2 em,.contact h2 em{color:#77818c}.intro-copy{max-width:440px}.intro-copy p{font-size:14px;line-height:1.9;color:#505862;margin:0 0 15px}.text-link{display:inline-block;margin-top:16px;padding-bottom:9px;border-bottom:1px solid #89919a;font-size:11px;font-weight:700;letter-spacing:.04em}.text-link span{margin-left:20px}
.work{background:#e8e7e2;padding-top:105px;padding-bottom:130px}.section-topline{display:flex;justify-content:space-between;align-items:center}.section-topline p{font-size:11px;color:#69717a}.work-heading{display:flex;justify-content:space-between;align-items:end;margin:52px 0 55px}.work h2{font-size:clamp(50px,6vw,84px)}.vertical-note{font-size:8px;letter-spacing:.2em;color:#737b84;writing-mode:vertical-rl}.service-list{border-top:1px solid #b8b9b5}.service-row{display:grid;grid-template-columns:70px 1.1fr 1fr 40px;align-items:center;min-height:100px;border-bottom:1px solid #b8b9b5;transition:padding .25s,background .25s}.service-row:hover{padding:0 18px;background:rgba(255,255,255,.45)}.service-no{font-size:10px;color:#7a828b}.service-name{font-family:Manrope,sans-serif;font-size:clamp(21px,2.6vw,34px);font-weight:600;letter-spacing:-.05em}.service-detail{font-size:11px;color:#6e7780}.service-arrow{font-size:22px;text-align:right}
.feature{display:grid;grid-template-columns:1.05fr .95fr;min-height:620px;background:var(--navy);color:white}.feature-photo{background:url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1500&q=85") center/cover;filter:saturate(.35)}.feature-panel{padding:105px 13% 90px 12%;background:linear-gradient(145deg,#0b1523,#111e2e)}.light{color:#aeb8c4}.feature h2,.location-content h2{font-size:clamp(48px,5.2vw,72px);margin:48px 0 27px}.feature-panel p,.location-content p{font-size:13px;line-height:1.9;color:#c1c7cf;max-width:420px}.light-link{color:white;border-color:#66717e;margin-top:27px}
.approach{background:var(--paper)}.approach-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:45px 0 75px}.approach-head>p{max-width:310px;font-size:13px;line-height:1.8;color:#68717a}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c3c4c0}.process-grid article{padding:27px 25px 0 0;border-right:1px solid #c3c4c0;margin-right:25px}.process-grid article:last-child{border:0;margin:0}.process-grid article>span{font-size:10px;color:#78828c}.process-grid h3{font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.04em;margin:38px 0 12px}.process-grid p{font-size:12px;line-height:1.8;color:#68717a;max-width:220px}
.location-band{display:grid;grid-template-columns:.85fr 1.15fr;background:#0b1421;color:white;min-height:480px}.location-image{background:url("https://images.unsplash.com/photo-1600607687644-c7171b42498f?auto=format&fit=crop&w=1300&q=85") center/cover;filter:saturate(.25) brightness(.72)}.location-content{padding:85px 11%}.location-content h2{font-size:clamp(43px,4.7vw,66px);margin:37px 0 22px}.location-content p{max-width:400px}.location-tags{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}.location-tags span{border:1px solid rgba(255,255,255,.35);padding:10px 13px;font-size:8px;letter-spacing:.17em;color:#d5d9de}
.contact{background:#e9e8e3}.contact-layout{display:grid;grid-template-columns:1fr .8fr;gap:13%;margin-top:45px}.contact h2{font-size:clamp(55px,6vw,83px)}.contact-copy>p{font-size:13px;line-height:1.8;color:#606a74;max-width:340px;margin:26px 0 42px}.contact-direct{display:flex;flex-direction:column;gap:18px}.contact-direct a{font-family:Manrope,sans-serif;font-size:16px;font-weight:600}.contact-direct small{display:block;font:700 8px "DM Sans",sans-serif;letter-spacing:.2em;color:#7d8790;margin-bottom:7px}.contact-form{display:flex;flex-direction:column}.contact-form label{font-size:10px;font-weight:700;margin:0 0 8px}.contact-form label span{font-size:8px;color:#8b9298;margin-left:8px;letter-spacing:.1em}.contact-form input,.contact-form select,.contact-form textarea{font:12px "DM Sans",sans-serif;border:0;border-bottom:1px solid #b8bcbf;background:transparent;border-radius:0;padding:12px 0;margin-bottom:23px;outline:none;color:#18212b}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:#111c2a}.contact-form textarea{resize:vertical}.contact-form button{border:0;background:var(--navy);color:white;padding:17px 20px;text-align:left;font:700 10px "DM Sans",sans-serif;letter-spacing:.08em;cursor:pointer}.contact-form button span{float:right;font-size:17px;margin-top:-5px}.form-note{font-size:9px;color:#777f86;margin-top:12px}
.footer{background:#070d16;color:white;padding:45px 5.5% 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.15)}.footer-top>p{font-family:Manrope,sans-serif;font-size:22px;color:#aeb8c4;letter-spacing:-.04em}.back-top{font-size:10px;color:#c5cbd2}.footer-bottom{display:flex;justify-content:space-between;padding-top:20px;font-size:8px;letter-spacing:.12em;color:#8f99a4}.footer-bottom a{color:#e3e6e9}
@media(max-width:800px){.announcement{padding:0 6%;font-size:8px}.site-header{height:76px;padding:0 6%}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:10px}.menu-toggle i{display:block;width:23px;height:1px;background:white}.navigation{display:none;position:absolute;top:76px;left:0;right:0;background:#080f1b;padding:25px 6% 32px;flex-direction:column;align-items:flex-start;gap:24px}.navigation.open{display:flex}.hero{min-height:650px;height:calc(100vh - 110px)}.hero-image{inset:0;background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(8,15,27,.96),rgba(8,15,27,.56)),linear-gradient(0deg,rgba(8,15,27,.6),transparent)}.hero-content{padding:130px 7% 0}.hero h1{font-size:clamp(62px,14vw,92px)}.hero-index{right:7%;bottom:65px}.hero-caption{left:7%;font-size:7px}.section-pad{padding:85px 7%}.intro-main,.contact-layout{grid-template-columns:1fr;gap:35px}.intro h2,.work h2,.approach h2,.contact h2{font-size:clamp(46px,10vw,68px)}.section-topline{align-items:flex-start;gap:20px;flex-direction:column}.work-heading{margin:40px 0}.service-row{grid-template-columns:34px 1fr 25px;min-height:88px}.service-detail{display:none}.service-name{font-size:24px}.feature{grid-template-columns:1fr}.feature-photo{min-height:330px}.feature-panel{padding:75px 8%}.approach-head{display:block;margin:38px 0 45px}.approach-head>p{margin-top:25px}.process-grid{grid-template-columns:1fr 1fr;row-gap:35px}.process-grid article{min-height:175px}.process-grid article:nth-child(2){border-right:0}.location-band{grid-template-columns:1fr}.location-image{min-height:280px}.location-content{padding:70px 7%}.contact-layout{gap:55px}.footer{padding:38px 7% 20px}.footer-top{align-items:flex-start;gap:25px;flex-wrap:wrap}.footer-top>p{width:100%;order:3;margin:0}.footer-bottom{gap:14px;flex-wrap:wrap}.footer-bottom span:nth-child(2){display:none}}
@media(max-width:420px){.wordmark-type{font-size:11px}.wordmark-symbol{width:42px;height:39px}.hero-description{font-size:13px}.process-grid{grid-template-columns:1fr}.process-grid article{border-right:0;border-bottom:1px solid #c3c4c0;margin:0;padding-bottom:20px;min-height:auto}.process-grid article:last-child{border:0}.footer-bottom{font-size:7px}}

/* FAMILY FEATURE — replace the background image URL with your own family portrait. */
.family-feature{display:grid;grid-template-columns:1fr 1fr;min-height:500px;background:#0b1421;color:#fff}
.family-photo {
    background: url("./family.JPG") center/cover no-repeat;
    filter: saturate(.85) brightness(.90);
}
.family-copy{padding:90px 12%;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#0b1523,#111e2e)}
.family-copy h2{font-family:Manrope,sans-serif;font-size:clamp(38px,4.4vw,62px);line-height:1.04;letter-spacing:-.065em;font-weight:600;margin:35px 0 22px}
.family-copy h2 em{font-style:normal;color:#aeb8c4}
.family-copy p{font-size:13px;line-height:1.9;color:#c1c7cf;max-width:430px}
@media(max-width:800px){.family-feature{grid-template-columns:1fr}.family-photo{min-height:330px}.family-copy{padding:70px 8%}}
.wordmark-symbol {
    border: none;
    width: 65px;
    height: 55px;
    background: url("./keene-edge-logo.png") center/contain no-repeat;
    font-size: 0;
}

.wordmark-symbol span {
    display: none;
}