:root{
  /* Canonical primitives */
  --brand-navy-950: #03172D;
  --brand-navy-900: #08274d;
  --brand-navy-800: #0c315f;
  --brand-navy-700: #12385C;

  --brand-gold-900: #744000;
  --brand-gold-800: #965302;
  --brand-gold-700: #A95F08;
  --brand-gold-600: #B76C08;
  --brand-gold-500: #D48719;
  --brand-gold-400: #E9A63B;
  --brand-gold-300: #FCC25D;
  --brand-gold-200: #FFD887;

  --brand-ivory-50: #FBF8F2;
  --brand-ivory-100: #F6EFE3;
  --brand-ivory-200: #EFE4D0;
  --brand-ink: #17202A;
  --brand-muted: #55606D;
  --brand-white: #FFFFFF;

  /* Semantic roles */
  --color-page-bg: var(--brand-ivory-50);
  --color-surface: var(--brand-ivory-100);
  --color-surface-raised: var(--brand-ivory-50);
  --color-surface-dark: var(--brand-navy-800);
  --color-surface-dark-deep: var(--brand-navy-900);
  --color-heading: var(--brand-navy-800);
  --color-body: var(--brand-ink);
  --color-body-muted: var(--brand-muted);
  --color-text-on-dark: var(--brand-ivory-50);
  --color-accent: var(--brand-gold-500);
  --color-accent-strong: var(--brand-gold-700);
  --color-border-light: #DFD4C2;
  --color-border-dark: rgba(252, 194, 93, 0.25);
  --color-focus-ring: var(--brand-gold-300);
  --color-link: var(--brand-navy-800);

  /* Gradients */
  --gradient-gold-satin: linear-gradient(115deg, #965302 0%, #C58216 18%, #FCC25D 39%, #E9A63B 51%, #A95F08 74%, #D48719 100%);
  --gradient-gold-button: linear-gradient(110deg, #B76C08 0%, #E9A63B 37%, #FCC25D 53%, #C27B12 100%);
  --gradient-gold-banner: linear-gradient(112deg, #965302 0%, #D48719 22%, #FFD887 42%, #B76C08 63%, #E9A63B 84%, #965302 100%);
  --gradient-navy-depth: linear-gradient(125deg, #03172D 0%, #0c315f 58%, #12385C 100%);
  --gradient-gold-rule: linear-gradient(90deg, transparent 0%, #B76C08 20%, #FCC25D 50%, #B76C08 80%, transparent 100%);

  /* Legacy aliases kept for smooth migration */
  --ink: #0c315f;
  --text: #17202A;
  --paper: #FBF8F2;
  --white: #FFFEFA;
  --bronze: #D48719;
  --line: #DFD4C2;
  --muted: #55606D;
}

body { background: var(--color-page-bg); color: var(--color-body); }

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 Arial,sans-serif}::selection{background:rgba(212,135,25,0.25);color:var(--ink)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #D48719;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3,blockquote{font-family:Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(3.2rem,6.3vw,6rem);margin-bottom:24px}h2{font-size:clamp(2.3rem,4vw,4rem)}h3{font-size:1.65rem}.wrap{width:min(1320px,calc(100% - 96px));margin:auto}.demo-bar{background:var(--gradient-gold-banner);color:#17271f;text-align:center;font-size:.77rem;letter-spacing:.02em;padding:7px 16px}.skip{position:absolute;top:-100px;left:12px;background:#fff;padding:10px;z-index:20}.skip:focus{top:8px}.header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:var(--paper)}.brand{display:inline-flex;align-items:center;gap:13px;color:var(--ink);line-height:1}.monogram{font:2.45rem/1 Georgia,serif;letter-spacing:-.12em;padding-right:9px;border-right:1px solid var(--bronze)}.brand-name{font:1.05rem/1.1 Georgia,serif;letter-spacing:.12em}.brand-name small{display:block;font: .53rem/1.7 Arial,sans-serif;letter-spacing:.21em}.header nav{display:flex;align-items:center;gap:34px;font-size:.84rem}.header nav>a:not(.nav-cta){padding:8px 0;border-bottom:1px solid transparent}.header nav>a:hover,.header nav>a[aria-current=page]{border-color:var(--bronze)}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:#E7BD61;background-image:linear-gradient(180deg, #F5D37E 0%, #E2B555 50%, #D4A33E 100%);color:#03172D;padding:15px 22px;border:1px solid #C4922F;font-size:.84rem;font-weight:600;letter-spacing:.02em;box-shadow:0 2px 6px rgba(3,23,45,.1), 0 6px 18px rgba(196,146,47,.22), inset 0 1px 1px rgba(255,255,255,.6);transition:all .2s ease}.nav-cta:hover,.button:hover{background:#EDB044;background-image:linear-gradient(180deg, #FAE099 0%, #ECC063 50%, #DFB04A 100%);border-color:#B38020;color:#03172D;box-shadow:0 4px 10px rgba(3,23,45,.15), 0 8px 24px rgba(196,146,47,.32), inset 0 1px 1px rgba(255,255,255,.75);transform:translateY(-1px)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:48% 52%;min-height:620px}.hero-copy{padding:80px 10% 82px 9.4%;display:flex;flex-direction:column;justify-content:center}.location,.section-label{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem;font-family:Arial,sans-serif;font-weight:600;color:var(--bronze);margin-bottom:26px}.lead{font-size:1.12rem;line-height:1.7;max-width:34rem;color:#55606D}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:27px;margin-top:24px}.text-link{display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid var(--bronze);padding:8px 0;font-size:.88rem}.hero-image{position:relative;min-height:500px}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-image span{position:absolute;right:18px;bottom:13px;color:white;background:rgba(5,34,68,0.73);padding:2px 8px;font-size:.65rem}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:130px 0}.intro h2{max-width:500px}.large-copy{font:clamp(1.5rem,2.2vw,2rem)/1.4 Georgia,serif;color:var(--ink)}.services-section{background:#F6EFE3;padding:120px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-head h2{margin-bottom:25px}.section-head>p{max-width:330px;color:var(--muted)}.demo-note{font-size:.8rem;color:#55606D;font-style:italic}.service-row{display:grid;grid-template-columns:1.1fr 1fr 30px;gap:30px;align-items:center;border-top:1px solid #DFD4C2;padding:28px 0}.service-row:last-of-type{border-bottom:1px solid #DFD4C2}.service-row h3,.service-row p{margin:0}.service-row p{color:#55606D;font-size:.9rem}.service-row span{text-align:right}.service-row:hover h3{color:var(--bronze)}.section-link{margin-top:34px}.statement{padding:135px 0;text-align:center}.statement blockquote{font-size:clamp(2.1rem,4.5vw,4.5rem);max-width:960px;margin:0 auto 24px}.statement>p:last-child{font-size:.8rem;color:var(--muted)}.contact-band{background:#08274d;color:#FBF8F2;padding:88px 0}.contact-band .wrap{display:flex;justify-content:space-between;align-items:end;gap:40px}.contact-band h2{max-width:700px;margin:0}.contact-band .section-label{color:#FCC25D}.button-light{background:#FBF8F2;color:#0c315f;border:1px solid #DFD4C2;font-weight:600;white-space:nowrap;padding:15px 22px;box-shadow:0 1px 3px rgba(3,23,45,.06);transition:all .2s ease}.button-light:hover{background:#FFFFFF;border-color:#FCC25D;color:#03172D;box-shadow:0 3px 10px rgba(3,23,45,.12);transform:translateY(-1px)}footer{background:#08274d;color:#F6EFE3;padding:80px 4.5% 25px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:70px}.brand-light{color:#FBF8F2}.footer-top h2{font: .75rem Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#FCC25D}.footer-top p,.footer-top a:not(.brand){font-size:.88rem;color:#EFE4D0}.footer-top>div:nth-child(2) a{display:block;margin:8px 0}.footer-bottom{border-top:1px solid rgba(252,194,93,0.18);padding:22px 0 28px;display:flex;flex-direction:column;gap:12px;font-size:.78rem;color:#A2ACB8;line-height:1.6}.footer-bottom-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}.footer-credit{margin:0;font-size:.74rem;color:#8C99A8;letter-spacing:.015em}.footer-credit a{color:#EFE4D0;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(252,194,93,0.45);transition:color .2s ease,text-decoration-color .2s ease}.footer-credit a:hover{color:#FCC25D;text-decoration-color:#FCC25D}.page-head{padding:100px 0 65px;border-bottom:1px solid var(--line)}.page-head h1{max-width:900px}.page-section{padding:65px 0 120px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:0 0 120px}.values>div{border-top:1px solid var(--bronze);padding-top:25px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:85px 0 130px}.contact-grid h2{font-size:2.4rem}.contact-detail{display:flex;flex-direction:column;border-top:1px solid var(--line);padding:18px 0}.contact-detail span{font-size:.75rem;color:var(--muted)}.contact-detail strong{font-weight:400}.form-panel{background:#F6EFE3;padding:45px}.form-panel p{font-size:.86rem}label{display:block;font-size:.8rem;margin:18px 0 6px}input,textarea{width:100%;padding:13px;border:1px solid #DFD4C2;background:#FBF8F2;font:inherit}input:disabled,textarea:disabled{opacity:1;color:#626c63}button:disabled{opacity:.7;cursor:not-allowed;margin-top:20px}.floating-contact{position:fixed;right:20px;bottom:20px;background:#0c315f;color:white;padding:12px 17px;font-size:.8rem;box-shadow:0 4px 18px #0003;z-index:4}.floating-contact span{padding-left:15px}@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header{height:82px;padding:0 20px}.brand-name{font-size:.85rem}.monogram{font-size:2rem}.menu-toggle{display:block;background:none;border:0;color:var(--ink);font:inherit}.header nav{display:none;position:absolute;top:113px;left:0;right:0;background:var(--paper);z-index:5;padding:22px;box-shadow:0 8px 16px #0002;align-items:stretch;gap:8px;flex-direction:column}.header nav.open{display:flex}.header nav>a{padding:10px!important}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 20px}.hero-image{min-height:340px}.intro,.contact-grid{grid-template-columns:1fr;gap:30px;padding:80px 0}.services-section{padding:80px 0}.section-head{display:block}.service-row{grid-template-columns:1fr 24px;gap:12px}.service-row p{grid-column:1}.service-row span{grid-column:2;grid-row:1}.statement{padding:85px 0}.contact-band .wrap{align-items:start;flex-direction:column}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.page-head{padding:75px 0 45px}.values{grid-template-columns:1fr;gap:20px;padding-bottom:80px}.form-panel{padding:25px}.floating-contact{bottom:12px;right:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Preview readability refinements */
:root{--bronze:#D48719;--muted:#55606D}.brand-name small{font-size:.7rem;letter-spacing:.12em}.header{position:relative}.location,.section-label{font-size:.75rem}.hero-image span{font-size:.75rem}@media(max-width:800px){.header nav{top:100%}}
.feature-story{display:grid;grid-template-columns: 43% 1fr;gap:11%;align-items:center;padding:130px 0}.feature-story figure,.service-feature figure{margin:0}.feature-story img{display:block;width:100%;height:640px;object-fit:cover}.feature-story figcaption,.service-feature figcaption{font-size:.72rem;color:#55606D;margin-top:8px}.feature-copy h2{max-width:630px}.feature-copy p:not(.section-label){max-width:590px}.approach-band{background:#F6EFE3;padding:110px 0}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:50px}.approach-grid article{border-top:1px solid #DFD4C2;padding-top:24px}.approach-grid article span{color:#A95F08;font: .8rem Arial,sans-serif}.approach-grid h3{margin:30px 0 14px}.approach-grid p{color:#55606D}.city-story{position:relative;min-height:600px;background:#08274d}.city-story>img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.city-story:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,23,45,.96) 0%,rgba(3,23,45,.88) 45%,rgba(3,23,45,.2) 100%)}.city-overlay{position:relative;z-index:1;color:#fff;padding:110px max(48px,calc((100% - 1320px)/2));max-width:1050px}.city-overlay h2{font-size:clamp(2.6rem,4.8vw,4.5rem);max-width:850px;text-wrap:balance}.city-overlay p:not(.section-label){max-width:680px;font-size:1.08rem;line-height:1.7}.city-overlay .section-label{color:#FCC25D}.city-overlay small{display:block;margin-top:40px;color:#EFE4D0}.service-intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:80px 0}.service-list{padding-bottom:110px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid var(--line);padding:50px 0;align-items:end}.service-detail h2{font-size:clamp(2rem,3vw,3rem);margin-bottom:18px}.service-detail p{max-width:600px}.service-examples{color:#55606D;font-size:.85rem}.service-feature{background:#0c315f;color:#FBF8F2;padding:95px 0}.service-feature .wrap{display:grid;grid-template-columns:1fr 42%;gap:10%;align-items:center}.service-feature img{width:100%;height:430px;object-fit:cover;object-position:center 35%}.service-feature figcaption{color:#EFE4D0}.service-feature .section-label{color:#FCC25D}.service-feature p:not(.section-label){max-width:500px;margin-bottom:35px}.contact-help{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:0 0 120px}.contact-help h2{font-size:2.8rem}.contact-help h3{font-size:1.5rem;margin-bottom:10px}.contact-help p{margin-bottom:35px}.contact-band p:not(.section-label){margin:20px 0 0;color:#EFE4D0}@media(max-width:800px){.feature-story,.service-intro,.service-feature .wrap,.contact-help{grid-template-columns:1fr;gap:35px}.feature-story{padding:75px 0}.feature-story img{height:400px}.approach-band{padding:75px 0}.approach-grid{grid-template-columns:1fr;gap:15px;margin-top:30px}.approach-grid h3{margin-top:15px}.city-story{min-height:560px}.city-overlay{padding:80px 20px}.service-intro{padding:55px 0}.service-detail{grid-template-columns:1fr;gap:10px;padding:35px 0}.service-feature{padding:70px 0}.service-feature img{height:350px}.contact-help{padding-bottom:75px}}
/* Original illustrated legal identity */
.hero-art{position:relative;min-height:650px;background:#EFE4D0;overflow:hidden;padding:35px 55px}.art-frame{height:100%;min-height:580px;border:1px solid rgba(252,194,93,0.3);position:relative;display:flex;justify-content:center;align-items:center}.art-frame:before,.art-frame:after{content:'';position:absolute;left:18px;right:18px;border-top:1px solid rgba(252,194,93,0.2)}.art-frame:before{top:18px}.art-frame:after{bottom:18px}.art-frame img{position:absolute;inset:5% 8%;width:84%;height:90%;object-fit:contain}.art-caption,.art-foot{position:absolute;z-index:1;color:#55606D;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.art-caption{top:28px;left:30px}.art-foot{bottom:27px;right:30px}.legal-emblem{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding:120px 0}.legal-emblem h2{max-width:600px}.legal-emblem p:not(.section-label){max-width:510px}.legal-emblem figure{margin:0;background:#EFE4D0;padding:32px;min-height:330px;display:flex;flex-direction:column;justify-content:center}.legal-emblem img{width:100%;max-height:360px;object-fit:contain}.legal-emblem figcaption{font-size:.7rem;color:#55606D;text-align:right}.service-art-band{background:#EFE4D0;overflow:hidden}.service-art-band .wrap{display:grid;grid-template-columns:1fr 42%;gap:8%;align-items:center;min-height:350px}.service-art-band h2{font-size:clamp(2.2rem,3.5vw,3.6rem);margin-bottom:18px}.service-art-band img{width:100%;height:310px;object-fit:contain}.justice-panel{background:#EFE4D0;overflow:hidden}.justice-panel .wrap{display:grid;grid-template-columns:40% 1fr;gap:10%;align-items:center}.justice-panel-art{height:540px;text-align:center}.justice-panel-art img{height:100%;max-width:100%;object-fit:contain}.justice-panel h2{max-width:600px}.justice-panel p:not(.section-label){max-width:540px}.contact-illustration{background:#EFE4D0;margin-bottom:90px}.contact-illustration .wrap{display:flex;align-items:center;gap:10%;min-height:300px}.contact-illustration img{width:36%;max-height:260px;object-fit:contain}.contact-illustration h2{font-size:clamp(2rem,3vw,3.3rem);max-width:600px;margin-bottom:0}@media(max-width:800px){.hero-art{min-height:480px;padding:25px 20px}.art-frame{min-height:430px}.art-caption,.art-foot{font-size:.58rem}.legal-emblem{grid-template-columns:1fr;gap:30px;padding:75px 0}.legal-emblem figure{min-height:230px}.service-art-band .wrap{grid-template-columns:1fr;padding-top:65px}.service-art-band img{height:230px}.justice-panel .wrap{grid-template-columns:1fr;gap:15px;padding-bottom:65px}.justice-panel-art{height:400px}.contact-illustration .wrap{flex-direction:column;align-items:flex-start;gap:20px;padding:35px 0 55px}.contact-illustration img{width:100%;height:200px}.contact-illustration{margin-bottom:65px}}
/* Header, hero and home service refinement */
.header{height:94px;padding:0 max(4.5%,calc((100% - 1440px)/2));border-bottom:1px solid #DFD4C2}.header .brand{gap:15px}.header .monogram{font-size:2.15rem}.header nav{gap:30px}.header nav>a:not(.nav-cta){position:relative;border:0;color:#0c315f}.header nav>a[aria-current=page]:after,.header nav>a:not(.nav-cta):hover:after{content:'';position:absolute;height:1px;left:0;right:0;bottom:1px;background:var(--brand-gold-500)}.header .nav-cta{padding:13px 18px;margin-left:8px}.hero{grid-template-columns:51% 49%;min-height:670px;background:#FBF8F2}.hero-copy{padding:92px 11% 92px 9%;position:relative}.hero-copy h1{font-size:clamp(3.8rem,6.5vw,6rem);line-height:1.04;max-width:650px;letter-spacing:-.035em;text-wrap:balance}.hero-copy h1 em{font-weight:400;font-style:normal;color:var(--ink)}.hero-copy .lead{max-width:460px}.hero-copy:after{display:none}.hero-art{background:#EFE4D0;min-height:670px;padding:0;display:grid;place-items:center}.art-frame{width:100%;height:100%;min-height:670px;border:0;overflow:hidden}.art-frame:before,.art-frame:after{display:none}.hero-art-orbit{width:min(75%,480px);aspect-ratio:1;border:1px solid rgba(252,194,93,0.3);border-radius:50%;position:absolute;top:13%}.art-frame img{inset:3% 7% 0;width:86%;height:96%;object-position:center bottom;filter:drop-shadow(0 14px 22px #152b1b18)}.art-foot{right:8%;bottom:30px;font-size:.68rem;letter-spacing:.1em}.home-services{padding:120px 0;background:#F6EFE3}.home-services-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.home-services-head h2{max-width:720px;margin-bottom:20px}.home-services-head p{max-width:530px;color:#55606D}.home-services-head .text-link{flex-shrink:0}.home-services .demo-note{margin-bottom:20px}.service-composition{display:grid;grid-template-columns:1.08fr 1fr;gap:18px}.service-featured{position:relative;overflow:hidden;min-height:570px;background:#0c315f;color:#FBF8F2;padding:45px;display:flex;flex-direction:column;justify-content:space-between}.service-featured>div{position:relative;z-index:1}.service-featured h3{font-size:clamp(2.2rem,3.5vw,3.5rem);max-width:380px;margin:22px 0}.service-featured p{max-width:390px;color:#EFE4D0}.service-featured img{width:78%;max-height:270px;object-fit:contain;align-self:flex-end;transition:transform .55s cubic-bezier(.16,1,.3,1)}.service-featured:hover img{transform:translateY(-8px)}.service-type{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#FCC25D}.service-action{display:inline-block;margin-top:18px;padding-bottom:8px;border-bottom:1px solid rgba(252,194,93,0.5);font-size:.85rem}.service-action span{margin-left:20px}.service-stack{display:grid;grid-template-rows:repeat(4,1fr);gap:14px}.service-stack>a{position:relative;background:#FBF8F2;padding:20px 65px 18px 26px;display:flex;flex-direction:column;justify-content:center;transition:background-color .25s ease,transform .25s ease}.service-stack>a:hover{background:#FFFEFA;transform:translateX(4px)}.service-stack .service-type{color:#A95F08}.service-stack h3{font-size:clamp(1.35rem,1.8vw,1.65rem);margin:6px 0}.service-stack p{margin:0;color:#55606D;font-size:.85rem}.service-arrow{position:absolute;right:24px;top:50%;transform:translateY(-50%);border:1px solid #DFD4C2;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;transition:background-color .25s,color .25s}.service-stack>a:hover .service-arrow{background:#0c315f;color:white}.art-frame img{animation:hero-arrive 1.1s cubic-bezier(.16,1,.3,1) both}@keyframes hero-arrive{from{opacity:.75;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.header{height:82px;padding:0 20px}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 20px 48px}.hero-copy h1{font-size:clamp(3.3rem,12vw,5rem)}.hero-copy:after{margin-top:40px}.hero-art,.art-frame{min-height:480px}.art-frame img{height:95%;inset:3% 7% 2%}.hero-art-orbit{width:70%;top:12%}.home-services{padding:75px 0}.home-services-head{display:block;margin-bottom:30px}.service-composition{grid-template-columns:1fr}.service-featured{min-height:470px;padding:30px}.service-featured img{width:85%;max-height:200px}.service-stack>a{padding:25px 65px 25px 25px}.service-stack>a:hover{transform:none}}@media(prefers-reduced-motion:reduce){.art-frame img{animation:none}.service-featured img,.service-stack>a,.service-arrow{transition:none}}
/* Shared dark brand header */
.header{background:#0c315f;border-bottom:1px solid rgba(252,194,93,0.18)}.header .brand,.header .menu-toggle{color:#FBF8F2}.header .monogram{border-color:var(--brand-gold-500)}.header nav>a:not(.nav-cta){color:#FBF8F2}.header nav>a[aria-current=page]:after,.header nav>a:not(.nav-cta):hover:after{background:var(--brand-gold-500)}.header .nav-cta{background:#E7BD61;background-image:linear-gradient(180deg, #F5D37E 0%, #E2B555 50%, #D4A33E 100%);border-color:#C4922F;color:#03172D;padding:13px 18px;margin-left:8px;box-shadow:0 2px 8px rgba(0,0,0,.15), inset 0 1px 1px rgba(255,255,255,.6)}.header .nav-cta:hover{background:#EDB044;background-image:linear-gradient(180deg, #FAE099 0%, #ECC063 50%, #DFB04A 100%);border-color:#B38020;color:#03172D}.header a:focus-visible,.header button:focus-visible{outline-color:#FBF8F2}@media(max-width:800px){.header nav{background:#0c315f}.header nav>a:not(.nav-cta){color:#FBF8F2}}
/* Home FAQ */
.home-faq{background:#FBF8F2;padding:120px 0}.faq-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:11%;align-items:start}.faq-intro h2{max-width:520px}.faq-intro>p{max-width:440px;color:#55606D}.faq-intro figure{margin:32px 0 12px;max-width:350px}.faq-intro img{display:block;width:100%;max-height:220px;object-fit:contain}.faq-list{border-top:1px solid #DFD4C2}.faq-list details{border-bottom:1px solid #DFD4C2}.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:26px 52px 26px 0;color:#0c315f;font:400 clamp(1.25rem,1.6vw,1.6rem)/1.3 Georgia,serif}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:focus-visible{outline:3px solid #D48719;outline-offset:4px}.faq-list details p{max-width:62ch;margin:0;padding:0 50px 28px 0;color:#55606D}.faq-icon{position:absolute;right:1px;top:29px;width:24px;height:24px;border:1px solid #DFD4C2;border-radius:50%}.faq-icon:before,.faq-icon:after{content:'';position:absolute;left:6px;right:6px;top:10px;height:1px;background:#0c315f}.faq-icon:after{transform:rotate(90deg);transition:transform .2s ease}.faq-list details[open] .faq-icon:after{transform:rotate(0)}@media(max-width:800px){.home-faq{padding:75px 0}.faq-layout{grid-template-columns:1fr;gap:45px}.faq-intro figure{max-width:260px;margin:25px 0 10px}.faq-list summary{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){.faq-icon:after{transition:none}}
.contact-hero{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.contact-hero figure{margin:0;text-align:center}.contact-hero img{width:100%;max-height:360px;object-fit:contain}@media(max-width:800px){.contact-hero{grid-template-columns:1fr;gap:25px}.contact-hero img{max-height:240px}}
/* A distinct surface separates the introduction from the hero. */
.home-intro{background:#EFE4D0;color:#0c315f}.home-intro .intro{padding-top:115px;padding-bottom:115px}.home-intro .section-label{color:#A95F08}.home-intro .large-copy{color:#0c315f}.home-intro .text-link{border-color:#D48719}@media(max-width:800px){.home-intro .intro{padding-top:75px;padding-bottom:75px}}
/* Shared footer and readable legal documents */
.site-footer{background:#08274d;color:#FBF8F2;padding:0 4.5%}.footer-inner{max-width:1320px;margin:auto}.footer-main{display:grid;grid-template-columns:1.7fr 1fr 1.15fr 1.15fr;gap:48px;padding:85px 0 75px}.footer-brand>p{color:#EFE4D0;max-width:270px;margin:24px 0}.footer-contact-link{display:inline-flex;gap:28px;padding-bottom:8px;border-bottom:1px solid #E9A63B;color:#FBF8F2;font-size:.9rem}.footer-column h2{font:600 .72rem/1.4 Arial,sans-serif;color:#FCC25D;letter-spacing:.12em;text-transform:uppercase;margin:0 0 22px}.footer-column a,.footer-column p{display:block;color:#EFE4D0;font-size:.9rem;margin:0 0 12px}.footer-column a:hover,.footer-contact-link:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.site-footer .footer-bottom{padding:22px 0 28px;line-height:1.6}.legal-head{padding-bottom:55px}.legal-draft{display:inline-block;background:#EFE4D0;color:#A95F08;padding:10px 15px;font-size:.84rem}.legal-content{display:grid;grid-template-columns:220px minmax(0,720px);gap:10%;padding:70px 0 120px}.legal-content aside{display:flex;flex-direction:column;gap:12px;font-size:.88rem;align-self:start}.legal-content aside strong{color:#0c315f;margin-bottom:8px}.legal-content aside a{color:#55606D}.legal-content aside a:hover{text-decoration:underline}.legal-body h2{font-size:2rem;margin:48px 0 16px}.legal-body h2:first-child{margin-top:0}.legal-body p{line-height:1.8}.legal-body a{text-decoration:underline;text-underline-offset:3px}@media(max-width:800px){.footer-main{grid-template-columns:1fr 1fr;gap:38px 24px;padding:65px 0}.footer-brand{grid-column:1/-1}.footer-column a,.footer-column p{font-size:.9rem}.site-footer .footer-bottom{padding-bottom:85px}.legal-content{grid-template-columns:1fr;gap:35px;padding:45px 0 80px}.legal-content aside{border-bottom:1px solid #DFD4C2;padding-bottom:25px}.legal-body h2{font-size:1.7rem}}
.footer-main{grid-template-columns:1.7fr 1fr 1.15fr}.footer-legal{display:flex;flex-wrap:wrap;gap:22px}.footer-legal a{color:#EFE4D0}.footer-legal a:hover{text-decoration:underline;text-underline-offset:4px}.menu-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center}.menu-toggle span{font-size:1.3rem;line-height:1}@media(max-width:800px){.footer-main{grid-template-columns:1fr 1fr}.menu-toggle{display:flex}.footer-legal{gap:18px}}
/* Warm stone introduction and responsive approach timeline */
.home-intro{background:#EFE4D0}.home-approach .timeline{position:relative;gap:55px;padding-top:24px}.home-approach .timeline article{position:relative;border-top:0;padding-top:20px}.timeline-track{position:absolute;top:24px;left:0;right:0;height:1px;background:#DFD4C2}.timeline-progress{display:block;width:100%;height:100%;background:#D48719;transform:scaleX(0);transform-origin:left;transition:transform 2.1s cubic-bezier(.2,.7,.2,1)}.timeline.is-visible .timeline-progress{transform:scaleX(1)}.timeline-marker{position:absolute;top:-5px;left:0;width:11px;height:11px;border-radius:50%;border:1px solid #D48719;background:#F6EFE3;z-index:1;transition:background-color .35s ease}.timeline.is-visible article:nth-of-type(1) .timeline-marker{background:#D48719;transition-delay:0s}.timeline.is-visible article:nth-of-type(2) .timeline-marker{background:#D48719;transition-delay:.9s}.timeline.is-visible article:nth-of-type(3) .timeline-marker{background:#D48719;transition-delay:1.8s}@media(max-width:800px){.home-approach .timeline{gap:0;padding:0 0 0 32px}.home-approach .timeline article{padding:0 0 38px}.home-approach .timeline article:last-of-type{padding-bottom:0}.timeline-track{top:5px;bottom:5px;left:5px;right:auto;width:1px;height:auto}.timeline-progress{transform:scaleY(0);transform-origin:top}.timeline.is-visible .timeline-progress{transform:scaleY(1)}.timeline-marker{top:0;left:-32px}.home-approach .timeline h3{margin-top:12px}}@media(prefers-reduced-motion:reduce){.timeline-progress{transform:none;transition:none}.timeline-marker{background:#D48719;transition:none}}
/* Sticky header and contact disclosure */
.header{position:sticky;top:0;z-index:20}.contact-widget{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:30}.contact-widget .floating-contact{position:static;border:0;cursor:pointer;font:inherit;font-size:.8rem}.contact-panel[hidden]{display:none}.contact-panel{width:min(360px,calc(100vw - 40px));max-height:min(70vh,580px);overflow:auto;background:#FBF8F2;color:#0c315f;box-shadow:0 12px 40px rgba(3,31,64,0.22);margin-bottom:12px}.contact-panel-head{background:#0c315f;color:#FBF8F2;padding:24px;display:flex;justify-content:space-between;gap:18px}.contact-panel-head h2{font-size:1.8rem;margin:0 0 6px}.contact-panel-head p{font-size:.82rem;margin:0;color:#EFE4D0}.contact-close{align-self:flex-start;background:none;color:#FBF8F2;border:1px solid rgba(252,194,93,0.4);min-width:36px;min-height:36px;font-size:1.35rem;cursor:pointer}.contact-options{padding:8px 22px 15px}.contact-option{position:relative;display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:16px 0;border-bottom:1px solid #DFD4C2}.contact-option:last-child{border:0}.contact-option>span:first-child{font-weight:600;font-size:.9rem}.contact-option small{grid-column:1;color:#55606D;font-size:.78rem}.contact-option button{grid-column:2;grid-row:1/3;align-self:center;border:1px solid #DFD4C2;background:transparent;color:#55606D;font-size:.75rem;padding:8px}.contact-option button:disabled{opacity:.7;cursor:not-allowed;margin:0}.contact-enquiry>span:last-child{grid-column:2;grid-row:1/3;align-self:center}.contact-enquiry:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.contact-widget{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.contact-panel{width:min(360px,calc(100vw - 24px));max-height:65vh}}
/* The timeline joins the centres of its first and last stage markers. */
@media(min-width:801px){.home-approach .timeline-track{left:5px;right:calc((100% - 110px)/3 + 50px)}}
@media(max-width:800px){.home-approach .timeline-track{top:5px;bottom:auto;height:calc((100% - 38px) * 0.6667);max-height:calc(100% - 5px)}}
/* Measure the timeline between the actual marker centres at every size. */
.timeline-track{right:auto!important;bottom:auto!important}
.services-hero{background:#EFE4D0}.services-hero-layout{display:grid;grid-template-columns:1fr 45%;gap:8%;align-items:center;min-height:480px;padding:65px 0}.services-hero h1{margin-bottom:22px}.services-hero .lead{max-width:490px}.services-hero-note{color:#55606D;margin:28px 0 0;font-family:Georgia,serif;font-size:1.15rem}.services-hero-art img{display:block;width:100%;max-height:360px;object-fit:contain}@media(max-width:800px){.services-hero-layout{grid-template-columns:1fr;gap:25px;padding:70px 0 45px}.services-hero-art img{max-height:240px}.services-hero-note{margin-top:18px}}
/* Editorial services catalogue */
.service-catalogue{padding:20px 0 120px}.service-catalogue-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.service-card{grid-column:span 4;min-width:0;display:flex;flex-direction:column;background:#FBF8F2;padding:34px;color:#0c315f;transition:background-color .25s ease}.service-card--stone{background:#EFE4D0}.service-card--sage{background:#F6EFE3}.service-card--wide{grid-column:span 6;background:#F6EFE3}.service-card--featured{grid-column:span 12;background:#0c315f;color:#FBF8F2;min-height:420px}.service-card:nth-child(2){grid-column:span 4}.service-card:nth-child(3){grid-column:span 8}.service-card:nth-child(4){grid-column:span 8}.service-card:nth-child(5){grid-column:span 4}.service-card:nth-child(6){grid-column:span 4}.service-card:nth-child(7){grid-column:span 4}.service-card:nth-child(8){grid-column:span 4}.service-card-top{height:auto;min-height:72px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.service-card--featured .service-card-top{height:auto;min-height:72px}.service-card-art{width:min(55%,230px);height:100%;object-fit:contain;object-position:right top;transition:transform .4s cubic-bezier(.16,1,.3,1)}.service-card:hover .service-card-art{transform:translateY(-5px)}.service-number{font:400 clamp(3.5rem,6vw,6rem)/.85 Georgia,serif;letter-spacing:-.04em;color:#A95F08}.service-card--featured .service-number{color:#FCC25D}.service-card h2{font-size:clamp(1.8rem,2.5vw,2.7rem);margin:12px 0 18px;max-width:13ch}.service-card>p{color:#55606D;max-width:53ch}.service-card--featured>p{color:#FBF8F2}.service-card details{margin-top:auto;border-top:1px solid #DFD4C2}.service-card--featured details{border-color:rgba(252,194,93,0.25)}.service-card summary{list-style:none;cursor:pointer;position:relative;padding:18px 35px 3px 0;font-size:.82rem;font-weight:600}.service-card summary::-webkit-details-marker{display:none}.service-card summary:focus-visible{outline:3px solid #D48719;outline-offset:4px}.service-card summary span:before,.service-card summary span:after{content:'';position:absolute;right:3px;top:27px;width:14px;height:1px;background:currentColor}.service-card summary span:after{transform:rotate(90deg);transition:transform .2s ease}.service-card details[open] summary span:after{transform:rotate(0)}.service-card details p{font-size:.85rem;line-height:1.65;margin:14px 0 0}.service-card--wide{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.service-card--wide .service-card-top{grid-column:2;grid-row:1/4;height:100%;align-items:center}.service-card--wide .service-card-art{width:100%;max-width:300px;max-height:220px}.service-card--wide h2,.service-card--wide>p,.service-card--wide details{grid-column:1}.service-card--wide .service-number{align-self:start}@media(max-width:900px){.service-card,.service-card:nth-child(n){grid-column:span 6}.service-card--featured,.service-card--wide{grid-column:span 12!important}.service-card--featured{min-height:400px}}@media(max-width:600px){.service-catalogue{padding:10px 0 75px}.service-catalogue-grid{grid-template-columns:1fr;gap:12px}.service-card,.service-card:nth-child(n),.service-card--featured,.service-card--wide{grid-column:1!important;display:flex;padding:26px;min-height:0}.service-card-top,.service-card--featured .service-card-top,.service-card--wide .service-card-top{height:auto;min-height:72px}.service-card h2{max-width:none}.service-card--wide .service-card-art{width:min(55%,230px);height:125px}.service-card--wide .service-number{align-self:flex-start}}@media(prefers-reduced-motion:reduce){.service-card,.service-card-art,.service-card summary span:after{transition:none}}
/* Stack the approach introduction beneath its heading. */
.home-approach .section-head{display:block}.home-approach .section-head h2{margin-bottom:16px}.home-approach .section-head>p{max-width:44rem;margin:0}

/* Keep catalogue numerals legible across each approved stone surface. */
.service-card:not(.service-card--featured) .service-number{color:#A95F08}
/* The compliance card uses the full width when its illustration is absent. */
.service-card--wide{display:flex}.service-card--wide .service-card-top{height:auto;min-height:72px}.service-card--wide h2,.service-card--wide>p{max-width:30ch}
/* About page narrative */
.about-hero{background:#EFE4D0}.about-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:center;padding:70px 0;min-height:590px}.about-hero h1{font-size:clamp(3.2rem,5.5vw,5.5rem);max-width:730px}.about-hero .lead{max-width:560px}.about-hero figure{margin:0;height:450px}.about-hero img{width:100%;height:100%;object-fit:contain}.about-purpose{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:125px 0}.about-purpose .large-copy{max-width:590px}.about-principles{background:#0c315f;color:#FBF8F2;padding:110px 0}.about-principles-head{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:end}.about-principles-head h2{margin-bottom:0}.about-principles-head p{max-width:430px;color:#EFE4D0;margin:0}.about-principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:70px}.about-principle-grid article{border-top:1px solid rgba(252,194,93,0.25);padding-top:28px}.about-principle-grid h3{font-size:1.8rem}.about-principle-grid p{color:#FBF8F2}.about-expect{display:grid;grid-template-columns:1fr .8fr;gap:12%;padding:120px 0}.about-expect>div>p:not(.section-label){max-width:540px;margin-bottom:32px}.about-expect aside{background:#EFE4D0;padding:42px}.about-expect aside h3{font-size:2rem}.about-expect ul{padding-left:20px;margin-bottom:0}.about-expect li{padding:8px 0}.about-expect li::marker{color:#D48719}@media(max-width:800px){.about-hero-grid,.about-purpose,.about-principles-head,.about-expect{grid-template-columns:1fr;gap:30px}.about-hero-grid{padding:65px 0 45px}.about-hero figure{height:330px}.about-purpose,.about-expect{padding:75px 0}.about-principles{padding:75px 0}.about-principle-grid{grid-template-columns:1fr;gap:18px;margin-top:40px}.about-expect aside{padding:28px}}
.about-wide-image{margin:0;width:100%;height:clamp(320px,43vw,650px);overflow:hidden}.about-wide-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}@media(max-width:800px){.about-wide-image{height:320px}}
/* Contact page refinement */
.contact-page-hero{background:#EFE4D0}.contact-page-hero-grid{display:grid;grid-template-columns:1fr 45%;gap:8%;align-items:center;min-height:480px;padding:65px 0}.contact-page-hero h1{max-width:670px}.contact-page-hero .lead{max-width:490px}.contact-page-hero figure{margin:0}.contact-page-hero img{width:100%;max-height:350px;object-fit:contain;display:block}.contact-page-main{background:#FBF8F2;scroll-margin-top:110px}.contact-page-grid{display:grid;grid-template-columns:.85fr 1fr;gap:12%;align-items:start;padding:105px 0 120px}.contact-page-info>p:not(.section-label){max-width:480px;color:#55606D}.contact-page-info h2{max-width:480px}.contact-facts{margin-top:45px;border-top:1px solid #DFD4C2}.contact-facts>div{display:grid;grid-template-columns:42% 1fr;gap:15px;border-bottom:1px solid #DFD4C2;padding:17px 0}.contact-facts span{color:#55606D;font-size:.82rem}.contact-facts strong{font-weight:400}.contact-page-info .contact-care{margin-top:30px;font-size:.85rem}.contact-form-card{background:#EFE4D0;padding:clamp(28px,4vw,52px)}.contact-form-heading h2{font-size:2.4rem;margin-bottom:12px}.contact-form-heading p{font-size:.9rem;color:#55606D;max-width:440px}.contact-form-card label{font-weight:600;color:#0c315f}.contact-form-card input,.contact-form-card textarea{background:#FBF8F2;border-color:#DFD4C2}.contact-form-card button{width:100%;justify-content:center}.contact-form-privacy{font-size:.78rem;color:#55606D;margin:18px 0 0}.contact-form-privacy a{text-decoration:underline;text-underline-offset:3px}.contact-illustration{margin-bottom:0}@media(max-width:800px){.contact-page-hero-grid,.contact-page-grid{grid-template-columns:1fr;gap:35px}.contact-page-hero-grid{padding:65px 0 40px}.contact-page-hero img{max-height:250px}.contact-page-grid{padding:70px 0 75px}.contact-facts{margin-top:30px}.contact-form-card{padding:28px}.contact-facts>div{grid-template-columns:1fr;gap:3px}}
/* Restrained motion: content remains readable without animation. */
@media (prefers-reduced-motion:no-preference){
 .header nav.open{animation:menu-enter .18s ease-out both}
 .contact-panel:not([hidden]){animation:contact-enter .2s ease-out both}
 .faq-list details[open]>p,.service-card details[open]>p{animation:disclosure-enter .2s ease-out both}
 .service-card:active,.service-stack>a:active{transform:translateY(1px)}
 .button span,.text-link span,.nav-cta span{display:inline-block;transition:transform .2s ease}
 .button:hover span,.text-link:hover span,.nav-cta:hover span{transform:translateX(4px)}
 @keyframes menu-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
 @keyframes contact-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
 @keyframes disclosure-enter{from{opacity:.6;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
}
@media (prefers-reduced-motion:reduce){.header nav.open,.contact-panel:not([hidden]),.faq-list details[open]>p,.service-card details[open]>p{animation:none}.button span,.text-link span,.nav-cta span{transition:none}}
.header nav .admin-entry{color:#FBF8F2;font-size:.82rem}.portal-gateway{min-height:100vh;background:#EFE4D0;padding:35px 20px 80px}.portal-back{display:block;max-width:900px;margin:0 auto 40px;color:#0c315f}.portal-gateway-card{max-width:720px;margin:auto;background:#FBF8F2;padding:clamp(28px,6vw,64px)}.portal-gateway-card h1{font-size:clamp(3rem,6vw,4.5rem)}.portal-gateway-card>p{max-width:58ch}.portal-gateway-mark{font:2.7rem Georgia,serif;color:#0c315f;border-bottom:1px solid #D48719;display:inline-block;margin-bottom:32px}.portal-instructions{background:#EFE4D0;padding:24px;margin:30px 0}.portal-instructions h2{font-size:1.6rem}.portal-instructions code{display:block;background:#0c315f;color:#FBF8F2;padding:15px;line-height:1.7}.portal-instructions p:last-child{margin-bottom:0}
.portal-gateway form label{font-weight:600}.portal-gateway form input{background:#FFFEFA}.portal-gateway form button{margin-top:24px}.portal-gateway form [role=status]{min-height:1.5em;color:#704238;font-size:.9rem}
/* Editorial rhythm: preserve the existing identity while aligning page spacing. */
:root{--space-section:clamp(80px,8vw,120px);--space-section-mobile:72px;--space-copy:24px}
.hero-copy{padding:clamp(64px,7vw,104px) clamp(36px,5vw,80px) clamp(64px,7vw,104px) max(48px,calc((100vw - 1320px)/2));}
.hero-copy h1{font-size:clamp(3.5rem,6vw,5.75rem);max-width:10.5ch;line-height:1.04;margin-bottom:24px}
.hero-copy .lead{max-width:39ch;margin-bottom:0}
.hero-copy .actions{gap:24px;margin-top:32px}
.hero-copy:after{margin-top:56px}
.home-services,.approach-band,.home-faq,.about-principles{padding-block:var(--space-section)}
.feature-story,.about-purpose,.about-expect{padding-block:var(--space-section)}
.section-label{margin-bottom:20px;letter-spacing:.12em}
.button,.nav-cta{min-height:48px;gap:28px}
.text-link{gap:20px;text-underline-offset:4px}
.service-card summary{min-height:48px}
.service-card{scroll-margin-top:120px}
@media(max-width:800px){
  .hero-copy{padding:64px 24px 48px}
  .hero-copy h1{font-size:clamp(3rem,11vw,4.5rem);max-width:11ch}
  .hero-copy .actions{margin-top:28px;gap:20px}
  .hero-copy:after{margin-top:40px}
  .home-services,.approach-band,.home-faq,.about-principles,.feature-story,.about-purpose,.about-expect{padding-block:var(--space-section-mobile)}
}

/* Consistent reading and interaction states across the public site. */
main h1,main h2,main h3{text-wrap:balance}
main p{text-wrap:pretty}
summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #D48719;outline-offset:4px}
.button:active,.nav-cta:active,.floating-contact:active{filter:brightness(.9)}

/* Service card icons */
.service-card-icon {
  display: flex;
  align-items: flex-start;
  color: var(--brand-gold-700);
}
.service-card--featured .service-card-icon {
  color: var(--brand-gold-300);
}
.service-card-icon svg {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

/* Featured Service Card Icon (Home) */
.service-featured-icon {
  display: flex;
  justify-content: flex-end;
  align-self: flex-end;
  color: var(--brand-gold-300);
  opacity: 0.85;
  transition: transform .55s cubic-bezier(.16,1,.3,1), opacity .3s ease;
  margin-top: 24px;
}
.service-featured:hover .service-featured-icon {
  transform: translateY(-8px);
  opacity: 1;
}
@media(max-width:800px){
  .service-featured-icon svg {
    width: 80px;
    height: 80px;
  }
}


/* 2-Column Wide Photo Service Cards (Spans 2 cols in 3-col grid) */
.service-card--wide-photo {
  grid-column: span 8;
  display: grid !important;
  grid-template-columns: 1.15fr 1fr;
  padding: 0 !important;
  overflow: hidden;
}
.service-card--wide-photo .service-card-body {
  padding: 34px;
  display: flex;
  flex-direction: column;
}
.service-card--wide-photo .service-card-media {
  position: relative;
  height: 100%;
  min-height: 320px;
  overflow: hidden;
  background: #08274d;
}
.service-card--wide-photo .service-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.service-card--wide-photo:hover .service-card-media img {
  transform: scale(1.04);
}
.service-card--wide-photo-reverse {
  grid-template-columns: 1fr 1.15fr;
}
.service-card--wide-photo-reverse .service-card-media {
  order: -1;
}
@media(max-width:960px){
  .service-card--wide-photo,
  .service-card--wide-photo-reverse {
    grid-template-columns: 1fr;
  }
  .service-card--wide-photo .service-card-media,
  .service-card--wide-photo-reverse .service-card-media {
    height: 220px;
    min-height: 0;
    order: 0;
  }
  .service-card, .service-card:nth-child(n), .service-card--featured, .service-card--wide-photo, .service-card--wide-photo-reverse {
    grid-column: span 12 !important;
  }
}

/* Full-row Hero Featured Service Card (Energy & Mining) */
.service-card--hero {
  grid-column: span 12 !important;
  display: grid !important;
  grid-template-columns: 1.25fr 1fr;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(252,194,93,0.3);
  box-shadow: 0 8px 30px rgba(3,23,45,.25);
}
.service-card--hero .service-card-body {
  padding: 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.service-card--hero .service-card-body h2 {
  font-size: clamp(2rem, 3.2vw, 3.2rem);
  max-width: 18ch;
}
.service-card--hero .service-card-body p {
  max-width: 60ch;
  line-height: 1.7;
}
.service-card--hero .service-card-media {
  position: relative;
  height: 100%;
  min-height: 380px;
  overflow: hidden;
  background: #08274d;
}
.service-card--hero .service-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.service-card--hero:hover .service-card-media img {
  transform: scale(1.03);
}
@media(max-width:960px){
  .service-card--hero {
    grid-template-columns: 1fr;
  }
  .service-card--hero .service-card-body {
    padding: 30px;
  }
  .service-card--hero .service-card-media {
    height: 260px;
    min-height: 0;
  }
}

/* Client-selected identity */
.brand-logo{display:block;width:160px;height:82px;object-fit:contain}.footer-brand .brand-logo{width:247px;height:136.5px}@media(max-width:800px){.brand-logo{width:125px;height:76px}}

/* Horizontal header lockup keeps the firm name readable at navigation size. */
.header-brand{gap:8px;flex-shrink:0}
.header-brand-emblem{display:block;width:62px;height:76px;object-fit:contain}
.header-brand-wordmark{display:flex;flex-direction:column;gap:5px;white-space:nowrap}
.header-brand-name{font:600 1.24rem/1 Georgia,serif;letter-spacing:.015em;color:#fff}
.header-brand-name span{color:#e7bd61}
.header-brand-subtitle{font:600 .65rem/1 Arial,sans-serif;letter-spacing:.12em;color:#fff}
@media(max-width:800px){.header-brand-emblem{width:48px;height:62px}.header-brand-name{font-size:1.05rem}.header-brand-subtitle{font-size:.57rem;letter-spacing:.09em}}
.header-logo-horizontal{display:block;width:270px;height:78px;object-fit:contain}
@media(max-width:800px){.header-logo-horizontal{width:210px;height:64px}}
@media(max-width:360px){.header-logo-horizontal{width:185px}}
/* Separate logo artwork allows the spacing to be adjusted without redrawing it. */
.header-brand{gap:0}
.header-lockup-emblem{display:block;width:80px;height:78px;object-fit:contain}
.header-lockup-wordmark{display:block;width:220px;height:auto}
@media(max-width:800px){.header-lockup-emblem{width:62px;height:64px}.header-lockup-wordmark{width:170px}}
@media(max-width:360px){.header-lockup-emblem{width:55px}.header-lockup-wordmark{width:145px}}
/* Align the wordmark with the K and tighten the lockup. */
.header-lockup-wordmark{margin-left:-22px;transform:translateY(10px)}
@media(max-width:800px){.header-lockup-wordmark{margin-left:-17px;transform:translateY(8px)}}
/* Display the client logo beside the services introduction. */
.home-services-logo{display:block;width:clamp(140px,16vw,210px);height:auto;flex:0 0 auto;align-self:center}
.home-services-head>div{flex:1;min-width:0}
@media(max-width:800px){.home-services-logo{width:160px;margin:0 0 24px}.home-services-head>div{width:auto}}

/* Selected button treatment: navy and gold. */
.button:not(.button-light),
.header .nav-cta {
  color: #ffe5a1;
  background: #071b36 linear-gradient(145deg, #0c315f, #05162f);
  border: 2px solid #e5b54c;
  box-shadow: inset 0 0 0 1px #81530d;
}
.button:not(.button-light):hover,
.header .nav-cta:hover {
  color: #fff0bf;
  background: #0c315f linear-gradient(145deg, #174477, #0a2547);
  border-color: #f4cd78;
  box-shadow: inset 0 0 0 1px #a87518, 0 4px 12px rgba(0, 0, 0, .18);
}

/* Deep blue identity and gold navigation action. */
.header, .site-footer, .contact-band, .service-featured {
  background: #0c315f linear-gradient(145deg, #0c315f, #05162f);
}
@media (max-width:800px) {
  .header nav { background: #0c315f linear-gradient(145deg, #0c315f, #05162f); }
}
.header .nav-cta {
  color: #03172d;
  background: #e7bd61 linear-gradient(180deg, #f5d37e, #e2b555 50%, #d4a33e);
  border: 1px solid #c4922f;
  box-shadow: 0 2px 8px rgba(0,0,0,.15), inset 0 1px 1px rgba(255,255,255,.6);
}
.header .nav-cta:hover {
  color: #03172d;
  background: #edb044 linear-gradient(180deg, #fae099, #ecc063 50%, #dfb04a);
  border-color: #b38020;
}
.home-services-head>.home-services-aside{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:12px}
.home-services-aside .home-services-logo{margin:0}
@media(max-width:800px){.home-services-head>.home-services-aside{align-items:flex-start;margin-top:24px;gap:12px}}
/* Gold primary action on the homepage hero. */
.hero-copy .actions .button,.hero-copy .actions .button:hover,.hero-copy .actions .button:focus-visible{background:#e7bd61;background-image:linear-gradient(180deg,#f5d37e 0%,#e2b555 50%,#d4a33e 100%);border-color:#c4922f;color:#03172d}
/* Floating contact action: navy gradient with a gold frame. */
.floating-contact{background:linear-gradient(135deg,#103764 0%,#052244 58%,#03172d 100%);border:1px solid #d4a33e;color:#fff}
.floating-contact:hover{background:linear-gradient(135deg,#194879 0%,#0b315e 58%,#052244 100%);border-color:#f5d37e}
.floating-contact:focus-visible{outline:3px solid #d4a33e;outline-offset:3px}
.hero-copy .actions .button,.hero-copy .actions .button:hover,.hero-copy .actions .button:focus-visible{border-color:#052244}
.hero-copy .actions .button,.hero-copy .actions .button:hover,.hero-copy .actions .button:focus-visible{border-color:transparent}
.hero-copy .actions .button,.hero-copy .actions .button:hover{border:0;box-shadow:none}
.hero-copy h1,.hero-copy h1 em{color:#052244}/* A restrained warm grade preserves the supplied photograph. */
.feature-story .working-together-photo{filter:none}
/* Navy services hero with light, readable copy. */
.services-hero{background:#052244;color:#fbf8f2}
.services-hero .lead,.services-hero-note{color:#e8edf3}
/* Warm enquiry section provides contrast before the universal navy footer. */
.service-feature{background:#efe4d0;color:#052244}
.service-feature .section-label{color:#9a5a0a}
.service-feature .button-light{background:#052244;background-image:none;color:#fff;border:1px solid #052244;box-shadow:none}
.service-feature .button-light:hover{background:#0c315f;color:#fff}
/* Photographic Lady Justice background for the services hero. */
.services-hero{background-color:#052244;background-image:linear-gradient(90deg,rgba(3,18,36,.55) 0%,rgba(3,18,36,.28) 45%,rgba(3,18,36,.04) 100%),url("assets/optimized/services-hero-justice.webp");background-position:center 38%;background-size:cover;background-repeat:no-repeat}
.services-hero-layout{grid-template-columns:minmax(0,1fr);min-height:480px}
.services-hero-layout>div{max-width:530px}
@media(max-width:800px){.services-hero{background-position:65% center}.services-hero-layout{min-height:430px}.services-hero-layout>div{max-width:80%}}
@media(max-width:500px){.services-hero{background-image:linear-gradient(90deg,rgba(3,18,36,.88),rgba(3,18,36,.55)),url("assets/optimized/services-hero-justice.webp")}.services-hero-layout>div{max-width:100%}}
/* Light About hero followed by a full-width navy gradient section. */
.about-hero{background:#fbf8f2}
.about-purpose{position:relative;isolation:isolate;color:#fbf8f2}
.about-purpose::before{content:"";position:absolute;z-index:-1;inset:0 calc(50% - 50vw);background:linear-gradient(115deg,#123b6a 0%,#08284f 50%,#03172d 100%)}
.about-purpose .large-copy{color:#fbf8f2}
.about-purpose .section-label{color:#f5c76b}
.about-purpose .text-link{color:#fbf8f2;border-color:#e2b555}
.about-expect .button,.about-expect .button:hover{background:#e7bd61;background-image:linear-gradient(180deg,#f5d37e 0%,#e2b555 50%,#d4a33e 100%);border:1px solid #c4922f;color:#03172d;box-shadow:0 2px 8px rgba(0,0,0,.15),inset 0 1px 1px rgba(255,255,255,.6)}
/* Contact hero uses the site's navy gradient. */
.contact-page-hero{background:linear-gradient(115deg,#123b6a 0%,#08284f 50%,#03172d 100%);color:#fbf8f2}
.contact-page-hero .lead{color:#e8edf3}
.contact-page-hero .text-link{color:#fbf8f2;border-color:#e2b555}
.contact-map{margin-top:24px}.contact-map iframe{display:block;width:100%;height:240px;border:0}.contact-map>a{display:inline-block;margin-top:12px;text-decoration:underline;text-underline-offset:3px}.contact-map p{font-size:.8rem;color:#55606d;margin:8px 0 0}
/* Scale the header emblem independently of the wordmark. */
.header-lockup-emblem{width:64px;height:62.4px}
@media(max-width:800px){.header-lockup-emblem{width:49.6px;height:51.2px}}
@media(max-width:360px){.header-lockup-emblem{width:44px}}
