
:root{
  --paper:#f6f1eb;
  --ivory:#fbf9f5;
  --taupe:#aa9078;
  --taupe-dark:#8d735e;
  --stone:#ded5cb;
  --ink:#171513;
  --muted:#625b55;
  --line:#cfbeaa;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.site-header{
  height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 4.5vw;
  background:rgba(251,249,245,.97);
  border-bottom:1px solid rgba(23,21,19,.08);
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:blur(12px);
}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-word{
  font-family:"Cormorant Garamond",serif;
  font-size:31px;
  letter-spacing:.20em;
  white-space:nowrap;
  position:relative;
}
.brand-word.small{font-size:26px}
.o-wrap{position:relative;display:inline-block}
.dove{
  position:absolute;
  width:30px;
  height:21px;
  left:50%;
  bottom:80%;
  transform:translateX(-50%) rotate(-3deg);
  color:var(--taupe);
  overflow:visible;
}
.brand-sub{
  font-size:9px;
  letter-spacing:.34em;
  color:var(--taupe-dark);
  margin-top:9px;
}
.nav{display:flex;align-items:center;gap:1.7rem;font-size:12px}
.nav>a:not(.nav-cta){padding:.35rem 0;border-bottom:1px solid transparent}
.nav>a:not(.nav-cta):hover{border-color:var(--taupe)}
.nav-cta,.button{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  border:1px solid var(--taupe);
  padding:14px 19px;
}
.nav-cta{background:var(--taupe);color:#fff}
.menu-toggle{display:none;border:0;background:none;font:inherit}

.hero{
  min-height:calc(100vh - 100px);
  display:grid;
  grid-template-columns:50% 50%;
  background:var(--ivory);
}
.hero-copy{
  padding:9vh 6vw 8vh 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.fine-rule{
  width:54px;
  height:1px;
  background:var(--taupe);
  margin-bottom:2.6rem;
}
h1,h2{font-family:"Cormorant Garamond",serif;font-weight:500;margin:0;line-height:1.02}
h1{font-size:clamp(58px,6.3vw,105px);max-width:760px}
h1 em{font-weight:400;color:var(--taupe-dark)}
.hero-copy p{
  max-width:610px;
  font-size:18px;
  line-height:1.75;
  color:var(--muted);
  margin:2rem 0 2.3rem;
}
.button{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:1.2rem;
  background:transparent;
}
.button:hover{background:var(--taupe);color:#fff}
.hero-visual{margin:0;min-height:650px;overflow:hidden;background:var(--stone)}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 20%}

.belief{
  min-height:78vh;
  padding:10rem 10vw;
  display:flex;
  align-items:center;
  background:var(--paper);
  border-top:1px solid rgba(23,21,19,.06);
}
.belief-inner{max-width:1250px}
.belief-intro{
  margin:.2rem 0;
  color:var(--taupe-dark);
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:12px;
}
.belief h2{
  font-size:clamp(52px,6.3vw,98px);
  max-width:1200px;
  margin-top:2.2rem;
}

.why-walldove{
  padding:10rem 8vw 9rem;
  background:var(--ivory);
  border-top:1px solid rgba(23,21,19,.06);
}
.why-intro{
  max-width:980px;
  margin-bottom:6.5rem;
}
.why-intro h2{
  font-size:clamp(54px,6vw,92px);
  max-width:1000px;
}
.why-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:8vw;
  align-items:start;
  padding-bottom:7rem;
  border-bottom:1px solid var(--line);
}
.why-lead p{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(34px,3.6vw,56px);
  line-height:1.08;
  margin:0;
}
.why-copy p{
  margin:0 0 1.6rem;
  color:var(--muted);
  font-size:16px;
  line-height:1.85;
}
.why-principles{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:5rem;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.why-principles article{
  padding:2.8rem 2rem 3rem;
  min-height:310px;
  border-right:1px solid var(--line);
}
.why-principles article:last-child{border-right:0}
.why-principles span{
  color:var(--taupe-dark);
  font-family:"Cormorant Garamond",serif;
  font-size:22px;
}
.why-principles h3{
  font-family:"Cormorant Garamond",serif;
  font-weight:500;
  font-size:31px;
  margin:1.5rem 0 1rem;
}
.why-principles p{
  color:var(--muted);
  font-size:14px;
  line-height:1.75;
  margin:0;
}

.next-section{
  padding:8rem 10vw;
  background:var(--stone);
}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--taupe-dark)}
.next-section h2{font-size:clamp(44px,5vw,72px);margin:1rem 0}
.next-section p{max-width:650px;color:var(--muted)}

footer{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:2rem;
  padding:3.2rem 5vw;
  background:#e8dfd5;
  border-top:1px solid rgba(23,21,19,.08);
}
.footer-brand{display:flex;flex-direction:column;line-height:1}
.footer-contact{display:flex;gap:1.6rem;font-size:11px;color:var(--muted)}


/* v1.6 — refined brand story and editorial services */
.why-intro .eyebrow{margin-bottom:1.4rem}
.principle-dove{
  width:34px;
  height:24px;
  color:var(--taupe-dark);
  display:block;
}
.why-principles span{display:none}
.philosophy-pause{
  padding:10rem 7vw 3rem;
  text-align:center;
}
.philosophy-pause h2{
  max-width:1100px;
  margin:0 auto;
  font-size:clamp(48px,5.6vw,86px);
  line-height:1.08;
}

