:root{--ink:#193027;--text:#26332c;--paper:#f5f1e9;--white:#fffefa;--bronze:#806344;--line:#d6d1c5;--muted:#606b61}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font:16px/1.65 Arial,sans-serif}::selection{background:#d8c7a9;color:var(--ink)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #a9773e;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:#b79870;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:var(--ink);color:white;padding:15px 22px;border:1px solid var(--ink);font-size:.84rem;transition:background .2s,color .2s}.nav-cta:hover,.button:hover{background:#315140}.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:#536057}.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:#193027bb;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:#eae7dd;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:#5e6258;font-style:italic}.service-row{display:grid;grid-template-columns:1.1fr 1fr 30px;gap:30px;align-items:center;border-top:1px solid #bcbfb3;padding:28px 0}.service-row:last-of-type{border-bottom:1px solid #bcbfb3}.service-row h3,.service-row p{margin:0}.service-row p{color:#59665d;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:var(--ink);color:#f8f4ec;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:#d6bf9b}.button-light{background:#f5f1e9;color:var(--ink);border-color:#f5f1e9;white-space:nowrap}.button-light:hover{background:#d8c7a9;color:var(--ink)}footer{background:#10231b;color:#e8e8dd;padding:80px 4.5% 25px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:70px}.brand-light{color:#f5f1e9}.footer-top h2{font: .75rem Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#cfb994}.footer-top p,.footer-top a:not(.brand){font-size:.88rem;color:#c6d0c5}.footer-top>div:nth-child(2) a{display:block;margin:8px 0}.footer-bottom{border-top:1px solid #46584b;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:.72rem;color:#b9c6b9}.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:#eae7dd;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 #bdc4b9;background:#f6f5ef;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:var(--ink);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:#765838;--muted:#566158}.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:#5d675e;margin-top:8px}.feature-copy h2{max-width:630px}.feature-copy p:not(.section-label){max-width:590px}.approach-band{background:#e9e7dd;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 #a2ab9f;padding-top:24px}.approach-grid article span{color:#765838;font: .8rem Arial,sans-serif}.approach-grid h3{margin:30px 0 14px}.approach-grid p{color:#4d5b51}.city-story{position:relative;min-height:600px;background:#193027}.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(13,31,23,.94),rgba(13,31,23,.15))}.city-overlay{position:relative;z-index:1;color:#fff;padding:110px max(48px,calc((100% - 1320px)/2));max-width:800px}.city-overlay h2{font-size:clamp(2.6rem,5vw,4.5rem)}.city-overlay p:not(.section-label){max-width:480px}.city-overlay .section-label{color:#e5ceb0}.city-overlay small{display:block;margin-top:40px;color:#e0e8dd}.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:#57665b;font-size:.85rem}.service-feature{background:var(--ink);color:#f5f1e9;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:#d0d9d1}.service-feature .section-label{color:#ddc4a0}.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:#d4dfd5}@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:#dcd9c9;overflow:hidden;padding:35px 55px}.art-frame{height:100%;min-height:580px;border:1px solid #9d9c83;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 #a6a58f}.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:#435445;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:#e6e3d6;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:#5d675e;text-align:right}.service-art-band{background:#e3e2d6;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:#e3e2d6;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:#e3e2d6;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 #d9d6ca}.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:#35443a}.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:#806344}.header .nav-cta{padding:13px 18px;margin-left:8px}.hero{grid-template-columns:51% 49%;min-height:670px;background:#f5f1e9}.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;color:#806344}.hero-copy .lead{max-width:460px}.hero-copy:after{content:'Zambia';margin-top:75px;color:#68766a;font-size:.73rem;letter-spacing:.16em;text-transform:uppercase}.hero-art{background:#dfe1d5;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 #a6ad9b;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:#e8e8df}.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:#526056}.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:#193027;color:#f5f1e9;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:#d8e1d7}.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:#b4c3b3}.service-action{display:inline-block;margin-top:18px;padding-bottom:8px;border-bottom:1px solid #d1c2a7;font-size:.85rem}.service-action span{margin-left:20px}.service-stack{display:grid;grid-template-rows:repeat(3,1fr);gap:18px}.service-stack>a{position:relative;background:#f7f5ee;padding:26px 75px 24px 32px;transition:background-color .25s ease,transform .25s ease}.service-stack>a:hover{background:#fffdf8;transform:translateX(4px)}.service-stack .service-type{color:#765838}.service-stack h3{font-size:clamp(1.55rem,2.1vw,2rem);margin:10px 0}.service-stack p{margin:0;color:#526056;font-size:.9rem}.service-arrow{position:absolute;right:30px;top:30px;border:1px solid #b8c1b6;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;transition:background-color .25s,color .25s}.service-stack>a:hover .service-arrow{background:#193027;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:#193027;border-bottom:1px solid #385145}.header .brand,.header .menu-toggle{color:#f5f1e9}.header .monogram{border-color:#bda581}.header nav>a:not(.nav-cta){color:#f5f1e9}.header nav>a[aria-current=page]:after,.header nav>a:not(.nav-cta):hover:after{background:#d7c09e}.header .nav-cta{background:#f5f1e9;border-color:#f5f1e9;color:#193027}.header .nav-cta:hover{background:#dfd3bd;border-color:#dfd3bd;color:#193027}.header a:focus-visible,.header button:focus-visible{outline-color:#f5f1e9}@media(max-width:800px){.header nav{background:#193027}.header nav>a:not(.nav-cta){color:#f5f1e9}}
/* Home FAQ */
.home-faq{background:#f5f1e9;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:#526056}.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 #b8c2b7}.faq-list details{border-bottom:1px solid #b8c2b7}.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:26px 52px 26px 0;color:#193027;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 #806344;outline-offset:4px}.faq-list details p{max-width:62ch;margin:0;padding:0 50px 28px 0;color:#46574b}.faq-icon{position:absolute;right:1px;top:29px;width:24px;height:24px;border:1px solid #aab8aa;border-radius:50%}.faq-icon:before,.faq-icon:after{content:'';position:absolute;left:6px;right:6px;top:10px;height:1px;background:#193027}.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:#dfe5db;color:#193027}.home-intro .intro{padding-top:115px;padding-bottom:115px}.home-intro .section-label{color:#684c30}.home-intro .large-copy{color:#193027}.home-intro .text-link{border-color:#765838}@media(max-width:800px){.home-intro .intro{padding-top:75px;padding-bottom:75px}}
/* Shared footer and readable legal documents */
.site-footer{background:#10251e;color:#f5f1e9;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:#c8d3c8;max-width:270px;margin:24px 0}.footer-contact-link{display:inline-flex;gap:28px;padding-bottom:8px;border-bottom:1px solid #b69c76;color:#f5f1e9;font-size:.9rem}.footer-column h2{font:600 .72rem/1.4 Arial,sans-serif;color:#d7bf9b;letter-spacing:.12em;text-transform:uppercase;margin:0 0 22px}.footer-column a,.footer-column p{display:block;color:#d5dfd5;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:#e9e4d8;color:#55472e;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:#193027;margin-bottom:8px}.legal-content aside a{color:#526056}.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 #d6d1c5;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:#d5dfd5}.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:#ddd0bd}.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:#aab6a9}.timeline-progress{display:block;width:100%;height:100%;background:#806344;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 #806344;background:#e9e7dd;z-index:1;transition:background-color .35s ease}.timeline.is-visible article:nth-of-type(1) .timeline-marker{background:#806344;transition-delay:0s}.timeline.is-visible article:nth-of-type(2) .timeline-marker{background:#806344;transition-delay:.9s}.timeline.is-visible article:nth-of-type(3) .timeline-marker{background:#806344;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:#806344;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:#f9f7f0;color:#193027;box-shadow:0 12px 40px #10231b38;margin-bottom:12px}.contact-panel-head{background:#193027;color:#f5f1e9;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:#d6e1d6}.contact-close{align-self:flex-start;background:none;color:#f5f1e9;border:1px solid #809486;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 #d6d9ce}.contact-option:last-child{border:0}.contact-option>span:first-child{font-weight:600;font-size:.9rem}.contact-option small{grid-column:1;color:#526056;font-size:.78rem}.contact-option button{grid-column:2;grid-row:1/3;align-self:center;border:1px solid #b8c3b8;background:transparent;color:#526056;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:#e3e2d6}.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:#526056;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:#f9f7f0;padding:34px;color:#193027;transition:background-color .25s ease}.service-card--featured{grid-column:span 7;background:#193027;color:#f5f1e9;min-height:460px}.service-card--stone{background:#e4d9c8}.service-card--sage{background:#dfe5db}.service-card--wide{grid-column:span 6;background:#e4e5da}.service-card:nth-child(2){grid-column:span 5}.service-card:nth-child(3){grid-column:span 5}.service-card:nth-child(4){grid-column:span 4}.service-card:nth-child(5){grid-column:span 3}.service-card:nth-child(6){grid-column:span 6}.service-card-top{height:145px;display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.service-card--featured .service-card-top{height:210px}.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:#a28d70}.service-card--featured .service-number{color:#cbb493}.service-card h2{font-size:clamp(1.8rem,2.5vw,2.7rem);margin:12px 0 18px;max-width:13ch}.service-card>p{color:#47594c;max-width:53ch}.service-card--featured>p{color:#e0e9df}.service-card details{margin-top:auto;border-top:1px solid #aeb8aa}.service-card--featured details{border-color:#738779}.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 #806344;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:125px}.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}
/* The compliance card uses the full width when its illustration is absent. */
.service-card--wide{display:flex}.service-card--wide .service-card-top{height:145px}.service-card--wide h2,.service-card--wide>p{max-width:30ch}
/* About page narrative */
.about-hero{background:#e3e2d6}.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:#193027;color:#f5f1e9;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:#d7e1d7;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 #789080;padding-top:28px}.about-principle-grid h3{font-size:1.8rem}.about-principle-grid p{color:#d7e1d7}.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:#e5dccd;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:#806344}@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:#e3e2d6}.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:#f5f1e9;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:#526056}.contact-page-info h2{max-width:480px}.contact-facts{margin-top:45px;border-top:1px solid #c4cbbf}.contact-facts>div{display:grid;grid-template-columns:42% 1fr;gap:15px;border-bottom:1px solid #c4cbbf;padding:17px 0}.contact-facts span{color:#526056;font-size:.82rem}.contact-facts strong{font-weight:400}.contact-page-info .contact-care{margin-top:30px;font-size:.85rem}.contact-form-card{background:#e7e3d8;padding:clamp(28px,4vw,52px)}.contact-form-heading h2{font-size:2.4rem;margin-bottom:12px}.contact-form-heading p{font-size:.9rem;color:#526056;max-width:440px}.contact-form-card label{font-weight:600;color:#263b2e}.contact-form-card input,.contact-form-card textarea{background:#f8f7f1;border-color:#aebaae}.contact-form-card button{width:100%;justify-content:center}.contact-form-privacy{font-size:.78rem;color:#526056;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:#f5f1e9;font-size:.82rem}.portal-gateway{min-height:100vh;background:#e3e2d6;padding:35px 20px 80px}.portal-back{display:block;max-width:900px;margin:0 auto 40px;color:#193027}.portal-gateway-card{max-width:720px;margin:auto;background:#f5f1e9;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:#193027;border-bottom:1px solid #806344;display:inline-block;margin-bottom:32px}.portal-instructions{background:#e5dccd;padding:24px;margin:30px 0}.portal-instructions h2{font-size:1.6rem}.portal-instructions code{display:block;background:#193027;color:#f5f1e9;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}
