/* ========================================================================== 
   DEINO REFERENCE DIRECTION
   Editorial construction language inspired by the supplied reference images.
   Keeps Deino's approved Manrope typeface and navy / gold brand system.
   ========================================================================== */

:root {
  --ref-paper:#f2efe7;
  --ref-paper-2:#e8e9e3;
  --ref-ink:#0b1624;
  --ref-navy:#0A2747;
  --ref-navy-2:#071d35;
  --ref-gold:#B58A3A;
  --ref-line:rgba(10,39,71,.16);
  --ref-shell:1180px;
  --ref-pad:clamp(20px,4.3vw,72px);
  --ref-section:clamp(76px,8.8vw,138px);
  --ref-radius:0px;
}

body{background:var(--ref-paper);color:var(--ref-ink);font-family:var(--font);}
.ref-shell{width:min(100%,var(--ref-shell));margin:0 auto;padding-inline:var(--ref-pad);}
.ref-section{padding-block:var(--ref-section);}
.ref-section--paper{background:var(--ref-paper);}
.ref-section--mist{background:var(--ref-paper-2);}
.ref-section--navy{background:var(--ref-navy-2);color:#fff;}
.ref-h2{font-size:clamp(2.45rem,5.3vw,4.7rem);line-height:.96;letter-spacing:-.055em;font-weight:500;color:var(--ref-ink);max-width:10.5ch;}
.ref-h2--light{color:#fff;}
.ref-kicker{display:flex;align-items:center;gap:.6rem;margin:0 0 1.35rem;font-size:.66rem;line-height:1;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ref-navy);}
.ref-kicker i{width:7px;height:7px;background:var(--ref-gold);border-radius:50%;display:block;flex:none;}
.ref-kicker--light{color:rgba(255,255,255,.58);}
.ref-sidecopy{max-width:31rem;margin:0;color:rgba(255,255,255,.62);font-size:.9rem;line-height:1.7;align-self:end;justify-self:end;}
.ref-sidecopy--dark{color:rgba(11,22,36,.68);}
.ref-heading-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(40px,7vw,110px);align-items:end;margin-bottom:clamp(48px,6vw,84px);}
.ref-heading-row--dark{color:var(--ref-ink);}

/* header */
.header.ref-header{height:78px;background:transparent;border-bottom:1px solid rgba(255,255,255,.2);transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;}
.header.ref-header .header__inner{height:78px;max-width:var(--ref-shell);padding-inline:var(--ref-pad);gap:22px;}
.header.ref-header.is-solid{background:rgba(242,239,231,.96);backdrop-filter:blur(12px);border-color:rgba(10,39,71,.12);box-shadow:0 8px 30px rgba(7,29,53,.06);}
.brand-lockup--art{display:flex;align-items:center;background:#fff;padding:8px 11px;min-width:145px;line-height:0;}
.brand-lockup--art img{display:block;width:145px;height:auto;}
.header.ref-header .nav{gap:clamp(12px,1.35vw,22px);margin-left:auto;}
.header.ref-header .nav__link{font-size:.72rem;color:rgba(255,255,255,.92);font-weight:600;letter-spacing:-.01em;position:relative;}
.header.ref-header .nav__link:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--ref-gold);transition:right .25s ease;}
.header.ref-header .nav__link:hover:after,.header.ref-header .nav__link[aria-current="page"]:after{right:0;}
.header.ref-header.is-solid .nav__link{color:var(--ref-navy);}
.ref-cta{font-size:.72rem!important;min-height:40px!important;padding:0 15px!important;background:var(--ref-gold)!important;color:#fff!important;border:none!important;border-radius:999px!important;white-space:nowrap;}
.header.ref-header.is-solid .ref-cta{color:#fff!important;}
.header.ref-header .nav-toggle{color:#fff;}
.header.ref-header.is-solid .nav-toggle{color:var(--ref-navy);}
.header.ref-header .nav-toggle__bars span{background:currentColor;}

/* hero */
.ref-hero{position:relative;min-height:780px;height:100svh;max-height:980px;background:var(--ref-navy-2);color:#fff;overflow:hidden;}
.ref-hero__media,.ref-hero__veil{position:absolute;inset:0;}
.ref-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 47%;}
.ref-hero__veil{background:linear-gradient(90deg,rgba(4,19,35,.89) 0%,rgba(4,19,35,.72) 35%,rgba(4,19,35,.28) 68%,rgba(4,19,35,.16) 100%),linear-gradient(0deg,rgba(4,19,35,.42),transparent 42%);}
.ref-hero__inner{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-top:130px;padding-bottom:38px;}
.ref-hero__content{max-width:680px;margin-bottom:auto;padding-top:clamp(96px,15vh,170px);}
.ref-chip{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.08);font-size:.68rem;font-weight:600;color:#fff;margin-bottom:30px;backdrop-filter:blur(8px);}
.ref-chip span{width:15px;height:15px;border-radius:50%;background:var(--ref-gold);display:block;box-shadow:inset 0 0 0 4px rgba(255,255,255,.3);}
.ref-display{font-size:clamp(3.55rem,7.2vw,7rem);line-height:.9;letter-spacing:-.065em;font-weight:500;color:#fff;max-width:8.5ch;margin:0 0 24px;}
.ref-display em{font-style:normal;color:var(--ref-gold);}
.ref-hero__lead{font-size:clamp(1.05rem,1.3vw,1.3rem);font-weight:600;letter-spacing:-.02em;margin-bottom:10px;}
.ref-hero__copy{max-width:560px;color:rgba(255,255,255,.72);font-size:.92rem;line-height:1.65;margin:0;}
.ref-actions{display:flex;align-items:center;gap:22px;margin-top:28px;flex-wrap:wrap;}
.ref-button{display:inline-flex;align-items:center;gap:18px;justify-content:center;min-height:44px;padding:0 12px 0 18px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:-.01em;border:1px solid transparent;}
.ref-button b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:.8rem;font-weight:500;}
.ref-button--gold{background:var(--ref-gold);color:#fff;}
.ref-button--gold b{background:var(--ref-navy-2);color:#fff;}
.ref-textlink{display:inline-flex;align-items:center;gap:10px;font-size:.75rem;font-weight:700;color:var(--ref-navy);padding-block:8px;border-bottom:1px solid rgba(10,39,71,.28);}
.ref-textlink--light{color:#fff;border-color:rgba(255,255,255,.36);}
.ref-hero__foot{display:flex;gap:10px;flex-wrap:wrap;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);font-size:.62rem;color:rgba(255,255,255,.8);}
.ref-hero__foot span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;}
.ref-hero__foot span:before{content:"✓";font-size:.56rem;color:var(--ref-gold);}

/* standard */
.ref-standard__grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:clamp(50px,7vw,110px);align-items:start;}
.ref-standard__intro p:last-child{font-size:.9rem;line-height:1.72;color:rgba(11,22,36,.65);max-width:37rem;margin-top:24px;}
.ref-standard__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ref-line);border-left:1px solid var(--ref-line);}
.ref-standard__items article{padding:28px 26px 30px;border-right:1px solid var(--ref-line);border-bottom:1px solid var(--ref-line);min-height:176px;}
.ref-standard__items span{font-size:.61rem;color:var(--ref-gold);font-weight:700;}
.ref-standard__items h3{font-size:1.12rem;font-weight:600;letter-spacing:-.035em;color:var(--ref-ink);margin:25px 0 10px;}
.ref-standard__items p{font-size:.72rem;line-height:1.65;color:rgba(11,22,36,.62);margin:0;}
.ref-standard__bar{display:flex;justify-content:space-between;gap:30px;margin-top:54px;padding-top:24px;border-top:1px solid var(--ref-line);font-size:.78rem;}
.ref-standard__bar span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(11,22,36,.48);}