.help-section{
  background:var(--paper);
  padding:10rem 0 0;
}
.help-header{
  max-width:940px;
  padding:0 8vw 8rem;
}
.help-header h2{
  font-size:clamp(52px,6vw,88px);
  margin-bottom:2rem;
}
.help-header>p:last-child{
  max-width:760px;
  color:var(--muted);
  font-size:17px;
  line-height:1.85;
}
.journey{
  display:grid;
  grid-template-columns:58% 42%;
  min-height:720px;
  border-top:1px solid rgba(23,21,19,.08);
}
.journey-private{grid-template-columns:42% 58%;background:var(--stone)}
.journey-forensic{background:var(--ivory)}
.journey-image{min-height:720px;overflow:hidden}
.journey-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s ease;
}
.journey:hover .journey-image img{transform:scale(1.018)}
.journey-copy{
  padding:8rem 5.5vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.journey-copy h3{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(45px,4.6vw,72px);
  font-weight:500;
  line-height:1.04;
  margin:0 0 2rem;
}
.journey-copy>p:not(.eyebrow){
  color:var(--muted);
  line-height:1.8;
  font-size:16px;
  max-width:610px;
}
.capabilities{
  margin-top:2.5rem;
  border-top:1px solid var(--line);
}
.capabilities span{
  display:block;
  padding:1rem 0;
  border-bottom:1px solid var(--line);
  font-size:13px;
  letter-spacing:.035em;
}
.relationship-pause{
  min-height:62vh;
  padding:9rem 8vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  background:var(--taupe-dark);
  color:var(--ivory);
}
.relationship-pause p{
  margin:0 0 1.2rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
  color:#eadfd5;
}
.relationship-pause h2{
  font-size:clamp(58px,7vw,105px);
}


/* v1.7 — Meet Walldove */
.meet-walldove{
  min-height:calc(100vh - 100px);
  display:grid;
  grid-template-columns:48% 52%;
  background:var(--ivory);
  border-top:1px solid rgba(23,21,19,.08);
}
.meet-hero-copy{
  padding:9rem 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.meet-hero-copy h2{
  font-size:clamp(62px,7vw,110px);
  max-width:760px;
}
.meet-hero-copy>p:last-child{
  max-width:600px;
  color:var(--muted);
  font-size:17px;
  line-height:1.85;
  margin-top:2.2rem;
}
.meet-hero-image{
  margin:0;
  min-height:780px;
  overflow:hidden;
  background:var(--stone);
}
.meet-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:46% center;
}

.founder-story{
  display:grid;
  grid-template-columns:48% 52%;
  background:var(--paper);
}
.founder-image{
  min-height:760px;
  overflow:hidden;
}
.founder-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.founder-copy{
  padding:8.5rem 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.founder-copy h2{
  font-size:clamp(50px,5.4vw,82px);
  margin-bottom:2rem;
}
.founder-copy p{
  color:var(--muted);
  line-height:1.85;
  font-size:16px;
  max-width:720px;
}
.founder-copy blockquote{
  margin:2rem 0;
  padding:0 0 0 1.5rem;
  border-left:2px solid var(--taupe);
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(35px,3.7vw,55px);
  font-style:italic;
  line-height:1.08;
  color:var(--taupe-dark);
}
.founder-copy .founder-emphasis{
  color:var(--ink);
  font-weight:600;
}

.trusted-experience{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:8vw;
  padding:9rem 8vw;
  background:var(--stone);
  border-top:1px solid rgba(23,21,19,.08);
}
.experience-intro h2{
  font-size:clamp(47px,5vw,75px);
  margin-bottom:1.5rem;
}
.experience-intro>p:last-child{
  color:var(--muted);
  max-width:580px;
  line-height:1.8;
}
.experience-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-content:center;
  border-top:1px solid var(--line);
}
.experience-list span{
  padding:1.25rem 0;
  border-bottom:1px solid var(--line);
  font-family:"Cormorant Garamond",serif;
  font-size:25px;
}
.experience-list span:nth-child(odd){
  padding-right:2rem;
}
.experience-list span:nth-child(even){
  padding-left:2rem;
  border-left:1px solid var(--line);
}

.professional-membership{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:8vw;
  padding:8rem 8vw;
  background:var(--ivory);
}
.professional-membership h2{
  font-size:clamp(45px,5vw,72px);
}
.membership-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);
}
.membership-grid article{
  padding:2rem 2rem 2rem 0;
  border-bottom:1px solid var(--line);
}
.membership-grid article+article{
  padding-left:2rem;
  border-left:1px solid var(--line);
}
.membership-grid h3{
  font-family:"Cormorant Garamond",serif;
  font-size:29px;
  font-weight:500;
  margin:0 0 .8rem;
}
.membership-grid p{
  color:var(--muted);
  line-height:1.7;
  margin:0;
}

.human-statement{
  padding:11rem 8vw;
  background:var(--taupe-dark);
  color:var(--ivory);
}
.human-statement-inner{
  max-width:1150px;
  margin:0 auto;
  text-align:center;
}
.human-statement p{
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:11px;
  color:#eadfd5;
  margin:0 0 2rem;
}
.human-statement h2{
  font-size:clamp(52px,6vw,91px);
  line-height:1.08;
}
.human-statement strong{
  display:block;
  margin:2rem 0 3rem;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(29px,3vw,43px);
  font-style:italic;
  font-weight:500;
  color:#f1e8df;
}
.light-button{
  border-color:#e6d6c5;
  color:var(--ivory);
}
.light-button:hover{
  background:var(--ivory);
  color:var(--taupe-dark);
}


/* v1.8 — refined founder presentation */
.founder-image img{
  object-position:center 24%;
}
.experience-side{
  display:grid;
  grid-template-columns:1.1fr .7fr;
  gap:3.5rem;
  align-items:stretch;
}
.experience-portrait{
  margin:0;
  min-height:430px;
  overflow:hidden;
  background:var(--ivory);
  display:flex;
  align-items:center;
  justify-content:center;
}
.experience-portrait img{
  width:100%;
  height:auto;
  max-height:620px;
  object-fit:contain;
  object-position:center;
  filter:grayscale(100%);
}


/* v2.0 — Trusted Experience typography and forensic portrait */
.experience-list-full{
  grid-template-columns:1fr 1fr;
  align-self:center;
  width:100%;
}
.experience-list-full span{
  font-size:clamp(27px,2.4vw,39px);
  padding:1.45rem 0;
}
.journey-forensic .journey-image{
  background:#d6d0ca;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:4rem;
}
.journey-forensic .journey-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  filter:grayscale(100%);
  transform:none;
}
.journey-forensic:hover .journey-image img{
  transform:none;
}


/* v2.1 — Insights */
.insights-section{
  background:var(--paper);
  border-top:1px solid rgba(23,21,19,.08);
}
.insights-header{
  max-width:1120px;
  padding:10rem 8vw 7rem;
}
.insights-header h2{
  font-size:clamp(56px,6.7vw,102px);
  line-height:1.02;
  max-width:1050px;
}
.insights-image{
  margin:0;
  width:100%;
  height:min(76vh,860px);
  min-height:580px;
  overflow:hidden;
  background:var(--stone);
}
.insights-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 34%;
}
.insights-thinking{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:9vw;
  padding:10rem 8vw;
  background:var(--ivory);
}
.insights-thinking-heading h3{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(44px,4.8vw,72px);
  font-weight:500;
  line-height:1.05;
  margin:0;
}
.insights-thinking-copy p{
  max-width:720px;
  margin:0 0 1.6rem;
  color:var(--muted);
  font-size:16px;
  line-height:1.85;
}
.insights-statement{
  min-height:70vh;
  padding:10rem 8vw;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:var(--taupe-dark);
  color:var(--ivory);
}
.insights-statement p{
  margin:0 0 1.4rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
  color:#eadfd5;
}
.insights-statement h3{
  max-width:1100px;
  margin:0;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(60px,7vw,110px);
  font-weight:500;
  line-height:1;
}
.insights-conversation{
  padding:9rem 8vw;
  text-align:center;
  background:var(--paper);
}
.insights-conversation h3{
  max-width:900px;
  margin:0 auto 2.7rem;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(45px,5.2vw,78px);
  font-weight:500;
  line-height:1.05;
}
.insights-conversation .button{
  align-self:auto;
}


