/* Final presentation and accessibility refinements. */
:root{--heading:'Space Grotesk',Inter,Arial,sans-serif;--body:Inter,Arial,sans-serif}
html{scroll-padding-top:112px}
body{overflow-wrap:break-word}
main{min-width:0}
.nav-wrap{gap:24px}
.brand{font-family:var(--heading);font-weight:600;letter-spacing:.005em}
.header nav{font-size:14px;gap:27px;color:#c4b9d0}
.header nav a{display:inline-flex;align-items:center;min-height:44px}
.nav-cta{font-size:14px;min-height:44px;padding:10px 19px}
.hero .eyebrow{font-size:11px;line-height:1.6;letter-spacing:.1em}
.hero .secondary-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.hero .hero-actions .button{font-size:15px;min-height:54px}
.hero .hero-note{font-size:16px;color:#c7b6d5}
.hero-art-copy h2{font-weight:500}
.section{padding-block:96px}
#services>.section-heading{gap:0 60px}
#services .eyebrow{font-size:12px;line-height:1.6}
#services>.section-heading h2{font-size:clamp(38px,4.2vw,52px);font-weight:600;line-height:1.15}
#services>.section-heading>p{font-size:18px;line-height:1.8;color:#bfb2cc;max-width:350px}
#services .service-card{transition:border-color .25s,box-shadow .25s,transform .25s}
#services .card-link{min-height:48px}
#services .service-help a{min-height:44px;display:inline-flex;align-items:center}
#approach .section-heading h2,#questions .section-heading h2{font-size:clamp(40px,4.5vw,60px)}
#approach .section-heading>p,#questions .section-heading>p{font-size:20px}
#questions .faq-list details p{margin:0}
.rates-section h2{font-size:clamp(40px,4.2vw,54px)}
#contact input::placeholder,#contact textarea::placeholder{color:#b7a5c7}
#contact .form-note{color:#c5b0d4}
#contact .form-heading>p{max-width:42ch}
#contact .contact-note{color:#bca8cb}
#contact .contact-grid{padding-block:48px}
.draft-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px}
#contact .draft-actions a,#contact .copy-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;padding:10px 16px;border:1px solid #cba4e55c;border-radius:10px;color:#e5c7f6;background:#d3a7ef09}
#contact #form-result p{margin:0}
#contact #copy-status{display:block;margin-top:12px;font-size:14px}
#contact #enquiry-fallback{margin-top:16px;min-height:230px}
footer{padding-block:40px;gap:24px;border-top:1px solid #dfc7f216;margin-top:42px}
.footer-brand p{font-size:13px;color:#ad9cba;line-height:1.7;max-width:320px}
.footer-links{font-size:13px;color:#bdaacb;gap:22px;flex-wrap:wrap;justify-content:flex-end}
.footer-links a,.footer-links button{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:#bdaacb}
.footer-links a:hover,.footer-links button:hover{color:#ecd5fc}
.no-script-message{font-size:15px;line-height:1.8;color:#ccb8dc}
.page-hidden *,.page-hidden *:before,.page-hidden *:after{animation-play-state:paused!important}
:focus-visible{outline:2px solid #e8c7ff;outline-offset:5px}
@media(max-width:1100px){.nav-wrap{width:calc(100% - 64px);gap:20px}.header nav{gap:20px;font-size:13px}.nav-cta{font-size:13px}.section{padding-block:80px}}
@media(max-width:900px){
  #contact .contact-grid{padding-block:36px}
  .nav-wrap{height:78px;gap:16px}
  .header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:18px 32px;background:#16111ffb;border-bottom:1px solid #d4b2ed33;box-shadow:0 18px 30px #0003;gap:4px}
  .header.menu-open nav{display:flex;flex-direction:column;align-items:stretch}
  .header nav a{font-size:16px;min-height:48px}
  .nav-cta{margin-left:auto;font-size:13px}
  .menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;flex-shrink:0;background:none;border:0;padding:8px}
  .menu span{width:21px;height:1px;background:#dfcbed;transition:transform .2s}
  .menu-open .menu span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-open .menu span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  #services>.section-heading{gap:0 35px}
  .footer-links{gap:14px}
}
@media(max-width:760px){
  .wrap,.nav-wrap{width:calc(100% - 48px)}
  .hero{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding-block:46px 48px;min-height:0;overflow:visible}
  .hero-content{padding:0}
  .hero h1{font-size:clamp(40px,7.5vw,59px);line-height:1.12;letter-spacing:-.045em}
  .hero .hero-copy{font-size:21px;max-width:590px}
  .hero .hero-note{max-width:530px}
  .hero-art{width:100%;max-width:360px;align-self:center}
  .hero-art img{width:68%;max-width:250px}
  .hero-art-copy h2{font-size:28px}
  .hero-art-copy p{font-size:16px}
  .intro-strip .wrap{display:grid;grid-template-columns:1fr;gap:12px;padding-block:23px}
  .intro-strip p{font-size:16px;justify-content:flex-start;text-align:left;gap:15px}
  .intro-strip p:last-child{width:auto}
  #services>.section-heading{display:block}
  #services>.section-heading h2{margin-bottom:22px}
  #services>.section-heading>p{max-width:540px}
  footer{align-items:flex-start;flex-direction:column}
  .footer-links{justify-content:flex-start;margin-top:0}
}
@media(max-width:600px){
  #contact .contact-grid{padding-block:28px}
  .wrap,.nav-wrap{width:calc(100% - 40px)}
  .nav-wrap{height:74px;gap:10px}
  .header nav{top:74px;padding-inline:20px}
  .brand{font-size:15px}
  .nav-cta{padding:9px 13px;font-size:12px;gap:12px}
  .section{padding-block:64px}
  .hero{gap:29px;padding-top:36px}
  .hero h1{font-size:clamp(38px,9.5vw,55px)}
  .hero .eyebrow{font-size:10px;letter-spacing:.08em}
  .hero .hero-copy{font-size:20px;line-height:1.75}
  .hero .hero-actions{gap:18px;margin-top:27px}
  .hero .hero-actions .button{font-size:14px;padding-inline:20px}
  .hero .secondary-link{font-size:14px}
  #services>.section-heading h2{font-size:38px}
  #services>.section-heading>p{font-size:17px}
  #approach .section-heading h2,#questions .section-heading h2{font-size:43px}
  #approach .section-heading>p,#questions .section-heading>p{font-size:18px}
  #approach .steps h3{font-size:25px}
  .rates-section h2{font-size:42px}
  #contact .contact-copy h2{font-size:43px}
  #contact .contact-copy>p{font-size:18px}
  #contact .form-heading h3{font-size:25px}
  #contact form>.button{font-size:16px}
  footer{margin-top:26px;padding-block:30px}
  .footer-links{gap:5px 20px}
  .footer-links>span{width:100%;font-size:12px}
}
@media(max-width:360px){
  .brand{font-size:13px}
  .brand .brand-mark{width:32px;height:32px;flex-basis:32px;margin-right:5px}
  .nav-cta{padding-inline:10px;font-size:11px;gap:7px}
  .menu{width:40px}
  .hero .hero-actions{flex-wrap:wrap}
  .hero .hero-copy{font-size:19px}
  .hero .hero-note{font-size:15px}
  #approach .section-heading h2,#questions .section-heading h2{font-size:38px}
  .rates-section h2{font-size:37px}
  #contact .contact-copy h2{font-size:38px}
  #contact #project-form{padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .motion-ready .reveal{opacity:1!important;transform:none!important}
}