/* work grid */
.ref-workgrid{display:grid;grid-template-columns:1.3fr .7fr;gap:22px;align-items:stretch;}
.ref-service{position:relative;min-height:420px;color:#fff;overflow:hidden;isolation:isolate;}
.ref-service picture,.ref-service picture img{width:100%;height:100%;}
.ref-service picture{position:absolute;inset:0;z-index:-2;}
.ref-service picture img{object-fit:cover;transition:transform .65s cubic-bezier(.22,.61,.36,1);}
.ref-service:hover picture img{transform:scale(1.025);}
.ref-service__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,19,35,.08),rgba(4,19,35,.76));z-index:-1;}
.ref-service__tag{position:absolute;top:18px;left:18px;padding:6px 8px;background:rgba(7,29,53,.76);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase;}
.ref-service__meta{position:absolute;left:22px;right:22px;bottom:20px;display:grid;grid-template-columns:44px 1fr;gap:10px 15px;align-items:end;}
.ref-service__meta small{font-size:.62rem;color:rgba(255,255,255,.58);grid-row:1 / span 2;}
.ref-service__meta h3{color:#fff;font-size:1.3rem;font-weight:500;letter-spacing:-.04em;margin:0;}
.ref-service__meta p{color:rgba(255,255,255,.68);font-size:.67rem;line-height:1.55;max-width:36rem;margin:0;}
.ref-service--portrait{min-height:420px;}
.ref-service--landscape{min-height:340px;}
.ref-service--accent{min-height:340px;background:var(--ref-gold);color:var(--ref-navy-2);padding:30px;display:flex;flex-direction:column;justify-content:flex-end;}
.ref-service--accent small{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:auto;}
.ref-service--accent h3{font-size:clamp(1.9rem,3vw,3.2rem);line-height:.94;letter-spacing:-.055em;font-weight:600;color:var(--ref-navy-2);margin:0 0 18px;max-width:9ch;}
.ref-service--accent p{font-size:.75rem;line-height:1.6;max-width:29rem;margin:0 0 26px;color:rgba(7,29,53,.72);}
.ref-service--accent span{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid rgba(7,29,53,.28);font-size:.72rem;font-weight:700;}

/* sector feature */
.ref-feature-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:50px;align-items:end;margin-bottom:42px;}
.ref-feature-head .ref-h2{max-width:13ch;}
.ref-feature-meta{border-left:1px solid var(--ref-line);padding-left:24px;display:flex;flex-direction:column;gap:9px;font-size:.66rem;line-height:1.55;text-transform:uppercase;letter-spacing:.06em;color:rgba(11,22,36,.56);}
.ref-feature-meta strong{color:var(--ref-ink);font-weight:600;}
.ref-feature-image{position:relative;display:block;height:min(56vw,650px);min-height:430px;overflow:hidden;background:#ddd;}
.ref-feature-image picture,.ref-feature-image img{width:100%;height:100%;}
.ref-feature-image img{object-fit:cover;object-position:center;transition:transform .65s ease;}
.ref-feature-image:hover img{transform:scale(1.015);}
.ref-feature-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,29,53,.22),transparent 42%);}
.ref-feature-image>i{position:absolute;right:20px;bottom:20px;z-index:2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ref-gold);color:#fff;font-style:normal;}
.ref-feature-image__note{position:absolute;z-index:2;left:18px;bottom:18px;background:rgba(7,29,53,.7);color:#fff;font-size:.56rem;text-transform:uppercase;letter-spacing:.08em;padding:7px 9px;}
.ref-feature-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:45px;margin-top:34px;padding-bottom:25px;border-bottom:1px solid var(--ref-line);align-items:start;}
.ref-feature-foot h3{font-size:clamp(1.65rem,2.8vw,2.55rem);line-height:1.02;letter-spacing:-.045em;font-weight:500;color:var(--ref-ink);max-width:19ch;}
.ref-feature-foot p{font-size:.76rem;line-height:1.7;color:rgba(11,22,36,.6);margin:0 0 14px;max-width:36rem;}