/* v2.2 — approved content updates and client reflections */
.journey-business .journey-image img{object-position:center 42%}
.journey-private .journey-image img{object-position:center;filter:grayscale(100%)}
.insights-image img{object-position:center;filter:grayscale(100%)}

.client-reflection{
  min-height:56vh;padding:9rem 10vw;display:flex;flex-direction:column;
  justify-content:center;align-items:center;text-align:center;
}
.client-reflection p{
  max-width:1050px;margin:0;font-family:"Cormorant Garamond",serif;
  font-size:clamp(48px,5.8vw,88px);font-style:italic;font-weight:400;line-height:1.07;
}
.client-reflection span{
  margin-top:2.3rem;text-transform:uppercase;letter-spacing:.17em;font-size:11px;color:var(--taupe-dark);
}
.client-reflection-light{
  background:var(--ivory);color:var(--ink);
  border-top:1px solid rgba(23,21,19,.07);border-bottom:1px solid rgba(23,21,19,.07);
}
.client-reflection-dark{background:var(--stone);color:var(--ink)}

.signature-ending{
  padding:11rem 8vw;text-align:center;background:var(--paper);
  border-top:1px solid rgba(23,21,19,.08);
}
.signature-ending h2{
  max-width:1100px;margin:0 auto;font-size:clamp(58px,7vw,108px);line-height:1.01;
}
.signature-ending>p:not(.eyebrow){
  margin:1.8rem 0 3rem;font-family:"Cormorant Garamond",serif;
  font-size:clamp(31px,3.6vw,52px);font-style:italic;color:var(--taupe-dark);
}
.signature-ending .button{display:inline-flex;align-self:auto}
.button,.nav-cta{transition:background-color .25s ease,color .25s ease,border-color .25s ease}
a:focus-visible,button:focus-visible{outline:2px solid var(--taupe-dark);outline-offset:4px}


/* v3.0 refinement */
.hero-visual img{object-position:center 18%}
.journey-private .journey-image img{object-position:center 46%}
.founder-image img{object-position:center 20%}
.client-reflection{position:relative;overflow:hidden}
.client-reflection::before,
.client-reflection::after{
  position:absolute;
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(150px,19vw,300px);
  line-height:1;
  color:rgba(170,144,120,.10);
  pointer-events:none;
}
.client-reflection::before{content:"“";top:1.5rem;left:4vw}
.client-reflection::after{content:"”";right:4vw;bottom:-4rem}
.client-reflection p,.client-reflection span{position:relative;z-index:1}
.hero,.meet-walldove,.founder-story,.journey{overflow:hidden}
.site-header{box-shadow:0 1px 0 rgba(23,21,19,.025)}
.nav a{transition:color .2s ease,border-color .2s ease}
.nav a:hover{color:var(--taupe-dark)}


/* v3.1 refinements */
.hero-copy{
  padding-top:4.75rem;
  justify-content:flex-start;
}
.hero-visual img{
  object-position:center 10%;
}

/* Business Advisory: reveal more of the meeting and other participants. */
.journey-business .journey-image{
  background:var(--stone);
}
.journey-business .journey-image img{
  object-fit:contain;
  object-position:center;
  padding:1rem;
}

/* Insights: favour the lower architectural portion of the City image. */
.insights-image img{
  object-position:center 82%;
}

/* Founder copy spacing */
.founder-copy p{
  margin-bottom:1.45rem;
}

/* Stronger, simpler belief statement */
.belief-inner{
  text-align:center;
}
.belief-inner h2{
  max-width:1000px;
  margin:0 auto;
}

/* Contact Us */
.contact-us{
  display:grid;
  grid-template-columns:48% 52%;
  min-height:78vh;
  background:var(--ivory);
  border-top:1px solid rgba(23,21,19,.08);
}
.contact-copy{
  padding:9rem 7vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact-copy h2{
  font-size:clamp(52px,6vw,90px);
  line-height:1.03;
  margin-bottom:2rem;
}
.contact-copy>p{
  max-width:680px;
  color:var(--muted);
  line-height:1.85;
  margin:0 0 1.4rem;
}
.contact-details{
  display:flex;
  flex-direction:column;
  gap:.65rem;
  margin:2rem 0 2.8rem;
  font-family:"Cormorant Garamond",serif;
  font-size:24px;
}
.contact-details a{
  color:var(--ink);
  text-decoration:none;
}
.contact-image{
  margin:0;
  min-height:720px;
  overflow:hidden;
}
.contact-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


/* v3.2 refinements */
.belief{
  min-height:72vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8rem 5vw;
}
.belief-inner{
  width:min(1600px,100%);
  text-align:center;
}
.belief-kicker{
  margin-bottom:1.25rem;
}
.belief-inner h2{
  max-width:none;
  margin:0 auto;
  white-space:nowrap;
  font-size:clamp(58px,6vw,104px);
  line-height:.98;
  letter-spacing:-.035em;
}
.belief-taupe{
  color:var(--taupe-dark);
}

/* Level the Insights city image while retaining the lower street/Bank of England detail. */
.insights-image{
  overflow:hidden;
}
.insights-image img{
  width:104%;
  height:104%;
  max-width:none;
  object-fit:cover;
  object-position:center 82%;
  transform:rotate(-1.35deg) scale(1.025);
  transform-origin:center center;
}

/* Contact: use a wider image area so more of Audley End House is visible. */
.contact-us{
  grid-template-columns:40% 60%;
  min-height:650px;
}
.contact-image{
  position:relative;
  min-height:540px;
  background:var(--stone);
}
.contact-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.contact-image figcaption{
  position:absolute;
  left:1.5rem;
  bottom:1.25rem;
  padding:.5rem .7rem;
  background:rgba(248,245,240,.88);
  color:var(--ink);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(4px);
}


/* v3.3 — three surgical refinements only */

/* 1) Move only the small “Why us?” label to the left. */
.belief-kicker-left{
  text-align:left;
  width:100%;
}

/* 2) Founder emphasis text: change black emphasis to Walldove taupe, keep layout unchanged. */
.founder-copy .founder-emphasis{
  color:var(--taupe-dark);
  font-weight:600;
}

/* 3) Contact image: show the complete Audley End House photograph without cropping. */
.contact-image{
  background:var(--ivory);
  display:flex;
  align-items:center;
  justify-content:center;
}
.contact-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}


/* v3.4 — Contact page landscape composition only */
.contact-us-landscape{
  display:block;
  min-height:auto;
  background:var(--ivory);
}
.contact-us-landscape .contact-copy{
  max-width:1180px;
  margin:0 auto;
  padding:8rem 8vw 5rem;
  display:block;
  text-align:left;
}
.contact-us-landscape .contact-copy h2{
  max-width:980px;
}
.contact-us-landscape .contact-copy>p{
  max-width:820px;
}
.contact-us-landscape .contact-details{
  max-width:560px;
}
.contact-us-landscape .contact-image{
  width:100%;
  min-height:0;
  height:auto;
  margin:0;
  padding:0 5vw 5vw;
  background:var(--ivory);
  display:block;
  position:relative;
}
.contact-us-landscape .contact-image img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
  display:block;
}
.contact-us-landscape .contact-image figcaption{
  left:calc(5vw + 1rem);
  bottom:calc(5vw + 1rem);
}


