:root{--navy:#10283f;--navy2:#183750;--ink:#172c3c;--muted:#697783;--gold:#c9a66b;--cream:#f4f2ec;--white:#fff;--line:#dfe3e3;--serif:'Manrope',Arial,sans-serif;--sans:'Manrope',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 64px));margin:auto}.topline{background:#0b2033;color:#c9d0d5;font-size:11px;letter-spacing:.07em}.topline-inner{height:36px;display:flex;align-items:center;justify-content:space-between}.topline a{color:#e8ecee}.top-sep{padding:0 12px;color:#71808b}.site-header{height:100px;background:#fff;position:relative;z-index:20}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px}.brand-logo img{display:block;width:220px;height:auto;max-height:78px;object-fit:contain;object-position:left center}.footer-brand img{width:190px;max-height:68px;filter:brightness(0) invert(1);opacity:.94}.brand-mark{width:45px;height:45px}.brand-type{display:flex;flex-direction:column;line-height:1}.brand-type strong{font:800 20px var(--display);letter-spacing:.15em;color:var(--navy)}.brand-type small{font-size:8px;letter-spacing:.2em;color:#6b7880;margin-top:5px}.main-nav{display:flex;align-items:center;gap:38px;font-size:13px;font-weight:600;color:#34495a}.main-nav>a:not(.nav-contact):hover{color:#b18a4f}.nav-contact{padding:13px 19px;border:1px solid #d9dedf;border-radius:2px}.nav-contact span{color:#b18a4f;margin-left:10px}.menu-toggle{display:none;background:none;border:0}.hero{height:650px;min-height:560px;position:relative;overflow:hidden;background:var(--navy);color:#fff}.hero-image{position:absolute;inset:0;background:url('assets/cover-000.jpg') center 48%/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,27,43,.94) 0%,rgba(12,35,53,.83) 42%,rgba(12,35,53,.25) 100%),linear-gradient(0deg,rgba(8,27,43,.55),transparent 55%)}.hero-content{position:relative;z-index:2;padding-top:112px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;color:#a27e49;display:flex;align-items:center;gap:11px}.eyebrow i{width:24px;height:1px;background:var(--gold);display:inline-block}.eyebrow.light{color:#d9c39f}.hero h1{font:600 clamp(54px,6.4vw,88px)/1.06 var(--display);letter-spacing:-.055em;margin:28px 0 20px}.hero h1 em,.intro h2 em,.section-heading h2 em,.contact h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.04em;color:#d7b77e}.hero-lead{font-size:17px;line-height:1.7;color:#e1e6e9}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button{display:inline-flex;align-items:center;gap:26px;padding:15px 20px;font-size:12px;font-weight:700;letter-spacing:.03em;transition:.2s}.button span{font-size:17px}.button-gold{background:var(--gold);color:#132b3e}.button-gold:hover{background:#dfc18e;transform:translateY(-2px)}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid #c8a66c;padding-bottom:7px}.text-link span{font-size:17px;color:#b28c52}.light-link{color:#fff;border-color:rgba(255,255,255,.45)}.hero-foot{position:absolute;top:585px;left:0;display:flex;align-items:center;gap:15px;font-size:9px;letter-spacing:.16em;color:#c7d0d5}.hero-line{width:62px;height:1px;background:var(--gold)}.hero-stamp{position:absolute;right:max(32px,calc((100vw - 1180px)/2));bottom:42px;display:flex;align-items:center;gap:14px;color:#fff}.hero-stamp>span{font:700 12px var(--display);letter-spacing:.22em;border:1px solid rgba(255,255,255,.5);padding:12px 15px}.hero-stamp small{font-size:8px;line-height:1.6;letter-spacing:.13em;color:#d8e0e4}.section-pad{padding:105px 0}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.intro h2,.section-heading h2,.contact h2{font:700 clamp(37px,4.3vw,57px)/1.15 var(--display);letter-spacing:-.055em;margin:23px 0 0;color:var(--navy)}.intro h2 em,.section-heading h2 em,.contact h2 em{color:#b08b54}.intro-copy{padding-top:28px}.intro-copy p{color:#65727a;margin:0 0 18px}.intro-copy .lead{font:22px/1.55 var(--serif);color:#263b4a}.intro-copy .text-link{margin-top:13px}.value-strip{border-top:1px solid #d8d9d3;margin-top:80px;padding-top:27px;display:grid;grid-template-columns:repeat(4,1fr)}.value-strip>div{display:flex;align-items:center;gap:18px;border-right:1px solid #d8d9d3;padding:0 25px}.value-strip>div:first-child{padding-left:0}.value-strip>div:last-child{border:0}.value-strip b{font:400 28px var(--serif);color:#b18b54}.value-strip span{font-size:12px;line-height:1.4;font-weight:600;color:#344a58}.services{background:var(--navy);color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:54px}.section-heading h2{color:#fff}.section-heading>p{max-width:350px;color:#b8c4cb;font-size:14px;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2);border-left:1px solid rgba(255,255,255,.2)}.service-card{min-height:270px;padding:28px 30px 26px;border-right:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);position:relative;transition:background .25s}.service-card:hover{background:#183750}.service-no{font-size:10px;letter-spacing:.12em;color:#c7a56f}.service-icon{font:32px var(--serif);color:#c7a56f;margin:20px 0 10px}.service-card h3{font:600 21px/1.25 var(--display);letter-spacing:-.03em;margin:0 0 12px}.service-card p{font-size:12px;line-height:1.7;color:#b9c5cb;max-width:290px;margin:0}.service-card>a{position:absolute;right:27px;bottom:25px;color:#d6b77f;font-size:18px}.service-card-note{background:#c9a66b;color:#142c40}.service-card-note:hover{background:#d7b77e}.service-card-note .note-rule{width:30px;height:2px;background:#17344a;margin:5px 0 18px}.service-card-note .note-kicker{color:#243c4d;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.service-card-note h3{font:400 29px/1.15 var(--serif);margin:12px 0}.service-card-note p{color:#344b5a}.service-card-note .text-link{margin-top:20px;color:#17344a;border-color:#17344a}.service-card-note .text-link span{color:#17344a}.projects{background:#fff}.project-heading h2{color:var(--navy)}.project-heading>p{color:#687680}.project-feature{display:grid;grid-template-columns:1.25fr .75fr;min-height:390px;background:var(--cream)}.project-visual{position:relative;overflow:hidden;min-height:390px}.project-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(.78)}.project-visual:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(9,28,43,.65),transparent)}.image-caption{position:absolute;z-index:1;left:30px;bottom:25px;color:#fff;font-size:9px;letter-spacing:.16em}.project-info{padding:52px 48px;display:flex;flex-direction:column;align-items:flex-start}.project-label{font-size:9px;letter-spacing:.15em;color:#a17c48;font-weight:700}.project-info h3{font:600 34px/1.2 var(--display);letter-spacing:-.04em;color:var(--navy);margin:23px 0 15px}.project-info p,.project-list p{font-size:13px;color:#687680;line-height:1.7}.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 28px}.project-tags span{font-size:9px;letter-spacing:.08em;padding:6px 9px;border:1px solid #d5d8d4;color:#52616a}.project-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-list article{padding:28px 30px 32px 0;position:relative;border-right:1px solid var(--line);margin-right:30px}.project-list article:last-child{border:0;margin:0}.project-list h3{font:600 18px var(--display);margin:14px 0 4px;color:var(--navy)}.project-list p{max-width:280px;margin:0}.project-arrow{position:absolute;right:24px;top:28px;color:#b18b54}.project-disclaimer{font-size:10px;color:#879198;margin:15px 0 0}.approach{background:#10283f;color:#fff;position:relative;overflow:hidden}.approach:after{content:"S";position:absolute;right:4%;top:-170px;font:700 650px/1 var(--serif);color:rgba(255,255,255,.025);pointer-events:none}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;position:relative;z-index:1}.approach h2{font:600 clamp(39px,4.4vw,58px)/1.12 var(--display);letter-spacing:-.05em;margin:23px 0}.approach h2 em{font:italic 400 1em var(--serif);color:#d4b47c}.approach-lead{max-width:440px;color:#bdc9cf;font-size:14px;line-height:1.8}.approach-steps{padding-top:10px}.approach-steps>div{display:flex;gap:25px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.18)}.approach-steps b{font:400 24px var(--serif);color:#c9a66b}.approach-steps span{display:flex;flex-direction:column;gap:5px}.approach-steps strong{font:600 16px var(--display)}.approach-steps small{font-size:12px;color:#b8c4ca}.contact{background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.contact h2{margin-bottom:20px}.contact-grid>div:first-child>p{color:#6b7880;max-width:420px;margin:0 0 27px}.button-navy{background:var(--navy);color:#fff}.button-navy:hover{background:#23455f;transform:translateY(-2px)}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px;padding-top:12px}.contact-details small{font-size:9px;letter-spacing:.16em;color:#a17c48;font-weight:700}.contact-details p{font-size:13px;line-height:1.8;color:#3b4e5b;margin:10px 0 0}.contact-details a:hover{color:#a17c48}.footer{background:#0b2033;color:#aab6bd;padding:25px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer-brand .brand-type strong{color:#fff}.footer-brand .brand-type small{color:#9cabb4}.footer-brand .brand-mark{width:38px;height:38px}.footer-inner>span{font:italic 15px var(--serif);color:#d0b17d}.footer-inner>small{font-size:10px}
@media(max-width:900px){.container{width:min(100% - 44px,720px)}.main-nav{gap:20px}.hero{height:620px}.hero-content{padding-top:100px}.hero-stamp{display:none}.intro-grid,.approach-grid,.contact-grid{gap:50px}.project-info{padding:35px 30px}.service-card{padding:24px 22px}.service-card h3{font-size:18px}.project-list article{margin-right:18px;padding-right:18px}}
@media(max-width:680px){.container{width:calc(100% - 40px)}.topline-inner{height:auto;min-height:34px;padding:8px 0;gap:5px;align-items:flex-start;flex-direction:column;font-size:9px}.site-header{height:82px}.brand-logo img{width:185px;max-height:66px}.brand-mark{width:39px;height:39px}.brand-type strong{font-size:18px}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px}.menu-toggle span{width:23px;height:2px;background:var(--navy)}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 15px 25px #10283f20;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px 5px;border-bottom:1px solid #edf0ef}.main-nav .nav-contact{margin-top:10px;text-align:center;border:1px solid #d9dedf}.hero{height:610px;min-height:0}.hero-image{background-position:56% center}.hero-shade{background:linear-gradient(90deg,rgba(8,27,43,.91),rgba(8,27,43,.55)),linear-gradient(0deg,rgba(8,27,43,.65),transparent)}.hero-content{padding-top:90px}.hero h1{font-size:54px}.hero-lead{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-foot{top:auto;bottom:25px;font-size:8px}.section-pad{padding:75px 0}.intro-grid,.approach-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.intro h2,.section-heading h2,.contact h2{font-size:40px}.intro-copy{padding-top:0}.intro-copy .lead{font-size:20px}.value-strip{margin-top:48px;grid-template-columns:1fr 1fr;row-gap:22px}.value-strip>div{padding:0 12px;border:0}.value-strip>div:nth-child(odd){padding-left:0}.value-strip b{font-size:24px}.section-heading{display:block;margin-bottom:36px}.section-heading>p{margin-top:22px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:265px;padding:20px 16px}.service-card h3{font-size:17px}.service-card p{font-size:11px}.service-card-note h3{font-size:25px}.project-feature{grid-template-columns:1fr}.project-visual{min-height:245px}.project-info{padding:30px 25px}.project-info h3{font-size:30px}.project-list{grid-template-columns:1fr}.project-list article{margin:0;padding:23px 35px 23px 0;border-right:0;border-bottom:1px solid var(--line)}.project-list article:last-child{border:0}.project-arrow{right:5px}.approach h2{font-size:43px}.approach-grid{gap:28px}.approach-steps>div{gap:18px}.contact-details{gap:25px 15px}.footer-inner{align-items:flex-start;flex-direction:column;gap:16px}.footer-inner>span{display:none}}
@media(max-width:390px){.service-grid{grid-template-columns:1fr}.service-card{min-height:235px}.hero h1{font-size:48px}.contact-details{grid-template-columns:1fr}}


/* UNIFIED TYPOGRAPHY SYSTEM — one family, coordinated hierarchy */
:root{
  --font-main:'Manrope',Arial,sans-serif;
  --type-xs:clamp(10px,.72vw,11px);
  --type-sm:clamp(12px,.88vw,13px);
  --type-body:15px;
  --type-lead:18px;
  --type-card:20px;
  --type-section:clamp(36px,4.1vw,54px);
  --type-hero:clamp(52px,6.1vw,82px);
}
html,body,button,input,textarea,select{font-family:var(--font-main)}
body{font-size:var(--type-body);line-height:1.7;font-weight:400}
.topline,.eyebrow,.project-label,.image-caption,.contact-details small,.hero-foot,.service-no,.note-kicker{font-family:var(--font-main);font-size:var(--type-xs);font-weight:700;letter-spacing:.13em}
.main-nav{font-family:var(--font-main);font-size:var(--type-sm);font-weight:600}
.hero h1{font-family:var(--font-main);font-size:var(--type-hero);font-weight:700;line-height:1.08;letter-spacing:-.045em}
.hero h1 em,.intro h2 em,.section-heading h2 em,.contact h2 em,.approach h2 em{font-family:var(--font-main);font-style:italic;font-weight:500;letter-spacing:-.035em}
.intro h2,.section-heading h2,.contact h2,.approach h2{font-family:var(--font-main);font-size:var(--type-section);font-weight:700;line-height:1.16;letter-spacing:-.04em}
.hero-lead{font-size:var(--type-lead);line-height:1.7;font-weight:400}
.intro-copy p,.section-heading>p,.project-info p,.project-list p,.approach-lead,.contact-grid>div:first-child>p{font-family:var(--font-main);font-size:var(--type-body);line-height:1.75;font-weight:400}
.intro-copy .lead{font-family:var(--font-main);font-size:var(--type-lead);line-height:1.65;font-weight:600}
.value-strip b,.service-icon,.service-card-note h3,.approach-steps b,.footer-inner>span{font-family:var(--font-main);font-style:normal}
.value-strip span{font-family:var(--font-main);font-size:var(--type-sm);line-height:1.5;font-weight:600}
.service-card h3{font-family:var(--font-main);font-size:var(--type-card);font-weight:700;line-height:1.3;letter-spacing:-.025em}
.service-card p{font-family:var(--font-main);font-size:var(--type-sm);line-height:1.75;font-weight:400}
.service-card-note h3{font-family:var(--font-main);font-size:26px;font-weight:700;line-height:1.2}
.button,.text-link{font-family:var(--font-main);font-size:var(--type-sm);font-weight:700;letter-spacing:.015em}
.project-info h3{font-family:var(--font-main);font-size:clamp(28px,2.6vw,34px);font-weight:700;line-height:1.22;letter-spacing:-.035em}
.project-list h3{font-family:var(--font-main);font-size:18px;font-weight:700;line-height:1.35}
.project-tags span{font-family:var(--font-main);font-size:var(--type-xs);font-weight:600}
.approach-steps strong{font-family:var(--font-main);font-size:16px;font-weight:700}
.approach-steps small{font-family:var(--font-main);font-size:var(--type-sm);line-height:1.65}
.contact-details p{font-family:var(--font-main);font-size:var(--type-sm);line-height:1.8}
.footer-inner>span{font-family:var(--font-main);font-size:14px;font-weight:600}
.footer-inner>small,.project-disclaimer{font-family:var(--font-main);font-size:var(--type-xs);line-height:1.6}
@media(max-width:680px){
  :root{--type-body:14px;--type-lead:16px;--type-card:18px;--type-section:38px;--type-hero:clamp(46px,12vw,54px)}
  .hero h1{font-size:var(--type-hero)}
  .intro h2,.section-heading h2,.contact h2{font-size:var(--type-section)}
  .approach h2{font-size:40px}
  .service-card h3{font-size:17px}
  .service-card-note h3{font-size:24px}
}

/* VERSION 1.3 — refined editorial type scale and consistent text rhythm */
:root{
  --font-main:'Manrope',Arial,sans-serif;
  --fs-micro:11px;
  --fs-caption:12px;
  --fs-nav:13px;
  --fs-body:16px;
  --fs-lead:18px;
  --fs-card-title:20px;
  --fs-feature-title:32px;
  --fs-section-title:clamp(38px,4vw,52px);
  --fs-hero-title:clamp(54px,6vw,78px);
}
body,button,input,textarea,select{font-family:var(--font-main)}
body{font-size:var(--fs-body);line-height:1.68;font-weight:400;letter-spacing:0}
.topline{font-size:var(--fs-micro);line-height:1.5;letter-spacing:.035em}
.main-nav{font-size:var(--fs-nav);line-height:1.4;font-weight:650}
.eyebrow,.project-label,.image-caption,.contact-details small,.hero-foot,.service-no,.note-kicker{font-family:var(--font-main);font-size:var(--fs-micro);line-height:1.45;font-weight:750;letter-spacing:.105em}
.hero h1{font-family:var(--font-main);font-size:var(--fs-hero-title);font-weight:750;line-height:1.08;letter-spacing:-.045em}
.hero h1 em,.intro h2 em,.section-heading h2 em,.contact h2 em,.approach h2 em{font-family:var(--font-main);font-style:normal;font-weight:600;letter-spacing:-.04em}
.intro h2,.section-heading h2,.contact h2,.approach h2{font-family:var(--font-main);font-size:var(--fs-section-title);font-weight:750;line-height:1.13;letter-spacing:-.04em}
.hero-lead{font-size:var(--fs-lead);line-height:1.65;font-weight:450}
.intro-copy p,.section-heading>p,.project-info p,.project-list p,.approach-lead,.contact-grid>div:first-child>p{font-family:var(--font-main);font-size:var(--fs-body);line-height:1.72;font-weight:400}
.intro-copy .lead{font-family:var(--font-main);font-size:var(--fs-lead);line-height:1.6;font-weight:650}
.value-strip b,.service-icon,.service-card-note h3,.approach-steps b,.footer-inner>span{font-family:var(--font-main);font-style:normal}
.value-strip b{font-size:26px;font-weight:650;line-height:1}
.value-strip span{font-family:var(--font-main);font-size:var(--fs-caption);line-height:1.5;font-weight:650}
.service-card h3{font-family:var(--font-main);font-size:var(--fs-card-title);font-weight:700;line-height:1.28;letter-spacing:-.02em}
.service-card p{font-family:var(--font-main);font-size:var(--fs-caption);line-height:1.7;font-weight:400}
.service-card-note h3{font-family:var(--font-main);font-size:25px;font-weight:750;line-height:1.2}
.button,.text-link{font-family:var(--font-main);font-size:var(--fs-nav);font-weight:700;line-height:1.4;letter-spacing:0}
.project-info h3{font-family:var(--font-main);font-size:var(--fs-feature-title);font-weight:750;line-height:1.18;letter-spacing:-.035em}
.project-list h3{font-family:var(--font-main);font-size:18px;font-weight:700;line-height:1.35}
.project-tags span{font-family:var(--font-main);font-size:var(--fs-micro);font-weight:650;line-height:1.35;letter-spacing:.025em}
.approach-steps b{font-size:23px;font-weight:650;line-height:1.2}
.approach-steps strong{font-family:var(--font-main);font-size:16px;font-weight:700;line-height:1.4}
.approach-steps small{font-family:var(--font-main);font-size:var(--fs-caption);line-height:1.6;font-weight:400}
.contact-details small{font-size:var(--fs-micro);letter-spacing:.10em}
.contact-details p{font-family:var(--font-main);font-size:var(--fs-caption);line-height:1.75;font-weight:450}
.footer-inner>span{font-family:var(--font-main);font-size:14px;font-weight:650;line-height:1.4}
.footer-inner>small,.project-disclaimer{font-family:var(--font-main);font-size:var(--fs-micro);line-height:1.55;font-weight:400}
.project-disclaimer{max-width:900px}
@media(max-width:680px){
  :root{--fs-micro:10px;--fs-caption:12px;--fs-nav:13px;--fs-body:15px;--fs-lead:17px;--fs-card-title:18px;--fs-feature-title:29px;--fs-section-title:38px;--fs-hero-title:clamp(46px,11.5vw,54px)}
  .hero h1{font-size:var(--fs-hero-title)}
  .intro h2,.section-heading h2,.contact h2,.approach h2{font-size:var(--fs-section-title)}
  .service-card h3{font-size:17px}
  .service-card p{font-size:12px}
  .project-info h3{font-size:var(--fs-feature-title)}
  .footer-inner>small{font-size:10px}
}

.portfolio-home-link{margin-top:25px}.portfolio-home-link .button{font-size:13px}
