@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#143653;--deep:#0B243D;--paper:#F7F8FA;--white:#FFFFFF;--accent:#D8AE3A;--muted:#68798B;--line:#DCE4EC;--mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);padding:10px}.skip-link:focus{left:12px;z-index:99}.site-header{height:78px;background:var(--paper);display:flex;align-items:center;position:relative;z-index:10;border-bottom:1px solid rgba(23,46,43,.1)}.nav-wrap{width:min(1340px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:10px;min-width:205px}.brand-mark{width:34px;height:34px;background:var(--ink);color:var(--accent);border-radius:50%;display:grid;place-items:center;font:700 17px var(--display)}.brand-name{font:800 17px/1 var(--display);letter-spacing:-.8px}.brand-name small{display:block;font:10px var(--mono);letter-spacing:1.4px;text-transform:uppercase;margin-top:5px;color:#65768B}.main-nav{display:flex;gap:26px;align-items:center}.main-nav a{font-size:12px;font-weight:600;color:#3E526A;transition:color .2s}.main-nav a:hover,.main-nav a[aria-current=page]{color:#A97D1B}.nav-cta{padding:12px 17px;background:var(--ink);color:white!important;border-radius:2px}.nav-cta:hover{background:#244B78!important}.menu-toggle{display:none;background:none;border:0;color:var(--ink);font-size:24px}.hero{min-height:605px;background:var(--ink);color:var(--white);padding:76px 7.2%;display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:35px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:450px;height:450px;border-radius:50%;border:1px solid rgba(215,243,106,.13);right:5%;top:-45%;box-shadow:0 0 0 45px rgba(215,243,106,.025),0 0 0 95px rgba(215,243,106,.02);pointer-events:none}.eyebrow{font:10px var(--mono);letter-spacing:2px;color:var(--accent);text-transform:uppercase}.spark{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:9px;box-shadow:0 0 10px var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-.06em;font-weight:600}h1{font-size:clamp(56px,7vw,92px);line-height:.98;margin:27px 0}h1 em,h2 em{font-style:normal;color:var(--accent)}.hero-lead{max-width:490px;color:#C9D6E5;font-size:17px;line-height:1.7}.actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{display:inline-flex;align-items:center;gap:24px;padding:14px 18px;font-size:12px;font-weight:700;transition:.2s}.button span{font-size:17px}.button-light{background:var(--accent);color:var(--ink)}.button-light:hover{background:#E8C96F;transform:translateY(-2px)}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px;display:inline-flex;gap:12px}.text-link span{font-size:16px;line-height:14px}.light-link{color:#EEF4FB}.hero-proof{display:flex;gap:38px;margin-top:53px;border-top:1px solid #3D5B7D;padding-top:18px}.hero-proof span{display:flex;flex-direction:column}.hero-proof b{font-size:12px}.hero-proof small{font-size:10px;color:#AEBED1;margin-top:3px}.hero-art{position:relative;z-index:1;min-width:0}.blueprint{border:1px solid rgba(215,243,106,.4);padding:14px 16px 9px;position:relative;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 60%)}.blueprint:before,.blueprint:after{content:'';position:absolute;width:18px;height:18px;border-color:var(--accent);border-style:solid}.blueprint:before{left:-4px;top:-4px;border-width:1px 0 0 1px}.blueprint:after{right:-4px;bottom:-4px;border-width:0 1px 1px 0}.blueprint svg{width:100%;height:auto;max-height:405px}.blueprint svg path{fill:none;stroke:#9AADC4;stroke-width:1.15}.blueprint svg .accent-stroke{stroke:var(--accent);stroke-width:2}.blueprint svg .accent-fill{fill:var(--accent);stroke:none}.bp-top,.bp-bottom{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1px;color:#A8B9CD}.art-note{position:absolute;z-index:2;right:-20px;top:-27px;background:var(--accent);color:var(--ink);padding:11px 14px;font:9px/1.5 var(--mono);letter-spacing:1.2px;transform:rotate(3deg)}.art-tag{position:absolute;left:-21px;bottom:26px;background:var(--paper);color:var(--ink);font:800 10px/1.15 var(--display);padding:11px 14px;letter-spacing:.3px;transform:rotate(-4deg)}.ticker{background:var(--ink);height:48px;overflow:hidden;white-space:nowrap;display:flex;align-items:center;color:var(--white);font:10px var(--mono);letter-spacing:1.7px}.ticker div{min-width:max-content;animation:marquee 34s linear infinite}.ticker i{font-style:normal;padding:0 23px;color:var(--accent)}@keyframes marquee{to{transform:translateX(-24%)}}.section{padding-block:105px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.dark-eyebrow{color:#586E89}.intro-grid h2,.section h2,.work-title h2,.audience h2{font-size:clamp(42px,5vw,62px);line-height:1.05;margin:25px 0 0}.intro-grid h2 em,.section h2 em{color:#A97D1B}.intro-copy{padding-top:24px;max-width:505px}.large-copy{font:500 20px/1.55 var(--display);letter-spacing:-.5px}.intro-copy>p:not(.large-copy){color:#60738B;font-size:14px;line-height:1.8;margin:25px 0 25px}.services-band{background:#E8EFF7;padding:95px 0 105px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading h2{font-size:clamp(43px,5vw,62px);line-height:1.05;margin:22px 0 0}.button-outline{border:1px solid #71839A;color:var(--ink);margin-bottom:4px}.button-outline:hover{background:var(--ink);color:white}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #CED9E6;border-left:1px solid #CED9E6}.service-card{min-height:274px;padding:23px 22px 19px;border-right:1px solid #CED9E6;border-bottom:1px solid #CED9E6;position:relative;display:flex;flex-direction:column;transition:.2s}.service-card:hover{background:var(--white);transform:translateY(-3px)}.service-num{font:9px var(--mono);letter-spacing:1px;color:#667A94}.service-icon{position:absolute;right:20px;top:18px;font-size:23px;color:#A97D1B}.service-card h3{font:600 21px/1.15 var(--display);letter-spacing:-.8px;margin:45px 0 10px}.service-card p{font-size:12px;line-height:1.7;color:#66736b;max-width:235px;margin-bottom:20px}.card-arrow{font-size:10px;font-weight:700;margin-top:auto}.audience{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}.audience-left>p{font-size:14px;color:#66736b;line-height:1.8;max-width:390px;margin:24px 0}.audience-left .text-link{margin-top:5px}.audience-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.audience-card{min-height:260px;padding:23px;display:flex;flex-direction:column;position:relative;overflow:hidden}.home-card{background:#E0E6ED}.business-card{background:#FFF0B8}.audience-card>span{font:9px var(--mono);letter-spacing:1px}.audience-card strong{font:600 27px/1.12 var(--display);letter-spacing:-1.4px;margin-top:auto}.audience-card i{position:absolute;right:22px;bottom:21px;font-size:20px;font-style:normal}.audience-card:after{content:'';position:absolute;border:1px solid rgba(23,46,43,.15);width:180px;height:180px;border-radius:50%;right:-70px;top:60px;box-shadow:0 0 0 20px rgba(23,46,43,.025),0 0 0 40px rgba(23,46,43,.02)}.work-preview{background:var(--deep);color:var(--white);padding:93px 0 100px}.work-wrap{max-width:1080px}.work-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:43px}.work-title h2{font-size:55px;line-height:1.02;margin:21px 0 0}.work-title>p{max-width:290px;color:#A6B7CC;font-size:13px;margin:0 0 3px}.portfolio-teaser{display:grid;grid-template-columns:1.3fr .7fr;min-height:335px}.portfolio-placeholder{background:#E1E8F0;padding:24px;display:flex;flex-direction:column;justify-content:space-between;min-height:330px}.placeholder-drawing{flex:1;position:relative;overflow:hidden;background:linear-gradient(135deg,#C8D5E5 0 35%,#EEF2F7 35%);border:1px solid rgba(23,46,43,.2)}.placeholder-drawing:after{content:'';position:absolute;left:0;right:0;bottom:0;height:24%;background:#AEBBCB;border-top:2px solid #75869D}.room-window{position:absolute;top:10%;left:8%;width:24%;height:45%;border:7px solid #F3F6FA;background:linear-gradient(135deg,#CCD9E9,#FFF4CE);box-shadow:0 0 0 1px #8092A8}.room-cabinet{position:absolute;right:7%;bottom:24%;width:31%;height:46%;background:#607D9E;border:2px solid #3B597A;box-shadow:inset 0 0 0 5px rgba(255,255,255,.12)}.room-cabinet:before{content:'';position:absolute;left:0;right:0;top:0;height:30%;background:#E4EAF2;border-bottom:5px solid #8191A6}.room-cabinet:after{content:'';position:absolute;left:50%;top:35%;bottom:0;border-left:1px solid rgba(255,255,255,.25)}.room-counter{position:absolute;right:4%;bottom:69%;width:37%;height:8px;background:#F4F6F9;box-shadow:0 0 0 1px #718198}.room-note{position:absolute;right:10%;top:12%;font:9px/1.5 var(--mono);letter-spacing:1px;color:var(--ink);background:var(--accent);padding:9px;transform:rotate(4deg)}.placeholder-caption{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1px;color:#61758D;padding-top:12px}.work-side{border:1px solid #40534d;border-left:0;padding:38px 32px;display:flex;flex-direction:column;align-items:flex-start}.work-index{font:9px var(--mono);letter-spacing:1px;color:var(--accent)}.work-side h3{font:600 26px/1.15 var(--display);letter-spacing:-1px;margin:49px 0 13px}.work-side p{font-size:12px;line-height:1.7;color:#A8BAD0}.work-side .text-link{margin-top:auto}.process .section-heading{align-items:end}.heading-note{font-size:13px;line-height:1.7;color:#667A91;max-width:320px;margin:0 0 3px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:53px}.process-grid article{padding:24px 24px 0 0;position:relative}.process-grid article+article{padding-left:22px;border-left:1px solid var(--line)}.process-grid article>span{font:10px var(--mono);color:#A97D1B}.process-grid h3{font:600 17px var(--display);margin:28px 0 9px;letter-spacing:-.4px}.process-grid p{font-size:11px;line-height:1.7;color:#687B92}.area-strip{background:#19385D;color:white;padding:75px 0}.area-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.area-inner h2{font-size:42px;line-height:1.05;margin:20px 0 0}.area-inner>div:last-child{max-width:380px}.area-inner>div:last-child>p{font-size:13px;color:#B8C8DB;line-height:1.8}.area-inner .text-link{margin-top:10px}.faq-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.faq-preview h2{font-size:43px;line-height:1.07;margin:20px 0 22px}.faq-lines details{border-bottom:1px solid var(--line);padding:17px 0}.faq-lines details:first-child{border-top:1px solid var(--line)}.faq-lines summary{cursor:pointer;list-style:none;font:600 14px var(--display);display:flex;justify-content:space-between;gap:15px}.faq-lines summary::-webkit-details-marker{display:none}.faq-lines summary span{font:20px var(--sans);color:#819735;transition:transform .2s}.faq-lines details[open] summary span{transform:rotate(45deg)}.faq-lines details p{font-size:12px;line-height:1.75;color:#687C93;margin:12px 25px 2px 0}.cta-block{background:var(--deep);color:var(--white);padding:86px 0 95px}.cta-inner h2{font-size:clamp(42px,6vw,70px);line-height:1.04;letter-spacing:-.06em;margin:22px 0 0}.cta-inner h2 em{color:var(--accent)}.cta-inner .eyebrow{color:var(--accent)}.cta-phone{font-size:12px;font-weight:700;border-bottom:1px solid;padding-bottom:4px}.site-footer{background:var(--deep);color:white;padding:55px 0 25px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-bottom:43px}.footer-brand{align-self:start}.footer-brand .brand-name{color:white}.footer-brand .brand-name small{color:#A7B9CF}.footer-intro{font-size:11px;color:#A8B9CD;max-width:230px;margin-top:19px;line-height:1.7}.footer-col strong{display:block;font:9px var(--mono);letter-spacing:1.4px;color:var(--accent);margin-bottom:15px}.footer-col a,.footer-col p{display:block;color:#C7D5E6;font-size:11px;line-height:1.9;margin:0}.footer-col a:hover{color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #345477;padding-top:18px;color:#7D8EA4;font:9px var(--mono);letter-spacing:.5px}.footer-bottom a{color:#A9BBD1}.mobile-call{display:none}
/* Interior pages */
.breadcrumbs{font:10px var(--mono);letter-spacing:.3px;color:#71839A;padding:23px 0}.breadcrumbs ol{display:flex;gap:9px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.breadcrumbs li+li:before{content:'/';margin-right:9px;color:#AAB8CA}.breadcrumbs [aria-current=page]{color:var(--ink)}.page-hero{background:var(--ink);color:white;padding:70px max(calc((100% - 1100px)/2),32px) 75px;position:relative;overflow:hidden}.page-hero:after{content:'DH';position:absolute;right:7%;top:-76px;font:800 300px/.9 var(--display);letter-spacing:-30px;color:rgba(255,255,255,.035)}.page-hero h1{font-size:clamp(48px,7vw,76px);max-width:850px;margin:23px 0}.page-hero p{color:#C4D2E4;max-width:650px;font-size:16px;line-height:1.8;position:relative;z-index:1}.page-content{padding:65px 0 100px}.page-content h2{font-size:36px;line-height:1.1;margin:30px 0 18px}.page-content h3{font:600 20px var(--display)}.page-content p,.page-content li{font-size:14px;color:#526159;line-height:1.85}.page-content ul{padding-left:20px}.content-narrow{max-width:820px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}.service-list a{padding:22px;background:#E8EFF7;border:1px solid #D3DEEB;transition:.2s}.service-list a:hover{background:white;transform:translateY(-2px)}.service-list small{font:9px var(--mono);color:#819735;letter-spacing:1px}.service-list h3{margin:13px 0 7px}.service-list p{font-size:12px;margin:0}.page-cta{margin-top:50px;padding:32px;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:space-between;gap:20px}.page-cta h3{font:600 23px var(--display);margin:0}.crumb-wrap{max-width:1200px;margin:auto;width:calc(100% - 64px)}.portfolio-empty{max-width:820px;background:#E8EFF7;padding:35px;margin-top:28px}.portfolio-empty strong{font:600 20px var(--display)}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.contact-method{border-top:1px solid var(--line);padding:18px 0}.contact-method small{display:block;font:9px var(--mono);color:#A97D1B;letter-spacing:1px;margin-bottom:6px}.contact-method a{font:600 17px var(--display)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font:10px var(--mono);letter-spacing:.3px;color:#495F7B}.field input,.field select,.field textarea{background:#FFFFFF;border:1px solid #D7E1ED;padding:12px;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#819735;box-shadow:0 0 0 2px rgba(129,151,53,.12)}.field textarea{min-height:120px;resize:vertical}.form-note{font-size:10px;color:#71839A;grid-column:1/-1}.form-status{font-size:12px;color:#526159;grid-column:1/-1}.contact-form button{border:0;cursor:pointer;justify-self:start}.faq-page details{border-top:1px solid var(--line);padding:19px 0}.faq-page details:last-child{border-bottom:1px solid var(--line)}.faq-page summary{font:600 16px var(--display);cursor:pointer;list-style:none;display:flex;justify-content:space-between}.faq-page summary::-webkit-details-marker{display:none}.faq-page summary:after{content:'+';font-size:21px;color:#819735}.faq-page details[open] summary:after{content:'−'}.faq-page details p{max-width:700px;margin:14px 0 0}.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.area-chip{background:#E8EFF7;padding:18px;font:12px var(--mono);letter-spacing:.3px}.notice{font-size:11px!important;color:#74869D!important;margin-top:17px}
@media(max-width:950px){.main-nav{gap:15px}.main-nav a{font-size:11px}.nav-wrap{width:calc(100% - 38px)}.brand{min-width:170px}.hero{padding:62px 6%;grid-template-columns:1.05fr .95fr}.hero-proof{gap:23px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:240px}.audience{gap:5%}.audience-card{min-height:230px}.contact-grid{gap:35px}}
@media(max-width:700px){.wrap{width:calc(100% - 38px)}.site-header{height:68px}.nav-wrap{width:calc(100% - 32px)}.brand{min-width:0}.brand-name{font-size:16px}.menu-toggle{display:block;z-index:12}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:10px 22px 22px;box-shadow:0 15px 20px #17365D1a;align-items:stretch;gap:0}.main-nav.open{display:flex;flex-direction:column}.main-nav a{padding:12px 4px;border-bottom:1px solid var(--line);font-size:13px}.main-nav .nav-cta{margin-top:12px;padding:13px 16px;text-align:center;border:0}.hero{width:100%;padding:58px 24px 46px;grid-template-columns:1fr;gap:44px}.hero h1{font-size:64px}.hero-lead{font-size:15px}.hero-proof{margin-top:39px}.hero-art{width:88%;margin:auto}.blueprint svg{max-height:none}.art-note{right:-15px}.ticker{height:40px;font-size:9px}.section{padding-block:72px}.intro-grid{grid-template-columns:1fr;gap:18px}.intro-copy{padding-top:5px}.large-copy{font-size:18px}.services-band{padding:70px 0}.section-heading{align-items:start;flex-direction:column;margin-bottom:30px;gap:20px}.section-heading h2{font-size:47px}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:18px 15px;min-height:250px}.service-card h3{font-size:18px;margin-top:44px}.service-card p{font-size:11px}.audience{grid-template-columns:1fr;gap:34px}.audience-cards{gap:10px}.audience-card{min-height:210px;padding:17px}.audience-card strong{font-size:23px}.work-preview{padding:70px 0}.work-title{display:block}.work-title h2{font-size:47px}.work-title>p{margin-top:18px}.portfolio-teaser{grid-template-columns:1fr}.portfolio-placeholder{min-height:280px}.work-side{border:1px solid #40534d;border-top:0;padding:25px}.work-side h3{margin:27px 0 12px}.work-side .text-link{margin-top:17px}.process .section-heading{display:block}.heading-note{margin-top:18px}.process-grid{grid-template-columns:1fr 1fr;margin-top:35px}.process-grid article{padding:18px 12px 12px 0}.process-grid article+article{padding-left:15px}.process-grid article:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.process-grid article:nth-child(4){border-top:1px solid var(--line)}.process-grid h3{margin-top:20px;font-size:15px}.area-strip{padding:56px 0}.area-inner{display:block}.area-inner h2{font-size:36px;margin-bottom:24px}.area-inner>div:last-child>p{margin-bottom:12px}.faq-preview{grid-template-columns:1fr;gap:27px}.faq-preview h2{font-size:38px}.faq-lines summary{font-size:13px}.cta-block{padding:64px 0}.cta-inner h2{font-size:46px}.cta-inner .actions{align-items:flex-start;flex-direction:column;gap:19px}.footer-top{grid-template-columns:1fr 1fr;gap:26px 18px}.footer-brand{grid-column:1/-1}.footer-bottom{gap:15px;flex-direction:column}.mobile-call{display:block;position:fixed;z-index:9;bottom:0;left:0;right:0;background:var(--accent);padding:12px;text-align:center;font-size:13px;font-weight:700;box-shadow:0 -4px 15px #17365D1a}.site-footer{padding-bottom:80px}.page-hero{padding:52px 24px}.page-hero h1{font-size:50px}.page-hero p{font-size:14px}.crumb-wrap{width:calc(100% - 38px)}.breadcrumbs{font-size:9px}.page-content{padding:42px 0 75px}.page-content h2{font-size:30px}.service-list{grid-template-columns:1fr}.page-cta{align-items:flex-start;flex-direction:column;padding:25px}.contact-grid{grid-template-columns:1fr;gap:34px}.contact-form{grid-template-columns:1fr}.field.full,.form-note,.form-status{grid-column:auto}.area-grid{grid-template-columns:1fr 1fr}}