/* v3.5 — Contact page redesign only */
.contact-us-elegant{
  display:block;
  background:var(--ivory);
  border-top:1px solid rgba(23,21,19,.08);
}

.contact-intro{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:8vw;
  padding:9rem 8vw 7rem;
  position:relative;
}

.contact-intro::before{
  content:"";
  position:absolute;
  left:8vw;
  right:8vw;
  top:0;
  height:1px;
  background:var(--line);
}

.contact-title-block{
  padding-right:2rem;
}

.contact-title-block h2{
  margin:0;
  font-size:clamp(54px,6vw,92px);
  line-height:1.01;
  max-width:820px;
}

.contact-title-block h2 span{
  color:var(--taupe-dark);
  font-weight:400;
}

.contact-body{
  align-self:end;
  padding-top:2.25rem;
}

.contact-body>p{
  max-width:690px;
  margin:0 0 1.5rem;
  color:var(--muted);
  line-height:1.85;
  font-size:16px;
}

.contact-details-refined{
  margin:2.6rem 0 2.8rem;
  padding:1.5rem 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.5rem;
  font-family:"Cormorant Garamond",serif;
  font-size:24px;
}

.contact-details-refined a{
  color:var(--ink);
}

.contact-details-refined a:last-child{
  text-align:right;
}

.contact-image-wrap{
  background:var(--taupe);
  padding:2.2rem 4vw 4vw;
}

.contact-image-elegant{
  margin:0;
  position:relative;
  overflow:hidden;
  background:#d7cec4;
}

.contact-image-elegant::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:28%;
  background:linear-gradient(to top, rgba(17,15,13,.46), rgba(17,15,13,0));
  pointer-events:none;
}

.contact-image-elegant img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

.contact-image-elegant figcaption{
  position:absolute;
  left:1.6rem;
  bottom:1.35rem;
  z-index:2;
  padding:0;
  background:none;
  color:#fff;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-shadow:0 1px 8px rgba(0,0,0,.6);
  backdrop-filter:none;
}


/* v3.6 – Contact page spacing refinement */
.contact-body{
  padding-top:0.75rem !important;
}
.contact-body > p:first-child{
  margin-top:0 !important;
}


/* v3.8 — verified fixes */

/* Contact copy: align toward the top rather than the bottom of the grid cell. */
.contact-us-elegant .contact-body{
  align-self:start !important;
  padding-top:4.35rem !important;
  margin-top:0 !important;
}
.contact-us-elegant .contact-body > p:first-child{
  margin-top:0 !important;
}


/* v3.9 — Meet Walldove and Contact Us layout refinements */

/* Ensure sticky navigation never obscures section headings when menu links are used. */
#meet-us,
#contact{
  scroll-margin-top:112px;
}

/* 1) Meet Walldove: start the text higher so the full introduction is visible on entry. */
.meet-hero-copy{
  justify-content:flex-start !important;
  padding-top:5rem !important;
  padding-bottom:5rem !important;
}

/* 2 & 3) Contact Us: one-page composition, all information left, landscape image in taupe panel right. */
.contact-us-elegant{
  display:grid !important;
  grid-template-columns:52% 48% !important;
  min-height:calc(100vh - 100px);
  max-width:none;
  background:var(--ivory);
  align-items:stretch;
}

.contact-us-elegant .contact-intro{
  display:block !important;
  padding:5rem 5.5vw 4.25rem !important;
  position:relative;
}

.contact-us-elegant .contact-intro::before{
  left:5.5vw !important;
  right:5.5vw !important;
}

.contact-us-elegant .contact-title-block{
  padding-right:0;
  margin-bottom:2rem;
}

.contact-us-elegant .contact-title-block h2{
  font-size:clamp(46px,4.7vw,72px);
  line-height:1.02;
  max-width:760px;
  margin-bottom:0;
}

.contact-us-elegant .contact-body{
  align-self:auto !important;
  padding-top:0 !important;
  margin-top:0 !important;
  max-width:720px;
}

.contact-us-elegant .contact-body > p{
  font-size:15px;
  line-height:1.72;
  margin-bottom:1.05rem;
}

.contact-us-elegant .contact-details-refined{
  margin:1.7rem 0 2rem;
  padding:1rem 0;
  font-size:21px;
  gap:1rem;
}