/* principles */
.ref-principles__intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start;margin-bottom:46px;}
.ref-principles__intro .ref-kicker{grid-column:1;}
.ref-principles__intro .ref-h2{grid-column:2;grid-row:1 / span 2;max-width:11ch;}
.ref-principles__intro>p:last-child{grid-column:1;max-width:30rem;color:rgba(255,255,255,.6);font-size:.78rem;line-height:1.7;margin-top:-20px;}
.ref-principles__rows{border-top:1px solid rgba(255,255,255,.14);}
.ref-principles__rows article{display:grid;grid-template-columns:52px minmax(260px,.65fr) minmax(280px,1fr) 36px;gap:28px;align-items:center;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.ref-principles__rows span{font-size:.62rem;color:var(--ref-gold);font-weight:700;}
.ref-principles__rows h3{font-size:1.38rem;color:#fff;font-weight:500;letter-spacing:-.04em;margin:0;}
.ref-principles__rows p{font-size:.68rem;line-height:1.6;color:rgba(255,255,255,.5);margin:0;}
.ref-principles__rows i{width:31px;height:31px;border:1px solid rgba(181,138,58,.45);border-radius:50%;display:grid;place-items:center;color:var(--ref-gold);font-style:normal;font-size:.7rem;}
.ref-principles__end{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:34px;color:rgba(255,255,255,.5);font-size:.64rem;}

/* process */
.ref-process__track{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:10px;}
.ref-process__track:before{content:"";position:absolute;top:16px;left:16px;right:16px;height:1px;background:var(--ref-line);}
.ref-process__track article{position:relative;padding:0 20px 24px 0;min-height:210px;}
.ref-process__track article:not(:first-child){padding-left:16px;}
.ref-process__track b{position:relative;z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(10,39,71,.25);background:var(--ref-paper);color:rgba(10,39,71,.52);font-size:.55rem;font-weight:600;margin-bottom:24px;}
.ref-process__track article:first-child b{background:var(--ref-gold);border-color:var(--ref-gold);color:#fff;}
.ref-process__track small{display:block;font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(10,39,71,.45);margin-bottom:12px;}
.ref-process__track h3{font-size:1rem;line-height:1.12;letter-spacing:-.035em;color:var(--ref-ink);font-weight:600;margin:0 0 9px;}
.ref-process__track p{font-size:.65rem;line-height:1.55;color:rgba(11,22,36,.58);margin:0;}
.ref-process__footer{display:flex;justify-content:space-between;gap:25px;padding-top:24px;border-top:1px solid var(--ref-line);font-size:.65rem;}

/* detail */
.ref-detail__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(48px,7vw,100px);align-items:start;}
.ref-detail__image{position:relative;}
.ref-detail__image picture{display:block;aspect-ratio:.82;overflow:hidden;}
.ref-detail__image img{width:100%;height:100%;object-fit:cover;}
.ref-detail__image span{display:block;margin-top:10px;font-size:.55rem;color:rgba(11,22,36,.52);text-transform:uppercase;letter-spacing:.08em;}
.ref-detail__list>h3{font-size:clamp(1.9rem,3.5vw,3.2rem);line-height:.99;letter-spacing:-.055em;font-weight:500;color:var(--ref-ink);max-width:15ch;margin:5px 0 36px;}
.ref-detail__list article{display:grid;grid-template-columns:38px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--ref-line);}
.ref-detail__list article:last-child{border-bottom:1px solid var(--ref-line);}
.ref-detail__list article>span{font-size:.58rem;color:rgba(10,39,71,.42);}
.ref-detail__list h4{font-size:.92rem;color:var(--ref-ink);font-weight:600;letter-spacing:-.02em;margin:0 0 5px;}
.ref-detail__list p{font-size:.64rem;line-height:1.55;color:rgba(11,22,36,.58);margin:0;}
.ref-detail__strip{margin-top:64px;background:var(--ref-navy-2);color:#fff;display:grid;grid-template-columns:1fr 1.1fr 36px;gap:30px;align-items:center;padding:28px 30px;}
.ref-detail__strip small{display:block;color:var(--ref-gold);font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px;}
.ref-detail__strip h3{color:#fff;font-size:1.45rem;font-weight:500;letter-spacing:-.04em;margin:0;}
.ref-detail__strip>span{font-size:.63rem;line-height:1.55;color:rgba(255,255,255,.55);}
.ref-detail__strip>b{width:34px;height:34px;border-radius:50%;background:var(--ref-gold);display:grid;place-items:center;color:#fff;}

/* responsibility */
.ref-responsibility__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:0 34px;border-top:1px solid var(--ref-line);border-bottom:1px solid var(--ref-line);}
.ref-responsibility__grid article{padding:30px 0;border-bottom:1px solid var(--ref-line);}
.ref-responsibility__grid article:nth-child(3),.ref-responsibility__grid article:nth-child(4){border-bottom:0;}
.ref-responsibility__grid article:nth-child(even){padding-left:30px;border-left:1px solid var(--ref-line);}
.ref-responsibility__grid small{display:block;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ref-gold);margin-bottom:22px;}
.ref-responsibility__grid h3{font-size:1.28rem;line-height:1.16;color:var(--ref-ink);font-weight:500;letter-spacing:-.035em;max-width:25ch;}
.ref-quote{grid-row:span 2;background:var(--ref-navy-2);padding:34px!important;color:#fff;border-bottom:0!important;}
.ref-quote blockquote{font-size:clamp(1.65rem,3.1vw,3rem);line-height:1.04;letter-spacing:-.05em;font-weight:500;margin:0 0 56px;max-width:16ch;}
.ref-quote a{font-size:.65rem;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:5px;}
.ref-responsibility__bar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:26px;font-size:.82rem;}

/* sectors dark */
.ref-sectors-dark__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(46px,7vw,96px);align-items:start;}
.ref-sectors-dark__image picture{display:block;aspect-ratio:1.28;overflow:hidden;}
.ref-sectors-dark__image img{width:100%;height:100%;object-fit:cover;}
.ref-sectors-dark__image>span{display:block;margin-top:10px;font-size:.55rem;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em;}
.ref-sectors-dark__list h3{font-size:clamp(2rem,4vw,3.6rem);line-height:.98;letter-spacing:-.055em;font-weight:500;color:#fff;max-width:12ch;margin:0 0 28px;}
.ref-sectors-dark__list a{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:16px 0;border-top:1px solid rgba(255,255,255,.13);font-size:.82rem;font-weight:600;color:#fff;}
.ref-sectors-dark__list a:last-child{border-bottom:1px solid rgba(255,255,255,.13);}
.ref-sectors-dark__list a span{font-size:.55rem;color:var(--ref-gold);}
.ref-sectors-dark__list a small{font-size:.5rem;color:rgba(255,255,255,.38);font-weight:500;text-transform:uppercase;letter-spacing:.08em;}

/* contact */
.ref-contact{background:var(--ref-paper);padding:0;}
.ref-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:var(--ref-shell);padding-inline:0;}
.ref-contact__intro{background:var(--ref-gold);color:var(--ref-navy-2);padding:clamp(58px,7vw,100px) var(--ref-pad);}
.ref-contact__intro .ref-h2{color:var(--ref-navy-2);max-width:12ch;}
.ref-contact__intro>p:not(.ref-kicker){font-size:.76rem;line-height:1.65;max-width:34rem;margin:24px 0 42px;color:rgba(7,29,53,.72);}
.ref-contact__details{display:grid;grid-template-columns:115px 1fr;gap:12px 24px;padding-top:18px;border-top:1px solid rgba(7,29,53,.25);font-size:.66rem;line-height:1.5;}
.ref-contact__details span{color:rgba(7,29,53,.56);text-transform:uppercase;letter-spacing:.06em;}
.ref-contact__details a,.ref-contact__details strong{font-weight:600;}
.ref-contact__card{background:var(--ref-navy-2);color:#fff;padding:clamp(58px,7vw,100px) var(--ref-pad);}
.ref-contact__card>small{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ref-gold);}
.ref-contact__card>h3{font-size:clamp(2rem,3.8vw,3.4rem);line-height:.96;letter-spacing:-.05em;color:#fff;font-weight:500;margin:12px 0 34px;}
.ref-mini-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px;}
.ref-mini-form label{display:grid;gap:8px;font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);}
.ref-mini-form input,.ref-mini-form select,.ref-mini-form textarea{border:0;border-bottom:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:8px 0 12px;border-radius:0;outline:none;font-size:.72rem;text-transform:none;letter-spacing:0;}
.ref-mini-form input::placeholder,.ref-mini-form textarea::placeholder{color:rgba(255,255,255,.42);}
.ref-mini-form select{color:rgba(255,255,255,.75);}
.ref-mini-form select option{color:#111;background:#fff;}
.ref-mini-form__wide{grid-column:1/-1;}
.ref-mini-form__action{padding-top:8px;display:flex;justify-content:flex-end;}

/* footer */
.ref-footer{background:#05182c;color:#fff;padding:44px 0 28px;}
.ref-footer__top{display:flex;justify-content:space-between;align-items:center;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.13);}
.ref-footer__logo{background:#fff;padding:8px 10px;display:inline-flex;}
.ref-footer__logo img{width:150px;height:auto;}
.ref-footer__round{width:48px;height:48px;border-radius:50%;background:var(--ref-gold);color:#fff;display:grid;place-items:center;font-size:1rem;}
.ref-footer h2{font-size:clamp(3rem,6.6vw,6.7rem);line-height:.9;letter-spacing:-.065em;color:#fff;font-weight:500;margin:64px 0 56px;max-width:12ch;}
.ref-footer h2 em{font-style:normal;color:var(--ref-gold);}
.ref-footer__grid{display:grid;grid-template-columns:1.35fr .65fr .65fr 1fr;gap:36px;padding-top:26px;border-top:1px solid rgba(255,255,255,.13);font-size:.64rem;line-height:1.7;color:rgba(255,255,255,.52);}
.ref-footer__grid nav,.ref-footer__grid>div{display:flex;flex-direction:column;gap:4px;}
.ref-footer__grid a{color:#fff;}
.ref-footer__grid>div span{margin-top:7px;}
.ref-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);font-size:.55rem;color:rgba(255,255,255,.38);}
.ref-footer__bottom a{color:inherit;}

/* animation tuning */
.home-ref [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.home-ref [data-reveal].is-in{opacity:1;transform:none;}
.home-ref [data-reveal-mask]{clip-path:inset(0 0 100% 0);transform:translateY(12px);transition:clip-path .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1);}
.home-ref [data-reveal-mask].is-in{clip-path:inset(0 0 0 0);transform:none;}

/* Internal pages: same design language, without changing content architecture */
body:not(.home-ref){background:var(--ref-paper);}
body:not(.home-ref) .header{background:var(--ref-paper);border-bottom:1px solid var(--ref-line);height:78px;}
body:not(.home-ref) .header__inner{height:78px;max-width:var(--ref-shell);padding-inline:var(--ref-pad);}
body:not(.home-ref) .nav__link{font-size:.7rem;color:var(--ref-navy);}
body:not(.home-ref) .header__cta{border-radius:999px;background:var(--ref-gold);color:#fff;border:0;font-size:.7rem;min-height:40px;padding:0 15px;}
body:not(.home-ref) .brand-lockup--art{background:#fff;}
body:not(.home-ref) .phero{background:var(--ref-navy-2);padding:clamp(135px,15vw,210px) 0 clamp(78px,9vw,130px);color:#fff;border:0;}
body:not(.home-ref) .phero .wrap{max-width:var(--ref-shell);padding-inline:var(--ref-pad);}
body:not(.home-ref) .phero__eyebrow{color:var(--ref-gold);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;}
body:not(.home-ref) .phero .h-page{font-size:clamp(3.2rem,6vw,6rem);line-height:.93;letter-spacing:-.06em;color:#fff;font-weight:500;}
body:not(.home-ref) .phero__aside{color:rgba(255,255,255,.62);font-size:.78rem;line-height:1.7;}
body:not(.home-ref) .section{padding-block:clamp(76px,8vw,126px);}
body:not(.home-ref) .section .wrap{max-width:var(--ref-shell);padding-inline:var(--ref-pad);}
body:not(.home-ref) .section--tone{background:var(--ref-paper-2);}
body:not(.home-ref) .section--navy{background:var(--ref-navy-2);}
body:not(.home-ref) .label{font-size:.62rem;color:var(--ref-gold);letter-spacing:.14em;}
body:not(.home-ref) .h-section{font-size:clamp(2.2rem,4.4vw,4.2rem);line-height:.97;letter-spacing:-.055em;font-weight:500;}
body:not(.home-ref) .h-sub{font-size:1.15rem;letter-spacing:-.03em;}
body:not(.home-ref) .lede{font-size:1rem;line-height:1.65;}
body:not(.home-ref) .pillars{gap:0;border-top:1px solid var(--ref-line);border-left:1px solid var(--ref-line);}
body:not(.home-ref) .pillar{border-right:1px solid var(--ref-line);border-bottom:1px solid var(--ref-line);padding:26px;}
body:not(.home-ref) .pillar__name{font-size:1rem;}
body:not(.home-ref) .btn{border-radius:999px;min-height:44px;font-size:.72rem;}
body:not(.home-ref) .btn--primary{background:var(--ref-gold);color:#fff;border-color:var(--ref-gold);}
body:not(.home-ref) .btn--secondary{border-color:var(--ref-navy);}
body:not(.home-ref) .fig{border-radius:0!important;overflow:hidden;}
body:not(.home-ref) .footer{background:#05182c;padding-top:70px;}
body:not(.home-ref) .footer .wrap{max-width:var(--ref-shell);padding-inline:var(--ref-pad);}
body:not(.home-ref) .footer__statement{font-size:clamp(3rem,6vw,5.8rem);line-height:.91;letter-spacing:-.06em;font-weight:500;}
body:not(.home-ref) .footer__statement span{color:var(--ref-gold);}

@media (max-width:1180px){
  .header.ref-header .nav--desktop{display:none;}
  .header.ref-header .header__cta{margin-left:auto;}
  body:not(.home-ref) .nav--desktop{display:none;}
  body:not(.home-ref) .header__cta{margin-left:auto;}
}

@media (max-width:900px){
  .ref-heading-row,.ref-feature-head,.ref-feature-foot,.ref-standard__grid,.ref-principles__intro,.ref-detail__grid,.ref-sectors-dark__grid{grid-template-columns:1fr;}
  .ref-sidecopy{justify-self:start;max-width:34rem;}
  .ref-standard__items{margin-top:10px;}
  .ref-workgrid{grid-template-columns:1fr 1fr;}
  .ref-service--wide,.ref-service--landscape{grid-column:1/-1;}
  .ref-principles__intro .ref-kicker,.ref-principles__intro .ref-h2,.ref-principles__intro>p:last-child{grid-column:1;grid-row:auto;margin-top:0;}
  .ref-principles__rows article{grid-template-columns:42px 1fr 34px;}
  .ref-principles__rows article p{grid-column:2;}
  .ref-principles__rows article i{grid-column:3;grid-row:1;}
  .ref-process__track{grid-template-columns:repeat(3,1fr);row-gap:35px;}
  .ref-process__track:before{display:none;}
  .ref-process__track article{min-height:190px;border-top:1px solid var(--ref-line);padding-top:18px;}
  .ref-process__track b{margin-top:-35px;}
  .ref-detail__image picture{aspect-ratio:1.45;}
  .ref-responsibility__grid{grid-template-columns:1fr;gap:0;}
  .ref-quote{grid-row:auto;}
  .ref-responsibility__grid article:nth-child(even){padding-left:0;border-left:0;}
  .ref-responsibility__grid article:nth-child(3){border-bottom:1px solid var(--ref-line);}
  .ref-contact__grid{grid-template-columns:1fr;}
  .ref-footer__grid{grid-template-columns:1.2fr .8fr .8fr;}
  .ref-footer__grid>div{grid-column:1/-1;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);}
}

@media (max-width:760px){
  :root{--ref-pad:20px;--ref-section:78px;}
  .header.ref-header,.header.ref-header .header__inner,body:not(.home-ref) .header,body:not(.home-ref) .header__inner{height:66px;}
  .brand-lockup--art{padding:6px 7px;min-width:auto;}
  .brand-lockup--art img{width:118px;}
  .header.ref-header .header__cta,body:not(.home-ref) .header__cta{display:none;}
  .ref-hero{min-height:720px;height:100svh;max-height:none;}
  .ref-hero__veil{background:linear-gradient(180deg,rgba(4,19,35,.32) 0%,rgba(4,19,35,.6) 42%,rgba(4,19,35,.91) 100%);}
  .ref-hero__media img{object-position:center 32%;}
  .ref-hero__inner{padding-top:90px;padding-bottom:22px;}
  .ref-hero__content{padding-top:clamp(200px,42vh,330px);}
  .ref-display{font-size:clamp(3rem,15vw,4.7rem);max-width:8ch;}
  .ref-hero__copy{font-size:.82rem;max-width:31rem;}
  .ref-hero__foot{gap:7px;}
  .ref-hero__foot span{padding:6px 8px;font-size:.56rem;}
  .ref-heading-row{gap:26px;margin-bottom:42px;}
  .ref-h2{font-size:clamp(2.35rem,12vw,3.9rem);max-width:12ch;}
  .ref-standard__items{grid-template-columns:1fr;}
  .ref-standard__items article{min-height:auto;padding:24px 20px;}
  .ref-standard__bar{align-items:flex-start;flex-direction:column;}
  .ref-workgrid{grid-template-columns:1fr;gap:16px;}
  .ref-service,.ref-service--portrait,.ref-service--landscape,.ref-service--accent{grid-column:auto;min-height:390px;}
  .ref-service--portrait{min-height:420px;}
  .ref-service--accent{min-height:330px;}
  .ref-feature-head,.ref-feature-foot{gap:26px;}
  .ref-feature-meta{border-left:0;border-top:1px solid var(--ref-line);padding:18px 0 0;}
  .ref-feature-image{height:58vh;min-height:400px;}
  .ref-feature-foot{grid-template-columns:1fr;}
  .ref-principles__rows article{grid-template-columns:34px 1fr 30px;gap:12px 16px;padding:23px 0;}
  .ref-principles__rows h3{font-size:1.12rem;}
  .ref-principles__rows p{font-size:.65rem;}
  .ref-principles__end{align-items:flex-start;flex-direction:column;}
  .ref-process__track{grid-template-columns:1fr;gap:0;}
  .ref-process__track article,.ref-process__track article:not(:first-child){min-height:auto;padding:26px 0 26px 58px;border-top:1px solid var(--ref-line);}
  .ref-process__track article:last-child{border-bottom:1px solid var(--ref-line);}
  .ref-process__track b{position:absolute;left:0;top:23px;margin:0;}
  .ref-process__track small{margin-bottom:7px;}
  .ref-process__footer{align-items:flex-start;flex-direction:column;}
  .ref-detail__image picture{aspect-ratio:1;}
  .ref-detail__list>h3{font-size:2.3rem;}
  .ref-detail__strip{grid-template-columns:1fr 34px;padding:24px 20px;gap:20px;}
  .ref-detail__strip>span{grid-column:1/-1;grid-row:2;}
  .ref-detail__strip>b{grid-column:2;grid-row:1;}
  .ref-responsibility__grid{border-bottom:0;}
  .ref-responsibility__grid article{padding:24px 0;}
  .ref-quote{padding:26px!important;}
  .ref-quote blockquote{font-size:2rem;margin-bottom:40px;}
  .ref-responsibility__bar{align-items:flex-start;flex-direction:column;}
  .ref-sectors-dark__image picture{aspect-ratio:1;}
  .ref-sectors-dark__list h3{font-size:2.45rem;}
  .ref-sectors-dark__list a{grid-template-columns:34px 1fr;}
  .ref-sectors-dark__list a small{grid-column:2;}
  .ref-contact__intro,.ref-contact__card{padding:70px 20px;}
  .ref-contact__details{grid-template-columns:1fr;gap:5px;}
  .ref-contact__details a,.ref-contact__details strong{margin-bottom:12px;}
  .ref-mini-form{grid-template-columns:1fr;}
  .ref-mini-form__wide{grid-column:auto;}
  .ref-mini-form__action{justify-content:flex-start;}
  .ref-footer{padding-top:30px;}
  .ref-footer__top{padding-bottom:28px;}
  .ref-footer__logo img{width:122px;}
  .ref-footer__round{width:42px;height:42px;}
  .ref-footer h2{font-size:clamp(3rem,14vw,4.8rem);margin:48px 0 38px;}
  .ref-footer__grid{grid-template-columns:1fr 1fr;gap:28px;}
  .ref-footer__grid>p{grid-column:1/-1;max-width:29rem;}
  .ref-footer__bottom{flex-direction:column;}
  body:not(.home-ref) .phero{padding-top:125px;}
  body:not(.home-ref) .phero .h-page{font-size:clamp(2.8rem,13vw,4.6rem);}
}

@media (max-width:420px){
  .ref-display{font-size:3.45rem;}
  .ref-actions{align-items:flex-start;flex-direction:column;gap:12px;}
  .ref-button{min-height:42px;}
  .ref-standard__bar span{max-width:20rem;}
  .ref-feature-image{min-height:360px;}
}

@media (prefers-reduced-motion:reduce){
  .home-ref [data-reveal],.home-ref [data-reveal-mask]{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;}
  .ref-service picture img,.ref-feature-image img{transition:none!important;}
}

@media (max-width:1180px){
  .nav-toggle{display:inline-flex!important;}
}

/* ========================================================================== 
   REFINEMENT 02
   Header, hero alignment, action motion, client-experience section and
   project enquiry tuned to the supplied desktop/mobile reference direction.
   ========================================================================== */

/* Header: true overlay at the top, paper only after scrolling */
.header.ref-header{
  height:82px!important;
  padding-top:0!important;
  background:transparent!important;
  border-bottom:1px solid rgba(255,255,255,.22)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  pointer-events:auto!important;
}
.header.ref-header .header__inner{
  width:min(calc(100% - 40px),var(--ref-shell))!important;
  max-width:var(--ref-shell)!important;
  min-height:82px!important;
  height:82px!important;
  margin-inline:auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(20px,2vw,34px)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.header.ref-header.is-solid{
  background:rgba(242,239,231,.97)!important;
  border-bottom-color:rgba(10,39,71,.14)!important;
  box-shadow:0 10px 30px rgba(7,29,53,.06)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
.header.ref-header.is-solid .header__inner{background:transparent!important;box-shadow:none!important;}
.header.ref-header .header__mark{min-width:0!important;justify-self:start;}
.brand-lockup--art,
.header.ref-header .brand-lockup--art,
body:not(.home-ref) .brand-lockup--art,
.ref-footer__logo{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}
.brand-lockup--art img{width:154px!important;height:auto!important;filter:drop-shadow(0 1px 1px rgba(255,255,255,.18));}
.header.ref-header .nav{margin:0!important;justify-self:center!important;gap:clamp(11px,1.15vw,18px)!important;}
.header.ref-header .nav__link{font-size:.68rem!important;color:rgba(255,255,255,.94)!important;font-weight:600!important;padding:30px 0!important;white-space:nowrap;}
.header.ref-header .nav__link:after{bottom:20px!important;}
.header.ref-header.is-solid .nav__link{color:var(--ref-navy)!important;}
.ref-cta{
  justify-self:end!important;
  min-height:42px!important;
  padding:0 8px 0 16px!important;
  gap:12px!important;
  background:var(--ref-gold)!important;
  color:var(--ref-navy-2)!important;
  border-radius:999px!important;
  font-size:.68rem!important;
  font-weight:700!important;
  margin:0!important;
}
.ref-cta span{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:var(--ref-navy-2);color:#fff!important;line-height:1;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),background .28s ease,color .28s ease!important;
}
.ref-cta:hover,.ref-cta:focus-visible{background:#c69943!important;color:var(--ref-navy-2)!important;transform:none!important;}
.ref-cta:hover span,.ref-cta:focus-visible span{transform:rotate(45deg)!important;color:#fff!important;}
.header.ref-header .nav-toggle{justify-self:end;color:#fff!important;margin-left:0!important;}
.header.ref-header.is-solid .nav-toggle{color:var(--ref-navy)!important;}

/* Hero: content sits in the visual middle like the supplied reference */
.ref-hero{min-height:720px;height:100svh;max-height:980px;}
.ref-hero__veil{
  background:
    linear-gradient(90deg,rgba(4,19,35,.84) 0%,rgba(4,19,35,.62) 34%,rgba(4,19,35,.22) 67%,rgba(4,19,35,.12) 100%),
    linear-gradient(180deg,rgba(4,19,35,.34) 0%,transparent 24%,transparent 70%,rgba(4,19,35,.34) 100%);
}
.ref-hero__inner{
  justify-content:center!important;
  padding-top:82px!important;
  padding-bottom:28px!important;
}
.ref-hero__content{
  max-width:680px!important;
  margin:0!important;
  padding-top:0!important;
  transform:translateY(-1.5vh);
}
.ref-chip{margin-bottom:22px;}
.ref-display{font-size:clamp(3.75rem,6.45vw,6.45rem);max-width:8.6ch;margin-bottom:22px;}
.ref-hero__lead{font-size:clamp(1.02rem,1.15vw,1.22rem);margin-bottom:8px;}
.ref-hero__copy{max-width:530px;font-size:.86rem;}
.ref-actions{margin-top:24px;}
.ref-hero__foot{position:absolute;left:var(--ref-pad);right:var(--ref-pad);bottom:26px;padding-top:14px;}
.ref-hero-animate{opacity:0;transform:translateY(18px);animation:refHeroIn .72s cubic-bezier(.22,.61,.36,1) forwards;}
.ref-hero-animate--1{animation-delay:.08s}.ref-hero-animate--2{animation-delay:.16s}.ref-hero-animate--3{animation-delay:.25s}.ref-hero-animate--4{animation-delay:.32s}.ref-hero-animate--5{animation-delay:.4s}.ref-hero-animate--6{animation-delay:.5s}
@keyframes refHeroIn{to{opacity:1;transform:translateY(0)}}

/* Reference-style action pills and circular arrow motion */
.ref-button{color:var(--ref-navy-2)!important;transition:transform .25s ease,background .25s ease,color .25s ease;}
.ref-button--gold{background:var(--ref-gold)!important;color:var(--ref-navy-2)!important;}
.ref-button b,
.ref-feature-image>i,
.ref-detail__strip>b,
.ref-footer__round,
.ref-circle-link,
.ref-service--accent span b{
  transition:transform .3s cubic-bezier(.22,.61,.36,1),background .25s ease,color .25s ease!important;
  transform-origin:center;
}
.ref-button--gold b{background:var(--ref-navy-2)!important;color:#fff!important;}
.ref-button:hover,.ref-button:focus-visible{transform:translateY(-1px);}
.ref-button:hover b,.ref-button:focus-visible b,
.ref-feature-image:hover>i,.ref-feature-image:focus-visible>i,
.ref-detail__strip:hover>b,.ref-detail__strip:focus-visible>b,
.ref-footer__round:hover,.ref-footer__round:focus-visible,
.ref-circle-link:hover span,.ref-circle-link:focus-visible span,
.ref-service--accent:hover span b,.ref-service--accent:focus-visible span b{
  transform:rotate(45deg)!important;
}
.ref-textlink span{display:inline-block;transition:transform .26s ease;}
.ref-textlink:hover span,.ref-textlink:focus-visible span{transform:translateX(4px);}

/* What clients remember: same editorial cadence as the supplied reference, with verified Deino language */
.ref-memory{padding-block:clamp(82px,9vw,138px);}
.ref-memory__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.55fr);gap:clamp(44px,8vw,130px);align-items:end;margin-bottom:clamp(42px,5vw,70px);}
.ref-memory__head .ref-h2{max-width:9ch;}
.ref-memory__head>p{margin:0;max-width:30rem;justify-self:end;font-size:.82rem;line-height:1.72;color:rgba(11,22,36,.64);}
.ref-memory__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:34px;align-items:stretch;}
.ref-memory__feature{background:var(--ref-navy-2);color:#fff;padding:clamp(30px,4.2vw,58px);min-height:420px;display:flex;flex-direction:column;}
.ref-memory__feature small,.ref-memory__stack small{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ref-gold);font-weight:700;}
.ref-memory__feature blockquote{font-size:clamp(2rem,3.5vw,3.35rem);line-height:1.03;letter-spacing:-.052em;font-weight:500;margin:auto 0 50px;max-width:15ch;}
.ref-memory__meta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:.62rem;color:rgba(255,255,255,.58);}
.ref-circle-link{width:42px;height:42px;border-radius:50%;border:1px solid rgba(181,138,58,.55);display:grid;place-items:center;color:#fff;flex:none;}
.ref-circle-link span{display:grid;place-items:center;transition:transform .3s cubic-bezier(.22,.61,.36,1);}
.ref-memory__stack{display:grid;grid-template-rows:1fr 1fr;border-top:1px solid var(--ref-line);}
.ref-memory__stack article{padding:26px 0 30px;border-bottom:1px solid var(--ref-line);display:flex;flex-direction:column;}
.ref-memory__stack h3{font-size:clamp(1.22rem,2vw,1.72rem);line-height:1.12;letter-spacing:-.04em;font-weight:500;margin:30px 0 auto;}
.ref-memory__stack a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:30px;margin-top:30px;border-top:1px solid var(--ref-line);font-size:.66rem;font-weight:700;color:var(--ref-navy);}
.ref-memory__stack a span{display:inline-block;transition:transform .26s ease;}
.ref-memory__stack a:hover span{transform:rotate(45deg);}
.ref-memory__end{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:34px;padding-top:24px;border-top:1px solid var(--ref-line);font-size:.8rem;}

/* Project enquiry: full paper field with a dark form card, rather than a hard 50/50 colour split */
.ref-contact{background:var(--ref-paper)!important;padding:clamp(86px,9vw,138px) 0!important;border-top:1px solid var(--ref-line);}
.ref-contact__wrap{max-width:var(--ref-shell);}
.ref-contact__grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(420px,.78fr)!important;gap:clamp(58px,8vw,120px)!important;align-items:center!important;max-width:none!important;padding-inline:var(--ref-pad)!important;}
.ref-contact__intro{background:transparent!important;color:var(--ref-ink)!important;padding:0!important;}
.ref-contact__intro .ref-h2{color:var(--ref-ink)!important;max-width:10.5ch;}
.ref-contact__intro>p:not(.ref-kicker){font-size:.82rem!important;line-height:1.72!important;max-width:35rem!important;margin:24px 0 46px!important;color:rgba(11,22,36,.64)!important;}
.ref-contact__details{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding-top:0!important;border-top:1px solid var(--ref-line)!important;}
.ref-contact__details>div{display:grid;grid-template-columns:135px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--ref-line);font-size:.68rem;line-height:1.5;}
.ref-contact__details span{color:rgba(11,22,36,.48)!important;}
.ref-contact__details a,.ref-contact__details strong{color:var(--ref-ink);font-weight:600;}
.ref-contact__card{background:var(--ref-navy-2)!important;color:#fff!important;padding:clamp(34px,4vw,52px)!important;box-shadow:0 26px 60px rgba(7,29,53,.10);}
.ref-contact__card>h3{font-size:clamp(2.55rem,4vw,4rem)!important;max-width:8ch;margin:12px 0 14px!important;}
.ref-contact__card-intro{font-size:.68rem;line-height:1.65;color:rgba(255,255,255,.5);max-width:31rem;margin:0 0 30px;}
.ref-mini-form input,.ref-mini-form select,.ref-mini-form textarea{font-size:.78rem;}
.ref-mini-form__action button{font-family:inherit;cursor:pointer;}

/* Footer logo remains the supplied transparent artwork */
.ref-footer__logo img{width:150px;height:auto;filter:none;}

@media (max-width:1180px){
  .header.ref-header .header__inner{display:flex!important;}
  .header.ref-header .header__cta{margin-left:auto!important;}
}

@media (max-width:900px){
  .ref-memory__head,.ref-memory__grid{grid-template-columns:1fr;}
  .ref-memory__head>p{justify-self:start;max-width:38rem;}
  .ref-memory__feature{min-height:360px;}
  .ref-memory__stack{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:28px;border-top:0;}
  .ref-memory__stack article{border-top:1px solid var(--ref-line);}
  .ref-contact__grid{grid-template-columns:1fr!important;gap:52px!important;}
  .ref-contact__card{max-width:680px;}
}

@media (max-width:760px){
  .header.ref-header{height:68px!important;}
  .header.ref-header .header__inner{width:calc(100% - 32px)!important;min-height:68px!important;height:68px!important;}
  .brand-lockup--art img{width:132px!important;}
  .header.ref-header .nav-toggle{display:inline-flex!important;}
  .ref-hero{min-height:690px;height:100svh;}
  .ref-hero__inner{padding-top:68px!important;padding-bottom:20px!important;}
  .ref-hero__content{transform:translateY(-2vh);max-width:100%!important;}
  .ref-chip{font-size:.58rem;padding:6px 8px;margin-bottom:18px;}
  .ref-display{font-size:clamp(3rem,15vw,4.55rem);max-width:7.3ch;line-height:.91;margin-bottom:18px;}
  .ref-hero__lead{font-size:1rem;max-width:24rem;}
  .ref-hero__copy{font-size:.78rem;line-height:1.58;max-width:28rem;}
  .ref-actions{gap:14px;margin-top:20px;}
  .ref-button{min-height:42px;padding-left:15px;font-size:.67rem;}
  .ref-hero__foot{left:20px;right:20px;bottom:18px;display:none;}
  .ref-memory__head{gap:20px;margin-bottom:34px;}
  .ref-memory__feature{min-height:330px;padding:28px 22px;}
  .ref-memory__feature blockquote{font-size:clamp(1.85rem,9vw,2.6rem);margin:54px 0 40px;}
  .ref-memory__stack{grid-template-columns:1fr;gap:0;}
  .ref-memory__stack article{padding:24px 0;}
  .ref-memory__end{align-items:flex-start;flex-direction:column;}
  .ref-contact{padding:76px 0!important;}
  .ref-contact__grid{padding-inline:20px!important;gap:38px!important;}
  .ref-contact__intro .ref-h2{font-size:clamp(2.55rem,12vw,3.8rem);}
  .ref-contact__details>div{grid-template-columns:1fr;gap:7px;padding:14px 0;}
  .ref-contact__card{padding:30px 22px!important;margin-inline:0;}
  .ref-contact__card>h3{font-size:clamp(2.45rem,12vw,3.5rem)!important;}
  .ref-mini-form{grid-template-columns:1fr!important;}
  .ref-mini-form__wide{grid-column:auto!important;}
  .ref-mini-form__action{justify-content:flex-start!important;}
  .ref-footer__logo{background:transparent!important;padding:0!important;}
}

@media (prefers-reduced-motion:reduce){
  .ref-hero-animate{opacity:1;transform:none;animation:none!important;}
  .ref-button b,.ref-feature-image>i,.ref-detail__strip>b,.ref-footer__round,.ref-circle-link span,.ref-service--accent span b{transition:none!important;}
}

/* Contrast-safe transparent logo treatment: same artwork, reversed only on dark surfaces. */
.brand-lockup--adaptive{position:relative;display:block!important;width:60px;height:54px;}
.brand-lockup--adaptive .brand-logo{position:absolute;left:0;top:50%;width:auto!important;height:54px!important;max-width:60px!important;transform:translateY(-50%);transition:opacity .25s ease;filter:none!important;object-fit:contain;}
.brand-lockup--adaptive .brand-logo--light{opacity:1;}
.brand-lockup--adaptive .brand-logo--color{opacity:0;}
.header.ref-header.is-solid .brand-lockup--adaptive .brand-logo--light{opacity:0;}
.header.ref-header.is-solid .brand-lockup--adaptive .brand-logo--color{opacity:1;}
@media (max-width:760px){
  .brand-lockup--adaptive{width:52px;height:46px;}
  .brand-lockup--adaptive .brand-logo{width:auto!important;height:46px!important;max-width:52px!important;}
}
.ref-service--accent span b{
  width:30px;height:30px;border-radius:50%;background:var(--ref-navy-2);color:#fff;
  display:grid;place-items:center;font-weight:500;line-height:1;
}

/* ========================================================================== 
   REFINEMENT 03
   Unified transparent navigation, geometric arrow icons, footer simplification
   and mobile action controls.
   ========================================================================== */

/* Clean geometric arrow. No emoji/system icon rendering on mobile. */
.action-arrow{
  --arrow-size:30px;
  --arrow-bg:var(--ref-navy-2,#071d35);
  --arrow-fg:#fff;
  width:var(--arrow-size);
  height:var(--arrow-size);
  flex:0 0 var(--arrow-size);
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  position:relative;
  background:var(--arrow-bg);
  color:var(--arrow-fg);
  vertical-align:middle;
  transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}
.action-arrow::before{
  content:"";
  width:13px;
  height:13px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h10M8.5 4.5 12 8l-3.5 3.5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h10M8.5 4.5 12 8l-3.5 3.5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform:rotate(-45deg);
  transform-origin:center;
  transition:transform .34s cubic-bezier(.22,.61,.36,1);
}
a:hover>.action-arrow::before,
a:focus-visible>.action-arrow::before,
button:hover>.action-arrow::before,
button:focus-visible>.action-arrow::before,
.ref-feature-image:hover>.action-arrow::before,
.ref-feature-image:focus-visible>.action-arrow::before{
  transform:rotate(0deg);
}
.action-arrow--header{--arrow-size:26px;}
.action-arrow--menu{--arrow-size:32px;}
.action-arrow--button{--arrow-size:30px;}
.action-arrow--text{--arrow-size:27px;background:transparent;border:1px solid currentColor;}
.action-arrow--footer{--arrow-size:18px;background:transparent;}
.action-arrow--footer::before{width:14px;height:14px;}
.action-arrow--feature{--arrow-size:42px;background:var(--ref-gold);}
.action-arrow--card{--arrow-size:30px;}

/* Internal buttons now use the same rounded action language as the homepage. */
.btn{
  border-radius:999px!important;
  gap:.7rem;
  padding-left:1.35rem!important;
  padding-right:.5rem!important;
  white-space:nowrap;
}
.btn .action-arrow{margin-left:.12rem;}
.btn--primary .action-arrow{--arrow-bg:#fff;--arrow-fg:var(--navy);}
.btn--primary:hover .action-arrow,.btn--primary:focus-visible .action-arrow{--arrow-bg:var(--navy);--arrow-fg:#fff;}
.btn--secondary .action-arrow{--arrow-bg:var(--navy);--arrow-fg:#fff;}
.btn--secondary:hover .action-arrow,.btn--secondary:focus-visible .action-arrow{--arrow-bg:#fff;--arrow-fg:var(--navy);}
.section--navy .btn--primary .action-arrow,.on-navy .btn--primary .action-arrow{--arrow-bg:var(--navy);--arrow-fg:#fff;}
.section--navy .btn--secondary .action-arrow,.on-navy .btn--secondary .action-arrow{--arrow-bg:#fff;--arrow-fg:var(--navy);}

/* Homepage action buttons */
.ref-button{gap:10px!important;padding-right:7px!important;}
.ref-button .action-arrow{--arrow-size:31px;}
.ref-button--gold .action-arrow{--arrow-bg:var(--ref-navy-2);--arrow-fg:#fff;}
.ref-textlink{gap:9px!important;display:inline-flex!important;align-items:center!important;}
.ref-textlink--light .action-arrow{color:#fff;border-color:rgba(255,255,255,.48);}
.ref-textlink:not(.ref-textlink--light) .action-arrow{color:var(--ref-navy-2);border-color:rgba(7,29,53,.28);}
.ref-footer__round .action-arrow,.ref-circle-link .action-arrow{background:transparent!important;border:0!important;}
.ref-footer__round:hover .action-arrow::before,.ref-circle-link:hover .action-arrow::before,
.ref-footer__round:focus-visible .action-arrow::before,.ref-circle-link:focus-visible .action-arrow::before{transform:rotate(0deg);}
.ref-footer__round .action-arrow::before,.ref-circle-link .action-arrow::before{transform:rotate(-45deg);}
.ref-feature-image>.action-arrow{right:20px;bottom:20px;z-index:2;position:absolute!important;color:#fff!important;}

/* One navigation language throughout the entire site. */
.header.ref-header{
  height:78px!important;
  padding:0!important;
  background:transparent!important;
  border-bottom:1px solid rgba(255,255,255,.20)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.header.ref-header .header__inner{
  width:min(calc(100% - 40px),var(--ref-shell))!important;
  max-width:var(--ref-shell)!important;
  min-height:78px!important;
  height:78px!important;
  padding:0!important;
  margin-inline:auto!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(18px,2vw,32px)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.header.ref-header.is-solid,
body.nav-open .header.ref-header{
  background:rgba(247,246,242,.97)!important;
  border-bottom-color:rgba(10,39,71,.13)!important;
  box-shadow:0 10px 30px rgba(7,29,53,.055)!important;
  backdrop-filter:blur(13px)!important;
  -webkit-backdrop-filter:blur(13px)!important;
}
.header.ref-header .brand-lockup--adaptive{width:58px;height:52px;}
.header.ref-header .brand-lockup--adaptive .brand-logo{width:auto!important;height:52px!important;max-width:58px!important;}
.header.ref-header .nav{justify-self:center!important;margin:0!important;gap:clamp(10px,1.12vw,17px)!important;}
.header.ref-header .nav__link{font-size:.67rem!important;font-weight:600!important;padding:27px 0!important;white-space:nowrap;}
.header.ref-header .nav__link::after{bottom:18px!important;}
.header.ref-header .ref-cta{display:inline-flex!important;justify-self:end!important;margin:0!important;min-height:40px!important;padding:0 7px 0 15px!important;gap:10px!important;white-space:nowrap!important;}
.header.ref-header .nav-toggle{display:none!important;justify-self:end!important;margin:0!important;}

/* Internal pages: same transparent bar, but appropriate dark logo/text over light hero surfaces. */
.internal-ref .header.ref-header:not(.is-solid):not(.nav-open){border-bottom-color:rgba(10,39,71,.10)!important;}
/* Internal pages open on the navy page hero, so the transparent header must
   stay light for legibility. It flips to navy once .is-solid engages. */
.internal-ref .header.ref-header:not(.is-solid) .brand-logo--light{opacity:1!important;}
.internal-ref .header.ref-header:not(.is-solid) .brand-logo--color{opacity:0!important;}
.internal-ref .header.ref-header:not(.is-solid) .nav__link,
.internal-ref .header.ref-header:not(.is-solid) .nav-toggle{color:#fff!important;}
.internal-ref .header.ref-header:not(.is-solid) .nav__link[aria-current="page"]{color:var(--ref-gold)!important;}
.internal-ref .header.ref-header:not(.is-solid){border-bottom-color:transparent!important;}

/* When menu is open the topbar always remains readable on the light menu surface. */
body.nav-open .header.ref-header .brand-logo--light{opacity:0!important;}
body.nav-open .header.ref-header .brand-logo--color{opacity:1!important;}
body.nav-open .header.ref-header .nav-toggle{color:var(--ref-navy)!important;}

/* Tablet: CTA remains visible until there is genuinely not enough room. */
@media (max-width:1180px){
  .header.ref-header .header__inner{grid-template-columns:auto minmax(0,1fr) auto auto!important;gap:14px!important;}
  .header.ref-header .nav--desktop{display:none!important;}
  .header.ref-header .ref-cta{display:inline-flex!important;grid-column:3;}
  .header.ref-header .nav-toggle{display:inline-flex!important;grid-column:4;}
}
@media (max-width:860px){
  .header.ref-header .header__inner{grid-template-columns:auto minmax(0,1fr) auto!important;}
  .header.ref-header .ref-cta{display:none!important;}
  .header.ref-header .nav-toggle{grid-column:3;}
}
@media (max-width:760px){
  .header.ref-header{height:72px!important;}
  .header.ref-header .header__inner{width:calc(100% - 32px)!important;height:72px!important;min-height:72px!important;}
  .header.ref-header .brand-lockup--adaptive{width:52px;height:46px;}
  .header.ref-header .brand-lockup--adaptive .brand-logo{width:auto!important;height:46px!important;max-width:52px!important;}
  .header.ref-header .nav-toggle{min-width:74px!important;min-height:42px!important;gap:10px!important;font-size:.7rem!important;}
  .nav-toggle__bars{width:25px!important;}
  body:not(.home-ref) .phero{padding-top:112px!important;}
}
@media (max-width:390px){
  .header.ref-header .header__inner{width:calc(100% - 24px)!important;}
  .header.ref-header .brand-lockup--adaptive{width:48px;height:42px;}
  .header.ref-header .brand-lockup--adaptive .brand-logo{width:auto!important;height:42px!important;max-width:48px!important;}
  .header.ref-header .nav-toggle{min-width:68px!important;font-size:.66rem!important;}
}

/* Mobile navigation CTA so the commercial route is always available. */
.navpanel__foot{display:grid;gap:22px!important;}
.navpanel__cta{
  width:min(100%,360px);
  min-height:50px;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:7px 8px 7px 18px;
  border-radius:999px;
  background:var(--gold)!important;
  color:var(--navy)!important;
  border:0!important;
  font-size:.82rem;
  font-weight:700;
}
.navpanel__cta .action-arrow{--arrow-bg:var(--navy);--arrow-fg:#fff;}
.navpanel__meta{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;}
.navpanel__meta p{margin:0;}
.navpanel__meta>a{border-bottom:1px solid rgba(10,39,71,.25)!important;color:var(--navy)!important;}

/* Footer: no logo artwork anywhere, by request. */
.footer__mark,.ref-footer__logo{display:none!important;}
.footer__tagline{margin-top:0!important;}
.ref-footer__brandline{
  font-size:.64rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  color:rgba(255,255,255,.66);
}
.ref-footer__top{min-height:46px;}

/* Keep actions readable and tap-friendly on small screens. */
@media (max-width:599px){
  .btn-row{align-items:stretch;}
  .btn-row .btn{width:100%;min-height:52px;justify-content:space-between!important;text-align:left;}
  .btn{font-size:.78rem!important;}
  .ref-button{min-height:46px!important;font-size:.78rem!important;}
  .ref-textlink{min-height:42px;}
  .action-arrow{--arrow-size:29px;}
  .action-arrow--text{--arrow-size:28px;}
  .ref-actions{width:100%;align-items:stretch!important;}
  .ref-actions .ref-button{width:100%;justify-content:space-between;}
  .ref-actions .ref-textlink{width:max-content;max-width:100%;}
  .ref-footer__round{width:44px!important;height:44px!important;}
}

@media (prefers-reduced-motion:reduce){
  .action-arrow::before{transition:none!important;}
}
.ref-service--accent>span{gap:12px;}
.ref-service--accent>span .action-arrow{--arrow-size:30px;--arrow-bg:var(--ref-navy-2);--arrow-fg:#fff;}
.tlink{display:inline-flex;align-items:center;gap:.55rem;}
.tlink .action-arrow--text{--arrow-size:25px;color:currentColor;border-color:currentColor;}
.pcard__meta .action-arrow--card{--arrow-bg:var(--navy);--arrow-fg:#fff;}
/* Keep the geometric icon stationary while only the arrow glyph rotates. */
.ref-cta:hover .action-arrow,.ref-cta:focus-visible .action-arrow,
.header__cta:hover .action-arrow,.header__cta:focus-visible .action-arrow,
.ref-textlink:hover .action-arrow,.ref-textlink:focus-visible .action-arrow,
.ref-feature-image:hover>.action-arrow,.ref-feature-image:focus-visible>.action-arrow,
.ref-footer__round:hover .action-arrow,.ref-footer__round:focus-visible .action-arrow,
.ref-circle-link:hover .action-arrow,.ref-circle-link:focus-visible .action-arrow,
.ref-service--accent:hover .action-arrow,.ref-service--accent:focus-visible .action-arrow{
  transform:none!important;
}
.ref-service--accent:hover .action-arrow::before,.ref-service--accent:focus-visible .action-arrow::before,
.ref-circle-link:hover .action-arrow::before,.ref-circle-link:focus-visible .action-arrow::before{
  transform:rotate(0deg)!important;
}
.ref-footer__round:hover,.ref-footer__round:focus-visible{transform:none!important;}

/* --- Hero legibility over bright daylight project photography --- */
.ref-hero__veil{
  background:linear-gradient(180deg,rgba(4,19,35,.55) 0%,rgba(4,19,35,.42) 30%,rgba(4,19,35,.62) 66%,rgba(4,19,35,.93) 100%);
}
@media (max-width:767px){
  .ref-hero__veil{background:linear-gradient(180deg,rgba(4,19,35,.58) 0%,rgba(4,19,35,.5) 34%,rgba(4,19,35,.72) 68%,rgba(4,19,35,.95) 100%);}
}
/* Long project names in the selected-projects grid */
.ref-service--landscape .ref-service__meta h3{font-size:1.12rem;line-height:1.14;}

/* --- Closing statement: the homepage brand moment --- */
.ref-statement .ref-quote{background:var(--ref-navy);padding:clamp(40px,7vw,96px) clamp(26px,5vw,72px);}
.ref-statement .ref-quote blockquote{
  font-size:clamp(2.4rem,7.4vw,6rem);
  line-height:.94;
  letter-spacing:-.05em;
  font-weight:600;
  color:#fff;
  margin:0;
  max-width:16ch;
}
.ref-statement .ref-quote blockquote em{font-style:normal;color:var(--ref-gold);display:block;}

/* --- Closing CTA: full-width, spacious, large headline --- */
.ref-contact__grid:has(> .ref-contact__intro:only-child){grid-template-columns:1fr!important;align-items:start!important;}
.ref-contact__grid > .ref-contact__intro:only-child{max-width:none;}
.ref-contact__grid > .ref-contact__intro:only-child .ref-h2{
  font-size:clamp(2.6rem,7vw,5.4rem);
  line-height:.96;
  letter-spacing:-.05em;
  max-width:14ch;
}
.ref-contact__grid > .ref-contact__intro:only-child > p{font-size:.95rem;max-width:42ch;}
.ref-contact__grid > .ref-contact__intro:only-child .ref-contact__details{max-width:46ch;}
.ref-contact__grid > .ref-contact__intro:only-child .ref-contact__details{
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,300px))!important;
  gap:26px 56px!important;
}
.ref-contact__grid > .ref-contact__intro:only-child .ref-contact__details strong{line-height:1.6;}
@media (max-width:640px){
  .ref-contact__grid > .ref-contact__intro:only-child .ref-contact__details{grid-template-columns:1fr!important;}
}

/* --- Individual project page --- */
.pfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;}
.pfacts > div{padding:18px 0;border-top:1px solid var(--ref-line);}
.pfacts dt{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ref-gold);margin:0 0 7px;}
.pfacts dd{margin:0;font-size:.95rem;line-height:1.55;color:var(--ref-ink);}
@media (max-width:640px){.pfacts{grid-template-columns:1fr;}}

/* Editorial photography rhythm — deliberately not a thumbnail gallery */
.pgallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,34px);}
.pgallery figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--ref-paper-2);}
.pgallery figure img{width:100%;height:100%;object-fit:cover;}
.pgallery .pgallery--wide{grid-column:1/-1;aspect-ratio:21/9;}
@media (max-width:767px){
  .pgallery{grid-template-columns:1fr;}
  .pgallery .pgallery--wide{aspect-ratio:4/3;}
}

/* --- Management team placeholder state --- */
.person--placeholder .person__placeholder{
  display:grid;place-items:center;height:100%;
  border:1px dashed rgba(10,39,71,.22);
  background:rgba(10,39,71,.03);
  color:rgba(10,39,71,.45);
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:14px;
}
.person--placeholder .person__name{color:rgba(10,39,71,.5);}
