:root{
  --ink:#172935;
  --muted:#56656f;
  --navy:#122b3a;
  --blue:#24586e;
  --accent:#c9e477;
  --line:#d6dee0;
  --paper:#fff;
  --pale:#f1f5f6;
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,Helvetica,sans-serif
}
*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:30px
}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font:16px/1.65 var(--sans)
}
a{
  color:inherit;
  text-decoration:none
}
button,input,select,textarea{
  font:inherit
}
button,a,input,select,textarea{
  outline-offset:5px
}
button{
  cursor:pointer
}
button:focus-visible,a:focus-visible{
  outline:3px solid #4289aa
}
img{
  max-width:100%;
  display:block
}
.wrap{
  width:min(1280px,90%);
  margin-inline:auto
}
.review-banner{
  background:var(--navy);
  color:#d7e4ec;
  font-size:12px;
  padding:8px 5%;
  text-align:center;
  letter-spacing:.15px
}
.review-banner span{
  color:#fff;
  font-weight:700;
  letter-spacing:1px;
  margin-right:16px
}
.site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  min-height:106px
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:700;
  font-size:13px;
  letter-spacing:1.6px;
  line-height:1.35;
  flex-shrink:0
}
.brand-mark{
  font:32px var(--serif);
  letter-spacing:-2px;
  border-right:1px solid #a8b5bb;
  padding-right:15px
}
.brand small{
  display:block;
  font-size:12px;
  letter-spacing:1.4px;
  margin-top:5px;
  font-weight:400
}
.site-header nav{
  display:flex;
  gap:27px;
  font-size:14px
}
.site-header nav a:hover,.text-link:hover,.site-footer a:hover{
  text-decoration:underline;
  text-underline-offset:6px
}
.button{
  background:var(--navy);
  color:white;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:15px 24px;
  border:1px solid var(--navy);
  font-size:14px;
  font-weight:600;
  border-radius:3px;
  line-height:1.4;
  transition:background .15s
}
.button:hover{
  background:#2c4c5d
}
.button span{
  font-size:20px;
  line-height:1
}
.button-small{
  font-size:13px;
  padding:12px 17px;
  gap:15px
}
.hero{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:5%;
  align-items:center;
  padding:40px 0 65px
}
.eyebrow{
  font-size:12px;
  line-height:1.6;
  letter-spacing:1.7px;
  font-weight:600;
  color:var(--blue);
  margin:0 0 24px
}
h1,h2{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-1.8px
}
h1{
  font-size:clamp(48px,5.15vw,74px);
  line-height:1.07;
  margin:0 0 27px
}
h1 em{
  font-weight:400;
  color:var(--blue)
}
h2{
  font-size:clamp(34px,3.25vw,47px);
  line-height:1.15;
  margin:0 0 22px
}
h3{
  font-size:23px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:-.5px;
  margin:0 0 18px
}
p{
  margin:0 0 20px
}
.lead{
  font-size:19px;
  line-height:1.6;
  max-width:520px
}
.hero-detail{
  color:var(--muted);
  max-width:500px;
  font-size:16px
}
.hero-actions{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  margin-top:28px
}
.text-link{
  font-size:14px;
  font-weight:600
}
.hero-footnote{
  font-size:12px;
  color:var(--muted);
  margin-top:24px;
  margin-bottom:0
}
.hero-image{
  margin:0;
  position:relative;
  align-self:stretch;
  min-height:610px;
  overflow:hidden;
  border-radius:3px
}
.hero-image img{
  height:100%;
  width:100%;
  object-fit:cover;
  object-position:65% center;
  position:absolute;
  inset:0
}
.hero-image::after{
  content:'';
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,rgba(10,30,36,.68))
}
.hero-image figcaption{
  position:absolute;
  bottom:36px;
  left:34px;
  right:25px;
  z-index:1;
  font:34px/1.2 var(--serif);
  color:#fff;
  letter-spacing:-.6px
}
.hero-image figcaption span{
  display:block;
  font:11px/1.5 var(--sans);
  letter-spacing:1.7px;
  margin-bottom:12px
}
.starting-section{
  background:var(--pale);
  padding:63px 0
}
.starting-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  align-items:center
}
.starting-layout .eyebrow{
  margin-bottom:17px
}
.starting-layout h2{
  font-size:35px;
  margin:0
}
.starting-copy{
  color:var(--muted)
}
.starting-copy p:last-child{
  margin-bottom:0
}
.section{
  padding-top:100px;
  padding-bottom:100px
}
.section-heading{
  display:flex;
  justify-content:space-between;
  gap:9%;
  align-items:flex-end;
  margin-bottom:44px
}
.section-heading>p{
  max-width:380px;
  color:var(--muted);
  margin-bottom:25px
}
.section-heading .eyebrow{
  margin-bottom:18px
}
.service-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.service{
  padding:32px 24px 26px;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column
}
.service:first-child{
  padding-left:0
}
.service:last-child{
  border:0;
  padding-right:0
}
.service-number{
  font-size:12px;
  color:var(--blue);
  letter-spacing:1px;
  margin-bottom:34px
}
.service>p{
  font-size:15px;
  color:var(--muted);
  margin-bottom:26px;
  flex:1
}
.deliverable{
  font-size:14px;
  line-height:1.6;
  padding-top:19px;
  border-top:1px solid var(--line);
  margin-bottom:25px;
  min-height:122px
}
.deliverable span{
  display:block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.6px;
  color:var(--blue);
  margin-bottom:9px
}
.service>a{
  display:flex;
  justify-content:space-between;
  font-size:14px;
  font-weight:600
}
.service>a:hover{
  color:var(--blue)
}
.service-note{
  font-size:12px;
  color:var(--muted);
  max-width:1000px;
  margin:24px 0 0
}
.approach-section{
  background:var(--navy);
  color:#fff;
  padding:80px 0 85px
}
.approach-section .eyebrow{
  color:var(--accent)
}
.approach-section .section-heading>p{
  color:#bfd0d9
}
.steps{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:55px;
  counter-reset:step
}
.steps li{
  border-top:1px solid #4a606b;
  padding-top:24px
}
.steps span{
  font-size:13px;
  color:var(--accent);
  display:block;
  margin-bottom:26px
}
.steps h3{
  font-size:22px;
  max-width:280px
}
.steps p{
  color:#c4d3da;
  margin:0;
  font-size:15px
}
.about-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  align-items:start
}
.about-layout h2{
  font-size:42px
}
.large-copy{
  font-size:22px;
  line-height:1.55;
  color:var(--ink)
}
.about-copy{
  color:var(--muted)
}
.about-copy .text-link{
  display:inline-block;
  color:var(--ink);
  margin-top:10px
}
.signature{
  margin-top:36px;
  font:italic 34px var(--serif);
  color:var(--blue)
}
.signature span{
  display:block;
  font:12px var(--sans);
  letter-spacing:1px;
  margin-top:10px;
  color:var(--muted)
}
.enquiry-section{
  background:#eaf0f2;
  padding:90px 0
}
.enquiry-layout{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:11%;
  align-items:start
}
.enquiry-intro h2{
  font-size:54px
}
.enquiry-intro>p:not(.eyebrow){
  color:var(--muted);
  max-width:390px
}
.next-step{
  margin-top:30px;
  font-size:14px
}
.form-status{
  border-top:1px solid #bbcbd2;
  margin-top:42px;
  padding-top:18px;
  max-width:390px;
  font-size:13px;
  color:var(--muted)
}
.form-status strong{
  font-weight:700;
  color:var(--ink)
}
.form-status p{
  margin:6px 0 0
}
.enquiry-form{
  background:white;
  padding:33px;
  border-radius:4px;
  box-shadow:0 10px 40px #253e4810
}
.required-note{
  font-size:12px;
  color:var(--muted);
  margin-bottom:22px
}
.field-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.field{
  margin-bottom:21px
}
.field label{
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:7px
}
.field label span{
  font-weight:400;
  color:var(--muted);
  font-size:12px
}
.field input,.field select,.field textarea{
  display:block;
  width:100%;
  min-height:47px;
  border:1px solid #becbd1;
  border-radius:3px;
  padding:11px;
  background:#fff;
  color:var(--ink);
  font-size:16px;
  line-height:1.5
}
.field textarea{
  resize:vertical;
  min-height:125px
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:2px solid var(--blue);
  outline-offset:2px
}
.field input::placeholder,.field textarea::placeholder{
  color:#77858e;
  font-size:14px
}
.field-help{
  font-size:12px;
  color:var(--muted);
  margin:8px 0 0
}
.enquiry-form>.button{
  width:100%;
  justify-content:space-between
}
.form-bottom-note{
  font-size:12px;
  color:var(--muted);
  margin:13px 0 0
}
.site-footer{
  padding-top:38px;
  padding-bottom:38px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px
}
.site-footer p{
  font-size:14px;
  margin:0
}
.site-footer .footer-small{
  font-size:12px;
  color:var(--muted);
  margin-top:5px
}
.site-footer>a:last-child{
  font-size:14px
}
.skip-link{
  position:absolute;
  left:15px;
  top:-80px;
  background:white;
  padding:15px;
  z-index:10
}
.skip-link:focus{
  top:15px
}
dialog{
  border:0;
  border-radius:5px;
  padding:34px;
  width:min(700px,92vw);
  max-height:88vh;
  color:var(--ink);
  box-shadow:0 20px 100px #091b3560
}
dialog::backdrop{
  background:#132b3b99
}
.preview-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px
}
.preview-header h2{
  font-size:34px;
  letter-spacing:-1px
}
.preview-header .eyebrow{
  margin-bottom:10px
}
.preview-header button{
  border:0;
  background:none;
  padding:0 8px;
  font-size:24px;
  color:var(--ink)
}
.preview-notice{
  font-size:14px;
  color:var(--muted);
  padding-bottom:18px;
  border-bottom:1px solid var(--line)
}
dl{
  margin-bottom:30px
}
dt{
  font-size:12px;
  font-weight:700;
  color:var(--blue);
  letter-spacing:.5px;
  margin-top:15px
}
dd{
  margin:4px 0 0;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
body:has(dialog[open]){
  overflow:hidden
}
@media(min-width:1600px){
  .hero{
  gap:70px
}
.hero-image{
  min-height:650px
}

}
@media(max-width:1100px){
  .site-header{
  gap:18px
}
.site-header nav{
  gap:16px
}
.button-small{
  font-size:12px
}
.hero{
  gap:35px
}
.hero-image{
  min-height:590px
}
.hero h1{
  font-size:56px
}
.hero-actions{
  gap:16px
}
.service-grid{
  grid-template-columns:1fr 1fr
}
.service:nth-child(2){
  border-right:0
}
.service:nth-child(n+3){
  border-top:1px solid var(--line)
}
.service:nth-child(3){
  padding-left:0
}
.service:nth-child(2){
  padding-right:0
}
.deliverable{
  min-height:0
}
.service h3{
  font-size:26px
}
.service>p{
  font-size:16px
}
.enquiry-layout{
  gap:6%
}
.enquiry-form{
  padding:26px
}
.about-layout h2{
  font-size:37px
}
.starting-layout h2{
  font-size:31px
}
.site-footer{
  flex-wrap:wrap
}

}
@media(max-width:800px){
  .site-header{
  flex-wrap:wrap;
  padding-top:24px;
  padding-bottom:20px;
  gap:23px
}
.site-header nav{
  order:3;
  width:100%;
  justify-content:space-between;
  gap:20px
}
.site-header>.button{
  font-size:12px;
  padding:10px 12px
}
.hero{
  grid-template-columns:1fr;
  gap:35px;
  padding-top:20px;
  padding-bottom:40px
}
.hero-copy{
  max-width:630px
}
.hero h1{
  font-size:clamp(48px,8vw,70px)
}
.hero-image{
  min-height:470px;
  max-height:560px;
  aspect-ratio:1.2;
  align-self:auto
}
.hero-image img{
  object-position:center 55%
}
.lead{
  max-width:600px
}
.hero-detail{
  max-width:550px
}
.starting-layout,.about-layout,.enquiry-layout{
  grid-template-columns:1fr;
  gap:30px
}
.starting-section{
  padding:44px 0
}
.starting-layout h2{
  font-size:35px
}
.section{
  padding-top:65px;
  padding-bottom:65px
}
.section-heading{
  display:block;
  margin-bottom:30px
}
.section-heading>p{
  max-width:560px
}
.steps{
  gap:24px
}
.steps h3{
  font-size:19px
}
.approach-section{
  padding:60px 0
}
.about-layout h2{
  font-size:40px
}
.signature{
  margin-top:25px
}
.enquiry-section{
  padding:60px 0
}
.enquiry-intro h2{
  font-size:46px
}
.enquiry-intro>p:not(.eyebrow){
  max-width:560px
}
.form-status{
  max-width:none;
  margin-top:22px
}
.next-step{
  margin-top:20px
}

}
@media(max-width:480px){
  .wrap{
  width:90%
}
.review-banner{
  font-size:12px
}
.review-banner span{
  font-size:12px;
  margin-right:5px
}
.brand{
  font-size:12px;
  gap:9px
}
.brand-mark{
  font-size:28px;
  padding-right:11px
}
.brand small{
  font-size:12px
}
.site-header>.button{
  max-width:156px;
  font-size:12px;
  text-align:left;
  gap:9px
}
.site-header nav{
  font-size:13px
}
.eyebrow{
  font-size:12px;
  letter-spacing:1px
}
h1{
  letter-spacing:-1.5px
}
.hero h1{
  font-size:48px
}
.lead{
  font-size:18px
}
.hero-image{
  min-height:440px;
  aspect-ratio:auto
}
.hero-image figcaption{
  left:25px;
  bottom:27px;
  font-size:30px
}
.hero-actions{
  align-items:flex-start;
  flex-direction:column
}
.hero-footnote{
  font-size:12px;
  max-width:280px
}
.starting-layout h2{
  font-size:31px
}
.service-grid{
  grid-template-columns:1fr
}
.service{
  padding:26px 0!important;
  border-right:0;
  border-top:1px solid var(--line)
}
.service:first-child{
  border-top:0
}
.service-number{
  margin-bottom:21px
}
.service h3{
  font-size:26px
}
.service>p{
  margin-bottom:20px
}
.deliverable{
  margin-bottom:18px
}
.steps{
  grid-template-columns:1fr;
  gap:30px
}
.steps span{
  margin-bottom:15px
}
.steps h3{
  font-size:23px;
  max-width:none
}
.steps p{
  font-size:16px
}
.about-layout h2{
  font-size:34px
}
.large-copy{
  font-size:20px
}
.field-pair{
  grid-template-columns:1fr;
  gap:0
}
.enquiry-form{
  padding:22px
}
.enquiry-intro h2{
  font-size:43px
}
.site-footer{
  align-items:flex-start;
  gap:22px
}
.site-footer>div{
  width:100%;
  order:3
}
dialog{
  padding:25px
}
.preview-header h2{
  font-size:28px
}

}
@media(prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto
}
.button{
  transition:none
}

}

