@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#091722;--navy:#102836;--red:#c51624;--gold:#f2bc43;--paper:#f3f1eb;--muted:#647079}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--ink);color:white;font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,select,textarea{font-family:inherit}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.topline{display:flex;justify-content:space-between;padding:10px 5%;background:var(--red);font-size:9px;letter-spacing:2px;font-weight:700}header{display:flex;align-items:center;justify-content:space-between;padding:18px 5%;gap:25px;background:var(--ink)}.brand{display:flex;align-items:center;gap:14px;font-weight:800;font-size:26px;letter-spacing:1px}.brand img{height:66px;width:66px;object-fit:contain;background:var(--paper)}.brand small{display:block;font-size:8px;letter-spacing:1.2px;margin-top:5px}nav{display:flex;gap:30px;font-size:12px}.header-call{padding:14px 18px;border:1px solid #54616a;font-size:14px;font-weight:700}.hero{position:relative;min-height:700px;overflow:hidden;display:flex;align-items:center}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,21,.94),rgba(3,13,21,.66) 50%,rgba(3,13,21,.05)),linear-gradient(0deg,rgba(3,13,21,.6),transparent 40%)}.hero-content{position:relative;padding:65px 6% 95px;width:100%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;line-height:1.6;margin:0 0 20px}.hero .eyebrow{color:var(--gold)}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;margin:0;line-height:.91;font-weight:800}h1{font-size:clamp(65px,8.5vw,128px);letter-spacing:-1px}em{font-style:normal;color:var(--gold)}.hero-intro{font-size:17px;line-height:1.7;margin:28px 0}.actions{display:flex;gap:32px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:20px 25px;border:0;font-size:11px;letter-spacing:.8px;font-weight:700;cursor:pointer}.red{background:var(--red);color:white}.gold{background:var(--gold);color:var(--ink)}.hero-link{font-size:11px;font-weight:700;letter-spacing:1px;border-bottom:1px solid #999;padding-bottom:6px}.hero-label{position:absolute;bottom:32px;right:5%;display:flex;flex-direction:column;gap:9px;border-left:3px solid var(--gold);padding-left:18px}.hero-label span,.hero-label a{font-size:8px;letter-spacing:1.6px}.hero-label strong{font-size:14px}.services{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--navy);padding:0 5%}.service-intro{padding:48px 35px 48px 0}.service-intro .eyebrow{color:var(--gold)}h2{font-size:clamp(48px,5.5vw,80px)}.service-intro h2{font-size:52px}.service-intro p:last-child{color:#abb9c1;font-size:13px;line-height:1.7}.service-tile{position:relative;padding:40px 35px;border-left:1px solid #3a4b56;transition:background .2s}.service-tile:hover{background:#1c3a49}.tile-number{font-size:9px;letter-spacing:1.3px;color:var(--gold)}.service-tile h3{font-size:44px;margin-top:28px}.service-tile p{font-size:12px;color:#becbd0;line-height:1.8}.tile-arrow{position:absolute;top:34px;right:30px;font-size:24px;color:var(--gold)}.work{background:var(--paper);color:var(--ink);padding:90px 5% 35px}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.work .eyebrow{color:var(--red)}.work h2 em{color:var(--red)}.work-heading>p{font-size:14px;line-height:1.8;max-width:370px}.work-heading>p span{font-size:11px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.project-grid figure{margin:0;position:relative;min-width:0}.project-grid figure:nth-child(1),.project-grid figure:nth-child(2){grid-column:span 2}.project-photo{padding:0;border:0;display:block;width:100%;height:260px;background:var(--navy);position:relative;overflow:hidden;cursor:zoom-in}.project-grid figure:nth-child(-n+2) .project-photo{height:350px}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s;display:block}.project-photo:hover img{transform:scale(1.035)}.project-photo>span{position:absolute;right:12px;top:12px;background:var(--gold);color:var(--ink);padding:6px 12px;font-size:22px}.project-grid figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(3,13,21,.9));padding:45px 18px 18px;color:white;font-size:12px;pointer-events:none}.project-grid figcaption>span{color:var(--gold);font-size:9px;margin-right:12px}.work-footer{display:flex;justify-content:space-between;gap:25px;margin-top:32px;padding:24px 0;border-top:1px solid #c9ccc7;font-size:12px}.work-footer a{font-size:10px;letter-spacing:1px;font-weight:700}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:center;padding:90px 8%;background:var(--red)}.about-logo{background:#fffef9;transform:rotate(-3deg);padding:12px;box-shadow:15px 15px 0 #930e18}.about-logo img{width:100%;display:block}.about-copy .eyebrow{color:#ffdb91}.about-copy p:not(.eyebrow){line-height:1.8;font-size:14px;max-width:480px}.about-copy .button{margin-top:15px}.credentials{display:grid;grid-template-columns:1.3fr 1fr .8fr 1fr;gap:30px;align-items:center;padding:45px 5%;background:#152c39}.credentials .eyebrow{font-size:8px;color:var(--gold);margin-bottom:12px}.credentials h3{font-size:30px}.credentials>div>span{font-size:8px;letter-spacing:1.5px;color:#a6bac5;display:block;margin-bottom:10px}.credentials strong{font-size:17px}.credentials>a{font-size:10px;letter-spacing:1px;border-bottom:1px solid var(--gold);padding-bottom:10px;justify-self:end}.credential-note{grid-column:1/-1;font-size:10px;color:#aabdc7;line-height:1.7;margin:0;border-top:1px solid #334b59;padding-top:20px}.contact{padding:95px 7%;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;background:var(--ink)}.contact .eyebrow{color:var(--gold)}.contact h2{font-size:clamp(60px,6vw,90px)}.big-phone{display:block;font-size:30px;font-weight:700;margin:35px 0 15px}.contact-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#abbac4}.contact-steps{display:flex;flex-direction:column;gap:12px;margin-top:30px;font-size:10px;color:#a6b7c2}.contact-card{background:var(--paper);color:var(--ink);padding:40px;border-top:6px solid var(--gold)}.contact-card .eyebrow{color:var(--red);display:block}.contact-card h3{font-size:42px}.contact-card>p{font-size:12px;line-height:1.7;color:var(--muted)}label{display:block;font-size:12px;font-weight:700;margin:22px 0 8px}select,textarea{width:100%;padding:14px;border:1px solid #c2c8c8;background:white;color:var(--ink);font-size:13px;border-radius:0}textarea{resize:vertical}.contact-card .button{width:100%;margin-top:18px}.form-note,#fallback{font-size:10px;line-height:1.6;color:var(--muted)}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px 5%;border-top:1px solid #30404d}footer strong{font-family:'Barlow Condensed',sans-serif;font-size:30px}footer>div>span{display:block;font-size:7px;letter-spacing:1px;margin-top:5px}footer p{font-size:9px;color:#9fb0bb;line-height:1.8}footer>a{font-size:9px;letter-spacing:1px}#photo-viewer{padding:20px;border:0;background:var(--ink);color:white;width:min(1050px,94vw);max-height:94vh}#photo-viewer::backdrop{background:rgba(0,10,18,.9)}.viewer-top,.viewer-nav{display:flex;justify-content:space-between;align-items:center;gap:20px}.viewer-top p{margin:0;font-size:15px}.viewer-top button,.viewer-nav button{background:transparent;border:1px solid #78909d;padding:10px 15px;color:white;cursor:pointer}.viewer-top{margin-bottom:15px}.viewer-nav{margin-top:15px;font-size:12px}#large-photo{display:block;width:100%;height:68vh;object-fit:contain}@media(max-width:1000px){nav{gap:15px}.brand{font-size:21px}.header-call{font-size:12px}.services{padding:0 3%}.service-tile{padding:35px 23px}.service-intro{padding:40px 20px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid figure:nth-child(1),.project-grid figure:nth-child(2){grid-column:auto}.project-grid figure:nth-child(-n+2) .project-photo{height:260px}.credentials{grid-template-columns:1fr 1fr}.credentials>a{justify-self:start}.contact{gap:5%;padding:65px 5%}.contact-card{padding:25px}}@media(max-width:650px){.topline{font-size:7px;letter-spacing:1px}header{flex-wrap:wrap;gap:16px;padding:15px 5%}.brand{font-size:23px}.brand img{width:50px;height:50px}.brand small{font-size:6px}.header-call{font-size:10px;padding:10px}.brand{gap:9px}nav{order:3;width:100%;justify-content:space-between;border-top:1px solid #2b3d49;padding-top:12px;font-size:11px}.hero{min-height:650px}.hero-content{padding:50px 6% 140px}h1{font-size:66px}.hero .eyebrow{font-size:8px;max-width:250px}.hero-intro{font-size:14px}.hero-shade{background:linear-gradient(90deg,rgba(3,13,21,.89),rgba(3,13,21,.42)),linear-gradient(0deg,rgba(3,13,21,.8),transparent)}.hero-photo{object-position:65% center}.actions{gap:20px}.button{padding:18px;font-size:9px;gap:20px}.hero-link{font-size:9px}.hero-label{left:6%;right:auto;bottom:25px}.services{grid-template-columns:1fr 1fr;padding:0 5% 15px}.service-intro{grid-column:1/-1;padding:30px 0 15px}.service-intro h2{font-size:44px}.service-intro .eyebrow{margin-bottom:10px}.service-tile{padding:25px 15px;border-top:1px solid #3a4b56}.service-tile:nth-child(2){border-left:0;padding-left:0}.service-tile h3{font-size:34px}.tile-number{font-size:7px}.tile-arrow{top:40px;right:15px;font-size:20px}.service-tile p{font-size:10px}.work{padding:50px 5% 20px}.work-heading{display:block;margin-bottom:25px}.work-heading>p{font-size:12px;margin-top:22px}.project-grid{gap:12px}.project-photo,.project-grid figure:nth-child(-n+2) .project-photo{height:230px}.project-grid figure:first-child{grid-column:1/-1}.project-grid figure:first-child .project-photo{height:270px}.project-grid figure:last-child{grid-column:1/-1}.project-grid figcaption{font-size:10px;padding:40px 10px 12px}.project-grid figcaption>span{display:none}.project-photo>span{font-size:17px;padding:4px 9px;right:8px;top:8px}.work-footer{display:block;line-height:2}.work-footer a{display:block;font-size:9px}.about{grid-template-columns:1fr;padding:55px 7%;gap:45px}.about-logo{width:70%;max-width:300px;margin:auto}.about-copy h2{font-size:64px}.credentials{gap:25px;padding:35px 6%}.credentials>div:first-child{grid-column:1/-1}.credentials>a{grid-column:1/-1}.credentials strong{font-size:15px}.contact{grid-template-columns:1fr;padding:55px 6%;gap:35px}.contact h2{font-size:70px}.big-phone{font-size:26px}.contact-steps{display:none}footer{flex-wrap:wrap}#large-photo{height:60vh}.viewer-top p{font-size:12px}#photo-viewer{padding:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.about-portrait{margin:0;align-self:start;max-width:460px;width:100%;background:var(--ink);box-shadow:12px 12px 0 #930e18}.about-portrait img{display:block;width:100%;height:auto;object-fit:contain}.about-portrait figcaption{padding:18px 22px;font-size:13px;font-weight:700;letter-spacing:1px}.about-portrait figcaption span{display:block;font-size:8px;letter-spacing:1.6px;color:var(--gold);margin-top:8px}.about-copy h3{font-size:28px;line-height:1.1;margin-top:25px}.about-copy p:not(.eyebrow){max-width:560px}@media(max-width:650px){.about-portrait{max-width:360px;margin:0 auto}.about-copy h3{font-size:27px}}

.family-feature{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.3);padding-top:45px}.family-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:12px 40px;align-items:end;margin-bottom:28px}.family-heading .eyebrow{grid-column:1/-1;margin:0;color:#ffdb91}.family-heading h3{font-size:48px;line-height:1}.family-heading>p:last-child{font-size:14px;line-height:1.8;margin:0;max-width:390px}.family-feature figure{margin:0}.family-feature img{display:block;width:100%;height:auto}.family-feature figcaption{font-size:11px;line-height:1.6;color:#ffe0dc;padding-top:12px}@media(max-width:650px){.family-feature{padding-top:30px}.family-heading{grid-template-columns:1fr;gap:16px}.family-heading h3{font-size:38px}.family-heading>p:last-child{font-size:13px}}