/* Taupe image panel on the right. */
.contact-us-elegant .contact-image-wrap{
  background:var(--taupe) !important;
  padding:3.25rem 3vw !important;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.contact-us-elegant .contact-image-elegant{
  width:100%;
  margin:0;
  position:relative;
  overflow:hidden;
  background:transparent;
}

.contact-us-elegant .contact-image-elegant img{
  width:100%;
  height:auto;
  max-height:64vh;
  object-fit:contain !important;
  object-position:center;
  display:block;
}

/* Caption sits directly on image with no box. */
.contact-us-elegant .contact-image-elegant figcaption{
  position:absolute;
  left:1rem;
  bottom:.9rem;
  padding:0 !important;
  background:none !important;
  color:#fff !important;
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
  text-shadow:0 1px 7px rgba(0,0,0,.75);
  backdrop-filter:none !important;
  z-index:2;
}


/* v4.0 — completely rethought Insights page */
.insights-v4{
  background:var(--ivory);
  border-top:1px solid rgba(23,21,19,.08);
}

.insights-v4-hero{
  display:grid;
  grid-template-columns:52% 48%;
  min-height:calc(100vh - 100px);
}

.insights-v4-copy{
  padding:7rem 6vw 6rem 8vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.insights-v4-copy h2{
  font-size:clamp(60px,7vw,108px);
  line-height:1;
  margin:0 0 2rem;
  max-width:760px;
}

.insights-v4-copy p{
  max-width:720px;
  color:var(--muted);
  font-size:16px;
  line-height:1.82;
  margin:0 0 1.35rem;
}

.insights-v4-copy .insights-v4-lead{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(29px,2.7vw,42px);
  line-height:1.16;
  color:var(--ink);
  margin-bottom:1.8rem;
}

.insights-v4-image{
  margin:0;
  min-height:650px;
  overflow:hidden;
  background:var(--stone);
}

.insights-v4-image img{
  width:104%;
  height:104%;
  max-width:none;
  object-fit:cover;
  object-position:center 82%;
  transform:rotate(-1.35deg) scale(1.025);
  transform-origin:center center;
  filter:grayscale(100%);
}

.insights-v4-themes{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:var(--paper);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.insights-v4-theme{
  padding:3rem 2.4rem 3.3rem;
  min-height:300px;
  border-right:1px solid var(--line);
}

.insights-v4-theme:last-child{
  border-right:0;
}

.insights-v4-theme span{
  display:block;
  color:var(--taupe-dark);
  font-family:"Cormorant Garamond",serif;
  font-size:22px;
  margin-bottom:1.5rem;
}

.insights-v4-theme h3{
  margin:0 0 1rem;
  font-family:"Cormorant Garamond",serif;
  font-size:34px;
  font-weight:500;
}

.insights-v4-theme p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.72;
}


/* v4.1 — Insights theme refinements only */
.insights-v4-theme{
  min-height:320px;
}

.insights-v4-theme > span{
  display:none;
}

.insights-dove{
  display:block;
  width:35px;
  height:24px;
  color:var(--taupe-dark);
  margin:0 0 1.8rem;
}

.insights-v4-theme h3{
  margin-top:0;
}


/* v4.2 — Home navigation anchor correction */
/* The sticky header is 100px high. When Home (#top) is selected, leave
   sufficient space above the homepage content so the opening words are
   fully visible rather than sitting beneath the navigation bar. */
#top{
  scroll-margin-top:100px;
}

/* v4.15 — clean desktop composition system rebuilt from v4.9 visual baseline.
   Desktop only. Tablet/mobile continue to use the original responsive flow. */
.brand-logo{display:block;width:auto;max-width:100%;background:transparent}
.brand-logo-header{height:66px}
.brand-logo-footer{height:68px}
.approved-dove-mark{display:block;object-fit:contain;object-position:left center}
.principle-dove.approved-dove-mark,.insights-dove.approved-dove-mark{width:36px;height:30px}

/* New services overview: three restrained panels, no internal rule-list styling. */
.services-overview-page{background:var(--ivory);border-top:1px solid rgba(23,21,19,.06)}
.services-overview-header{padding:0 7vw}
.services-overview-header h2{font-size:clamp(48px,5vw,72px);margin:.55rem 0 0}
.services-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;padding:0 7vw;background:transparent}
.service-overview-card{border:1px solid rgba(170,144,120,.45);background:rgba(255,255,255,.28);padding:2.2rem 2.25rem;display:flex;flex-direction:column;min-width:0}
.service-overview-card h3{font-family:"Cormorant Garamond",serif;font-size:clamp(30px,2.6vw,40px);font-weight:500;line-height:1.04;margin:.65rem 0 1.25rem}
.service-overview-card ul{list-style:none;padding:0;margin:0 0 1.35rem}
.service-overview-card li{padding:.36rem 0;color:var(--muted);font-size:13px;line-height:1.4}
.service-overview-link{margin-top:auto;color:var(--taupe-dark);text-transform:uppercase;letter-spacing:.12em;font-size:9px}