/* Editorial refinement: generous type, asymmetric rhythm and quieter detailing. */
:root { --serif: 'Iowan Old Style','Palatino Linotype','Book Antiqua',Palatino,Georgia,serif; }
body { -webkit-font-smoothing:antialiased; }
.site-header { border-bottom:1px solid var(--line); }
.site-header nav { gap:clamp(20px,2.3vw,36px); }
.site-header nav a { font:500 19px/1.3 var(--serif); letter-spacing:-.25px; position:relative; padding:12px 0; }
.site-header nav a:after { content:''; position:absolute; bottom:5px; left:0; right:0; height:1px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.site-header nav a:hover { text-decoration:none; }
.site-header nav a:hover:after { transform:scaleX(1); }
.hero { padding-top:60px; padding-bottom:85px; gap:6%; grid-template-columns:1.16fr .84fr; }
.hero h1 { font-size:clamp(46px,5.1vw,73px); line-height:1.04; letter-spacing:-2.7px; }
.hero h1 em { display:inline-block; font-weight:400; }
.hero-second { display:block; font-size:.79em; line-height:1.13; letter-spacing:-1.7px; margin-top:27px; }
.hero .eyebrow { margin-bottom:30px; }
.hero-image { min-height:670px; border-radius:180px 3px 3px 3px; }
.hero-image img { transition:transform 1s ease; }
.hero-image:hover img { transform:scale(1.025); }
.hero-image figcaption { bottom:38px; }
.hero .lead { font-size:18px; max-width:500px; }
.button { border-radius:2px; transition:background .2s,transform .2s; }
.button:hover { transform:translateY(-2px); }
.starting-section { border-top:1px solid #e2e9eb; border-bottom:1px solid #e2e9eb; }
h2 { text-wrap:balance; }
.section-heading { align-items:flex-start; }
.section-heading>p { padding-top:40px; }
.service { transition:background .25s; }
.service:hover { background:#f6f9fa; }
.service h3 { font-family:var(--serif); font-size:27px; }
.service>p,.steps p { font-size:16px; }
.service-number { margin-bottom:45px; }
.approach-section { padding:100px 0; position:relative; }
.approach-section .section-heading { margin-bottom:60px; }
#approach-title { max-width:720px; font-size:clamp(36px,4vw,56px); line-height:1.1; }
#approach-title em { display:block; font-size:.71em; line-height:1.25; margin-top:21px; color:#c4d7e1; }
.steps h3 { font-family:var(--serif); font-size:26px; font-weight:400; }
.about-layout { gap:9%; grid-template-columns:.87fr 1.13fr; padding-top:120px; padding-bottom:120px; }
.about-layout #about-title { font-size:clamp(65px,7vw,96px); letter-spacing:-3px; margin-bottom:22px; line-height:1; }
.credentials { font-size:14px; line-height:1.7; max-width:390px; color:var(--blue); padding-bottom:30px; border-bottom:1px solid var(--line); }
.experience-statement { font:clamp(28px,3vw,40px)/1.23 var(--serif); letter-spacing:-.7px; padding-top:13px; max-width:420px; }
.experience-statement p:last-child { color:var(--blue); font-style:italic; }
.about-copy { padding-top:9px; }
.about-copy .large-copy { font:29px/1.4 var(--serif); letter-spacing:-.45px; }
.about-copy strong { font-weight:600; color:var(--ink); }
.about-copy .text-link { border-bottom:1px solid var(--blue); padding:13px 0; font-size:16px; }
.enquiry-intro h2 { font-size:clamp(43px,4.7vw,64px); }
.enquiry-form { border-top:3px solid var(--blue); }
.owner-edit { position:fixed; bottom:18px; right:18px; z-index:15; background:var(--navy); color:white; padding:10px 16px; border:1px solid #7893a3; border-radius:5px; font:14px/1.5 var(--sans); box-shadow:0 5px 20px #122b3a30; }
[data-edit] { overflow-wrap:break-word; }
@media(min-width:1000px) { .hero-copy { animation:arrival .8s ease both; } .hero-image { animation:arrival 1s .1s ease both; } }
@keyframes arrival { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@media(max-width:1100px) { .site-header { flex-wrap:wrap; padding-block:22px; } .site-header nav { order:3; width:100%; justify-content:center; gap:50px; } .hero-image { min-height:630px; } }
@media(max-width:800px) { .hero { grid-template-columns:1fr; padding-top:35px; padding-bottom:50px; } .hero h1 { font-size:clamp(48px,8.6vw,70px); } .hero-image { min-height:440px; border-radius:100px 3px 3px 3px; } .hero-second { margin-top:23px; } .section-heading>p { padding-top:0; } .about-layout { grid-template-columns:1fr; gap:35px; padding-block:70px; } .experience-statement { max-width:570px; } .credentials { max-width:500px; } .about-copy .large-copy { font-size:26px; } .approach-section { padding:65px 0; } .site-header nav { justify-content:space-between; gap:15px; } }
@media(max-width:480px) { .site-header nav a { font-size:17px; } .hero h1 { font-size:clamp(41px,11vw,52px); letter-spacing:-1.9px; } .hero-second { letter-spacing:-1px; } .hero-image { min-height:390px; } .site-header>.button { max-width:146px; } .brand { letter-spacing:.7px; } .brand small { letter-spacing:.7px; } .about-layout #about-title { font-size:70px; } .review-banner span { display:block; } .service-number { margin-bottom:22px; } .hero-actions .button { width:100%; justify-content:space-between; } }
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; } }
/* User-selected identity and full-frame portrait. */
.brand { gap:14px; }
.brand-initials { display:block; flex:0 0 auto; padding-right:14px; border-right:1px solid #a8b5bb; }
.brand-initials svg { display:block; width:80px; height:40px; overflow:hidden; }
.brand-label { font:600 13px/1.35 var(--sans); letter-spacing:1.6px; }
.brand-label small { display:block; font:400 12px/1.4 var(--sans); letter-spacing:1.4px; margin-top:5px; }
.site-header { min-height:125px; }
.consultant-intro { display:grid; grid-template-columns:1.05fr .95fr; gap:24px; align-items:center; }
.consultant-portrait { width:100%; margin:0; border-radius:3px; overflow:hidden; }
.consultant-portrait img { display:block; width:100%; height:auto; }
.about-layout .experience-statement { font-size:clamp(23px,2vw,28px); padding:0; }
.about-layout .experience-statement p:last-child { margin-bottom:0; }
@media(max-width:1100px) and (min-width:801px) { .consultant-intro { grid-template-columns:1fr; } .consultant-portrait { max-width:220px; } }
@media(max-width:800px) { .consultant-intro { grid-template-columns:minmax(0,280px) minmax(0,1fr); } .about-layout .experience-statement { font-size:28px; } }
@media(max-width:480px) { .brand { gap:10px; } .brand-initials { padding-right:10px; } .brand-initials svg { width:62px; height:31px; } .brand-label { font-size:12px; letter-spacing:1px; } .brand-label small { letter-spacing:.6px; } .site-header { gap:12px; } .consultant-intro { grid-template-columns:1fr; gap:24px; } .consultant-portrait { max-width:280px; } .about-layout .experience-statement { font-size:28px; } }

/* Enquiry delivery and supporting pages. */
.legal-footer { display:flex; flex-wrap:wrap; gap:12px 28px; padding-block:20px 34px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.legal-footer a,.form-status a,.form-bottom-note a,.information-page p a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.information-page { max-width:800px; padding-block:65px 90px; }
.information-page h1 { font-size:clamp(40px,6vw,64px); }
.information-page h2 { font:400 28px/1.3 var(--serif); letter-spacing:-.4px; margin:34px 0 14px; }
.information-page .button { margin-top:24px; }
.confirmation-page { min-height:55vh; }
.button:disabled { opacity:.7; cursor:wait; transform:none; }
.hero>*,.enquiry-layout>*,.field-pair>* { min-width:0; }
@media(max-width:480px) { .information-page { padding-block:40px 60px; } .legal-footer { flex-direction:column; gap:10px; } .site-header nav { flex-wrap:wrap; gap:4px 14px; } }