@media (min-width:1051px){
  :root{--desktop-page:calc(100vh - 100px)}
  #top,#philosophy,#how-we-help,#business-advisory,#private-client-advisory,#forensic-accounting,#meet-us,#meet-walldove,#insights,#contact{scroll-margin-top:100px}

  /* Every visual page is exactly the available desktop canvas. */
  .hero,.belief,.why-story-page,.why-principles-page,.philosophy-pause-page,
  .services-overview-page,.help-intro-page,.journey,.client-reflection,
  .founder-story,.meet-walldove,.trusted-experience,.human-statement,
  .insights-v4-hero,.insights-themes-page,.contact-us-elegant{
    height:var(--desktop-page);min-height:0;overflow:hidden;
  }

  /* Homepage */
  .hero{grid-template-columns:50% 50%}
  .hero-copy{padding:5vh 6vw 5vh 7vw}
  h1{font-size:clamp(54px,6.1vh,78px)}
  .hero-copy p{font-size:16px;line-height:1.65;margin:1.5rem 0 1.8rem}
  .hero-visual{min-height:0;height:100%;display:flex;align-items:center;justify-content:center;background:var(--stone)}
  .hero-visual img{width:100%;height:100%;object-fit:contain;object-position:center}

  /* Why us */
  .belief{padding:7vh 9vw;align-items:center}
  .belief h2{font-size:clamp(54px,7.2vh,84px);margin-top:1.4rem;max-width:1120px}

  /* Walldove story */
  .why-story-page{padding:6vh 8vw;background:var(--ivory);display:flex;flex-direction:column;justify-content:center}
  .why-intro{margin:0 0 4vh;max-width:980px}
  .why-intro h2{font-size:clamp(46px,6.1vh,68px);line-height:1.02}
  .why-grid{grid-template-columns:.9fr 1.1fr;gap:7vw;padding:0;border:0}
  .why-lead p{font-size:clamp(31px,4.1vh,46px)}
  .why-copy p{font-size:14px;line-height:1.65;margin:0 0 1rem}

  .why-principles-page{background:var(--ivory);padding:7vh 7vw;display:flex;align-items:center}
  .why-principles{width:100%;margin:0;grid-template-columns:repeat(4,1fr)}
  .why-principles article{min-height:0;height:42vh;padding:4.5vh 2rem}
  .why-principles h3{font-size:clamp(27px,3.5vh,34px);margin:2vh 0 1.2vh}
  .why-principles p{font-size:13px;line-height:1.62}

  .philosophy-pause-page{background:var(--ivory);display:flex;align-items:center;justify-content:center}
  .philosophy-pause{padding:0 9vw;text-align:center}
  .philosophy-pause h2{font-size:clamp(48px,7vh,78px);max-width:1100px}

  /* Services overview */
  .services-overview-page{display:flex;flex-direction:column;justify-content:center;padding:5vh 0}
  .services-overview-header{margin-bottom:3.2vh}
  .services-overview-header h2{font-size:clamp(46px,6vh,68px)}
  .services-overview{gap:1.5rem}
  .service-overview-card{height:45vh;min-height:330px;max-height:390px;padding:3vh 2rem}
  .service-overview-card h3{font-size:clamp(29px,3.7vh,38px)}
  .service-overview-card li{font-size:12.5px;padding:.32rem 0}

  /* Clear thinking intro */
  .help-section{padding:0;background:var(--paper)}
  .help-intro-page{max-width:none;padding:7vh 8vw;display:flex;flex-direction:column;justify-content:center}
  .help-header h2{font-size:clamp(52px,7.2vh,82px);max-width:1000px;margin:1vh 0 2.5vh}
  .help-header>p:last-child{font-size:15px;line-height:1.7;max-width:760px;margin:0}

  /* Service pages */
  .journey{grid-template-columns:58% 42%;border-top:1px solid rgba(23,21,19,.08)}
  .journey-private{grid-template-columns:42% 58%}
  .journey-image{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--stone)}
  .journey-image img{width:100%;height:100%;object-fit:cover}
  .journey-business .journey-image img{object-position:center 42%}
  .journey-private .journey-image img{object-position:center 46%}
  .journey-forensic .journey-image{padding:4vh 4vw}
  .journey-forensic .journey-image img{object-fit:contain;object-position:center}
  .journey-copy{padding:5vh 5vw}
  .journey-copy h3{font-size:clamp(43px,6vh,66px);margin:1vh 0 2.2vh}
  .journey-copy>p:not(.eyebrow){font-size:14px;line-height:1.65;margin:0}
  .capabilities{margin-top:2.5vh}
  .capabilities span{padding:1.05vh 0;font-size:12px}

  .client-reflection{padding:7vh 9vw;display:flex;flex-direction:column;justify-content:center;min-height:0}
  .client-reflection p{font-size:clamp(40px,6vh,64px);line-height:1.08;max-width:1100px}

  /* Founder / Meet Walldove */
  .founder-story{grid-template-columns:43% 57%}
  .founder-image{height:100%;min-height:0;background:var(--stone);display:flex;align-items:center;justify-content:center}
  .founder-image img{width:100%;height:100%;object-fit:contain;object-position:center}
  .founder-copy{padding:4.2vh 5.5vw}
  .founder-copy h2{font-size:clamp(43px,5.8vh,62px);margin:1vh 0 1.8vh}
  .founder-copy p{font-size:13px;line-height:1.52;margin:.7vh 0}
  .founder-copy blockquote{font-size:clamp(27px,4vh,39px);margin:1.6vh 0;padding-left:1.25rem}

  .meet-walldove{grid-template-columns:45% 55%}
  .meet-hero-copy{padding:5vh 6vw!important;justify-content:center!important}
  .meet-hero-copy h2{font-size:clamp(50px,7vh,76px)}
  .meet-hero-copy>p:last-child{font-size:15px;line-height:1.68;margin-top:2vh}
  .meet-hero-image{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--stone)}
  .meet-hero-image img{width:100%;height:100%;object-fit:contain;object-position:center}

  /* Experience */
  .trusted-experience{padding:7vh 8vw;gap:7vw;align-items:center}
  .experience-intro h2{font-size:clamp(45px,6.2vh,68px);margin:1vh 0 2vh}
  .experience-intro>p:last-child{font-size:14px;line-height:1.65}
  .experience-list{font-size:clamp(20px,2.8vh,28px)}
  .experience-list span{padding:1.6vh 0}

  /* Human statement */
  .human-statement{padding:6vh 8vw;display:flex;align-items:center}
  .human-statement-inner{max-width:1180px}
  .human-statement p{font-size:10px;margin-bottom:3vh}
  .human-statement h2{font-size:clamp(46px,7.1vh,76px);line-height:1.02;margin:0 0 2.5vh}
  .human-statement strong{margin-bottom:3vh}

  /* Insights: two distinct pages */
  .insights-v4{background:var(--ivory)}
  .insights-v4-hero{grid-template-columns:52% 48%}
  .insights-v4-copy{padding:5vh 5vw 5vh 7vw}
  .insights-v4-copy h2{font-size:clamp(48px,6.5vh,72px);margin:1vh 0 2vh}
  .insights-v4-copy .insights-v4-lead{font-size:clamp(24px,3.2vh,34px);margin-bottom:2vh}
  .insights-v4-copy p{font-size:13px;line-height:1.58;margin:0 0 1.2vh}
  .insights-v4-image{height:100%;min-height:0}
  .insights-v4-image img{height:104%;width:104%;object-fit:cover;object-position:center 82%}
  .insights-themes-page{background:var(--paper);display:flex;align-items:center;padding:7vh 6vw}
  .insights-themes-page .insights-v4-themes{width:100%;border:1px solid var(--line)}
  .insights-v4-theme{min-height:0;height:40vh;padding:4vh 2rem}
  .insights-v4-theme h3{font-size:clamp(28px,3.8vh,36px);margin:1.5vh 0}
  .insights-v4-theme p{font-size:13px;line-height:1.6}

  /* Contact */
  .contact-us-elegant{grid-template-columns:52% 48%!important}
  .contact-us-elegant .contact-intro{padding:5vh 5.5vw!important;display:flex!important;flex-direction:column;justify-content:center}
  .contact-us-elegant .contact-title-block{margin-bottom:2vh}
  .contact-us-elegant .contact-title-block h2{font-size:clamp(42px,5.8vh,62px)}
  .contact-us-elegant .contact-body>p{font-size:13px;line-height:1.58;margin-bottom:1.2vh}
  .contact-us-elegant .contact-details-refined{margin:2vh 0;padding:1.2vh 0;font-size:18px}
  .contact-us-elegant .contact-image-wrap{padding:4vh 3vw!important}
  .contact-us-elegant .contact-image-elegant img{max-height:68vh}
}

/* Shorter desktop screens: preserve hierarchy while reducing vertical demand. */
@media (min-width:1051px) and (max-height:780px){
  .site-header{height:100px}
  .why-story-page{padding-top:4vh;padding-bottom:4vh}
  .why-intro{margin-bottom:2.5vh}
  .why-copy p{font-size:12.5px;line-height:1.48;margin-bottom:.65rem}
  .service-overview-card{min-height:0;height:46vh;padding:2.2vh 1.7rem}
  .service-overview-card h3{font-size:30px;margin:.4rem 0 .8rem}
  .service-overview-card li{font-size:11.5px;padding:.22rem 0}
  .journey-copy{padding-top:3vh;padding-bottom:3vh}
  .journey-copy h3{font-size:45px;margin-bottom:1.5vh}
  .journey-copy>p:not(.eyebrow){font-size:12.5px;line-height:1.5}
  .capabilities{margin-top:1.5vh}.capabilities span{padding:.7vh 0;font-size:11px}
  .founder-copy{padding-top:2.5vh;padding-bottom:2.5vh}
  .founder-copy h2{font-size:44px;margin-bottom:1vh}
  .founder-copy p{font-size:11.5px;line-height:1.38}.founder-copy blockquote{font-size:28px;margin:1vh 0}
  .human-statement h2{font-size:52px}
  .insights-v4-copy h2{font-size:50px}.insights-v4-copy .insights-v4-lead{font-size:25px}.insights-v4-copy p{font-size:11.5px;line-height:1.45}
}

/* v4.16 — targeted refinements to protected v4.15 working master. */
@media (min-width:1051px){
  /* 1. Homepage: centre the copy vertically; only the opening sentence grows. */
  .hero-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
  }
  .hero-copy h1{
    font-size:clamp(58px,6.65vh,84px);
  }

  /* 2. Why us: stronger kicker and approved dove at the end of the statement. */
  .belief-inner{max-width:1260px;position:relative}
  .belief-kicker{
    font-family:"Cormorant Garamond",serif;
    font-size:clamp(28px,3.4vh,34px);
    line-height:1;
    letter-spacing:.04em;
    text-transform:none;
    margin-bottom:2.5vh;
  }
  .belief-inner h2{
    position:relative;
    display:inline-block;
    max-width:none;
    white-space:nowrap;
    font-size:clamp(58px,6.8vw,92px);
    line-height:.98;
  }
  .belief-dove{
    position:absolute;
    width:48px;
    height:40px;
    right:-10px;
    top:-26px;
    object-fit:contain;
  }

  /* 3. Walldove story: proposition left, narrative right. */
  .why-story-page{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:7vw;
    align-items:center;
    padding:6vh 8vw;
  }
  .why-story-left,.why-story-right{min-width:0}
  .why-story-page .why-intro{margin:0 0 3.2vh;max-width:none}
  .why-story-page .why-lead{max-width:570px}
  .why-story-page .why-lead p{margin:0}
  .why-story-page .why-copy{max-width:690px}
  .why-story-page .why-copy p:last-child{margin-bottom:0}

  /* 4. Principles: four separate elegant cards, not a joined strip. */
  .why-principles-page{padding:7vh 7vw}
  .why-principles{
    gap:1.55rem;
    background:transparent;
    border:0;
  }
  .why-principles article{
    height:43vh;
    border:1px solid rgba(170,144,120,.42) !important;
    background:rgba(255,255,255,.25);
    padding:4.2vh 2rem;
  }

  /* 5. Philosophy statement: a modest size increase without breaking the canvas. */
  .philosophy-pause h2{
    font-size:clamp(52px,7.45vh,82px);
    line-height:1.04;
  }

  /* 6. Service boxes: dove in each lower-right corner. */
  .service-overview-card{position:relative;padding-bottom:4.8vh}
  .service-card-dove{
    position:absolute;
    width:31px;
    height:27px;
    right:1.65rem;
    bottom:1.35rem;
    object-fit:contain;
    opacity:.92;
  }
  .service-overview-link{padding-right:2.4rem}

  /* 7. Founder: slightly larger supporting copy only. */
  .founder-copy p{
    font-size:13.7px;
    line-height:1.54;
  }

  /* 8. Insights introduction: gently lift the smallest copy. */
  .insights-v4-copy p{
    font-size:13.7px;
    line-height:1.6;
  }

  /* 9. Insights themes: four independent boxes, consistent with other cards. */
  .insights-themes-page{padding:7vh 6vw}
  .insights-themes-page .insights-v4-themes{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1.55rem;
    border:0;
    background:transparent;
  }
  .insights-v4-theme{
    border:1px solid rgba(170,144,120,.42) !important;
    background:rgba(255,255,255,.25);
    height:41vh;
    padding:4vh 2rem;
  }

  /* 10. Contact: tighter vertical relationship and centred composition. */
  .contact-us-elegant .contact-intro{
    align-items:center;
    text-align:center;
  }
  .contact-us-elegant .contact-title-block{
    margin-bottom:.75vh;
    width:100%;
  }
  .contact-us-elegant .contact-body{
    padding-top:0 !important;
    max-width:620px;
    margin:0 auto;
  }
  .contact-us-elegant .contact-body>p{
    margin-top:.35vh;
  }
  .contact-us-elegant .contact-details-refined{
    margin:1.4vh auto 0;
    justify-content:center;
  }
}

/* Short desktop protection: keep all refinements within the v4.15 canvas. */
@media (min-width:1051px) and (max-height:780px){
  .hero-copy h1{font-size:58px}
  .belief-kicker{font-size:28px;margin-bottom:1.8vh}
  .belief-inner h2{font-size:clamp(54px,5.4vw,72px)}
  .belief-dove{width:40px;height:33px;top:-23px}
  .why-story-page{padding-top:4vh;padding-bottom:4vh}
  .why-story-page .why-intro{margin-bottom:2vh}
  .why-principles article{height:45vh;padding-top:3.2vh;padding-bottom:3.2vh}
  .philosophy-pause h2{font-size:54px}
  .founder-copy p{font-size:12px;line-height:1.4}
  .insights-v4-copy p{font-size:12px;line-height:1.48}
  .insights-v4-theme{height:43vh;padding-top:3vh;padding-bottom:3vh}
}
@media (min-width:1051px){
  .care-word{position:relative;display:inline-block}
  .care-word .belief-dove{right:.02em;top:-.48em}
}

/* v4.17 — focused typography and contact refinements from v4.16. */
@media (min-width:1051px){
  /* 1. Page 3: gently enlarge all typography while preserving the two-column composition. */
  .why-story-page .eyebrow{font-size:13px;letter-spacing:.19em}
  .why-story-page .why-intro h2{font-size:clamp(50px,6.6vh,73px);line-height:1.02}
  .why-story-page .why-lead p{font-size:clamp(34px,4.5vh,50px);line-height:1.16}
  .why-story-page .why-copy p{font-size:15px;line-height:1.62}

  /* 2. Page 5: increase the philosophy statement by roughly half while keeping it inside the canvas. */
  .philosophy-pause h2{font-size:clamp(74px,10.7vh,118px);line-height:.99;max-width:1280px}

  /* 3. Page 7: make the main Clear Thinking statement approximately twice as prominent. */
  .help-intro-page .help-header h2,
  .help-intro-page h2{
    font-size:clamp(96px,13.8vh,148px);
    line-height:.92;
    max-width:1220px;
    letter-spacing:-.018em;
    margin:1vh 0 2.2vh;
  }

  /* 4. Founder and Insights: lift the smallest supporting copy by several type steps. */
  .founder-copy p{font-size:16px;line-height:1.5}
  .insights-v4-copy p{font-size:15.8px;line-height:1.57}

  /* 5. Contact: retain left alignment, tighten title/body spacing and centre the group vertically. */
  .contact-us-elegant .contact-intro{
    justify-content:center!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
  .contact-us-elegant .contact-title-block{
    width:100%;
    margin-bottom:.15vh!important;
  }
  .contact-us-elegant .contact-title-block h2{margin-bottom:0!important}
  .contact-us-elegant .contact-body{
    max-width:620px;
    margin:0!important;
    padding-top:0!important;
    text-align:left!important;
  }
  .contact-us-elegant .contact-body>p:first-child{margin-top:0!important}
  .contact-us-elegant .contact-details-refined{margin-left:0!important;justify-content:flex-start!important}
}

/* Preserve the same intent on shorter desktop windows without clipping. */
@media (min-width:1051px) and (max-height:780px){
  .why-story-page .why-intro h2{font-size:50px}
  .why-story-page .why-lead p{font-size:34px}
  .why-story-page .why-copy p{font-size:13.4px;line-height:1.46}
  .philosophy-pause h2{font-size:72px;line-height:.98}
  .help-intro-page .help-header h2,
  .help-intro-page h2{font-size:92px;line-height:.92;margin-bottom:1.5vh}
  .founder-copy p{font-size:13.5px;line-height:1.38}
  .insights-v4-copy p{font-size:13.5px;line-height:1.45}
}


/* v4.18 — focused refinements from v4.17. Keep the v4.15/v4.16 canvas system intact. */
@media (min-width:1051px){
  /* 1. Page 3: increase the two large proposition lines by roughly 2–3 type steps. */
  .why-story-page .why-intro h2{
    font-size:clamp(58px,7.45vh,82px);
    line-height:1.01;
  }
  .why-story-page .why-lead p{
    font-size:clamp(40px,5.2vh,57px);
    line-height:1.12;
  }

  /* 2. Page 5: approved Walldove dove sits naturally at the end of the statement. */
  .philosophy-pause h2 .philosophy-dove{
    display:inline-block;
    width:48px;
    height:42px;
    object-fit:contain;
    margin-left:.18em;
    vertical-align:-.08em;
  }

  /* 3. Page 6: service-list copy matches the small body copy used in the earlier boxed treatment. */
  .service-overview-card li{
    font-size:13px;
    line-height:1.45;
  }

  /* 4. Pages 8, 10 and 11: the smallest capability copy uses the same 13px body scale. */
  .journey-copy .capabilities span{
    font-size:13px;
    line-height:1.42;
  }

  /* 5. Contact: true vertical centring, left alignment, and a compact title-to-copy relationship. */
  .contact-us-elegant .contact-intro{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    text-align:left!important;
    box-sizing:border-box;
  }
  .contact-us-elegant .contact-title-block{
    margin:0 0 .7rem!important;
    width:100%;
  }
  .contact-us-elegant .contact-body{
    margin:0!important;
    padding:0!important;
    max-width:620px;
    width:100%;
  }
  .contact-us-elegant .contact-body>p{
    margin:0 0 .7rem!important;
  }
  .contact-us-elegant .contact-details-refined{
    margin:1.15rem 0 1.25rem!important;
    padding:.85rem 0!important;
  }
  .contact-us-elegant .contact-body .button{
    margin-top:0!important;
  }
}

/* Short desktop safeguard: preserve the same hierarchy without clipping. */
@media (min-width:1051px) and (max-height:780px){
  .why-story-page .why-intro h2{font-size:56px;line-height:1.01}
  .why-story-page .why-lead p{font-size:39px;line-height:1.12}
  .philosophy-pause h2 .philosophy-dove{width:40px;height:35px}
  .service-overview-card li{font-size:13px;line-height:1.38}
  .journey-copy .capabilities span{font-size:13px;line-height:1.3;padding:.58vh 0}
  .contact-us-elegant .contact-title-block{margin-bottom:.45rem!important}
  .contact-us-elegant .contact-body>p{margin-bottom:.5rem!important}
  .contact-us-elegant .contact-details-refined{margin:.85rem 0 .95rem!important;padding:.65rem 0!important}
}

/* v4.19 — two focused refinements from v4.18. */
@media (min-width:1051px){
  /* Page 2: lift the entire Why us composition by roughly 2–3 type steps. */
  .belief-kicker{
    font-size:clamp(32px,3.8vh,38px);
    margin-bottom:2.4vh;
  }
  .belief-inner h2{
    font-size:clamp(66px,7.45vw,104px);
    line-height:.97;
  }
  .belief-dove{
    width:52px;
    height:44px;
    top:-29px;
  }

  /* Contact: title + body are now one composition, centred as one unit. */
  .contact-us-elegant .contact-intro{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
  .contact-us-elegant .contact-copy-group{
    width:100%;
    max-width:620px;
    display:flex;
    flex-direction:column;
    gap:.85rem;
    margin:0!important;
    padding:0!important;
  }
  .contact-us-elegant .contact-title-block{
    margin:0!important;
    padding:0!important;
  }
  .contact-us-elegant .contact-title-block .eyebrow{
    margin-bottom:.75rem;
  }
  .contact-us-elegant .contact-title-block h2{
    margin:0!important;
  }
  .contact-us-elegant .contact-body{
    margin:0!important;
    padding:0!important;
    max-width:none!important;
    width:100%;
  }
  .contact-us-elegant .contact-body>p:first-child{
    margin-top:0!important;
  }
}

@media (min-width:1051px) and (max-height:780px){
  .belief-kicker{font-size:31px;margin-bottom:1.6vh}
  .belief-inner h2{font-size:clamp(60px,6.25vw,82px)}
  .belief-dove{width:43px;height:36px;top:-24px}
  .contact-us-elegant .contact-copy-group{gap:.55rem}
  .contact-us-elegant .contact-title-block .eyebrow{margin-bottom:.5rem}
}

/* Tablet/mobile: keep natural stacking and readable flow. */
@media (max-width:1050px){
  .contact-copy-group{display:block;width:100%}
}


/* v4.20 launch compliance additions — intentionally restrained and separate from the approved v4.19 page compositions. */
#site-footer{flex-wrap:wrap}
.footer-legal{width:100%;border-top:1px solid rgba(22,22,22,.16);margin-top:22px;padding-top:18px;text-align:center;font-family:Inter,sans-serif;font-size:11px;line-height:1.55;letter-spacing:.01em;color:#555}
.footer-legal-links{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:8px}
.footer-legal-links a{color:inherit;text-decoration:none}
.footer-legal-links a:hover{text-decoration:underline}
.footer-legal p{max-width:900px;margin:0 auto 12px}
.icaew-link{display:inline-block}
.icaew-link img{width:112px;height:auto;display:block;margin:0 auto}
.legal-page{background:#f8f6f2;color:#171717}
.legal-page .site-header{background:#f8f6f2}
.legal-back{margin-left:auto;font:400 12px/1.2 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.legal-back a{color:#171717;text-decoration:none}
.legal-main{padding:150px 7vw 90px}
.legal-document{max-width:900px;margin:0 auto;background:#fff;padding:72px 8%;box-shadow:0 12px 50px rgba(0,0,0,.035)}
.legal-document h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(48px,6vw,76px);line-height:1;margin:.15em 0 .25em}
.legal-document h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:30px;line-height:1.15;margin:1.7em 0 .55em}
.legal-document p,.legal-document li{font:300 15px/1.75 Inter,sans-serif;color:#3c3a37}
.legal-document ul{padding-left:1.35em}
.legal-document a{color:#292725;text-underline-offset:3px}
.legal-updated{font-size:12px!important;text-transform:uppercase;letter-spacing:.08em;color:#777!important;margin-bottom:3em!important}
.icaew-page-link img{width:170px;height:auto;margin-top:8px}
.legal-site-footer{display:block!important;padding-top:20px!important}
.legal-site-footer .footer-legal{border-top:0;margin-top:0}
@media(max-width:700px){.legal-main{padding:110px 18px 50px}.legal-document{padding:44px 24px}.legal-document h2{font-size:26px}.footer-legal{padding-left:18px;padding-right:18px}}
