@font-face{font-family:Inter;src:url("/fonts/InterVariable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{font-family:Inter,system-ui,sans-serif;color:#173f3a;background:#f6f4ef}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,select,input,textarea{font:inherit}button,a{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c37e5e;outline-offset:3px}.pre{background:#163f3a;color:#fff;padding:10px clamp(18px,4vw,60px);font-size:11px;letter-spacing:.13em;display:flex;justify-content:space-between;gap:12px}.pre span{opacity:.8}header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px clamp(18px,4vw,60px);background:#f6f4ef;border-bottom:1px solid #d4d8d2}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;letter-spacing:.2em}.brand strong{border:1px solid #24534b;border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font:italic 29px Georgia,serif}.brand small{display:block;font-size:10px;letter-spacing:.12em}nav{display:flex;align-items:center;gap:22px}nav a{text-decoration:none;font-size:14px}nav .nav-cta,.btn,button:not(.secondary){background:#bd7658;color:white;border:0;padding:16px 20px;display:inline-block;text-decoration:none;font-weight:650}button:hover,.btn:hover{filter:brightness(.93)}.hero{background:linear-gradient(115deg,#0d302d,#204943);color:white;padding:clamp(60px,9vw,125px) clamp(18px,6vw,95px)}.tag{font-size:12px;letter-spacing:.22em;color:#bd7658;margin-bottom:28px}.hero .tag,.dark .tag{color:#e9b99e}h1,h2,h3,legend{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,6vw,6.5rem);line-height:1.06;margin:0;overflow-wrap:anywhere}em{color:#c58365}h1 em,.dark em{color:#e7bc9f}.hero p{max-width:650px;font-size:clamp(16px,2vw,20px);line-height:1.7;margin:32px 0}.section{padding:clamp(65px,8vw,110px) clamp(18px,6vw,95px)}h2{font-size:clamp(2.4rem,5vw,5rem);line-height:1.11;margin:0 0 24px;overflow-wrap:anywhere}.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:45px;gap:0 28px}.services div{border-top:1px solid #d2dcd7;padding:25px 5px;font-family:Georgia,serif;font-size:clamp(19px,2vw,25px);overflow-wrap:anywhere}.dark{background:#123c37;color:#fff}.dark p{max-width:680px;line-height:1.8;font-size:18px}.form-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(24px,5vw,80px);background:#e9e7df}.intro p{font-size:17px;line-height:1.75;max-width:550px}form,.success{background:#fff;padding:clamp(22px,3vw,42px);box-shadow:0 18px 55px #183b3420;min-width:0}.progress{display:flex;flex-direction:column;gap:12px;color:#a56348;font-weight:650;font-size:14px}progress{width:100%;accent-color:#b77657;height:8px}fieldset{border:0;padding:0;margin:32px 0 0;min-width:0}fieldset[hidden],.success[hidden],#error[hidden]{display:none}legend{font-size:clamp(26px,3vw,35px);margin-bottom:25px}label{display:flex;flex-direction:column;gap:9px;font-size:15px;font-weight:650;margin-bottom:21px}input,select,textarea{width:100%;border:1px solid #b8c7c0;background:#f6f7f4;color:#183d37;min-height:50px;padding:13px 14px;border-radius:0;font-size:16px}textarea{min-height:125px;resize:vertical}.pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.actions button{min-height:48px}.secondary{background:transparent;color:#173f3a;border:1px solid #507168;padding:15px 20px}.hint{font-size:13px;line-height:1.55;color:#4a625c}.error{background:#fff0e9;color:#922f20;padding:13px;border-left:4px solid #b14c33;line-height:1.5}.check{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.65}.check input{width:20px;min-width:20px;min-height:20px;margin-top:4px}.check span{display:block;color:#58716b;font-size:13px}.summary{font-size:14px;line-height:1.75;overflow-wrap:anywhere}.summary p{padding:9px 0;border-bottom:1px solid #e0e5df}.success h3{font-size:30px}.success strong{overflow-wrap:anywhere}footer{background:#102e2b;color:#fff;padding:35px clamp(18px,6vw,95px);font-size:14px}@media(max-width:820px){.form-section{grid-template-columns:1fr}nav a:not(.nav-cta){display:none}}@media(max-width:540px){.pre span{display:none}.pair,.services{grid-template-columns:1fr}nav .nav-cta{padding:11px 12px;font-size:12px}.brand strong{width:39px;height:39px}.brand span{font-size:13px}.brand small{font-size:8px}.hero{padding-top:80px;padding-bottom:90px}.hero .btn{max-width:100%}h1{font-size:clamp(2.45rem,9.4vw,4rem)}.actions button{flex:1}}

/* Hansa Premium Calm visual integration — retains original backend and form */
body{overflow-x:clip}header{position:sticky;top:0;z-index:40;background:rgba(246,244,239,.97);backdrop-filter:blur(12px)}.hero{min-height:660px;position:relative;background:linear-gradient(90deg,rgba(9,41,38,.96) 0%,rgba(9,41,38,.84) 46%,rgba(9,41,38,.45) 100%),url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=1800&q=85") center/cover;display:flex;flex-direction:column;justify-content:center}.hero h1{max-width:1050px;font-size:clamp(2.5rem,6.8vw,7.1rem);letter-spacing:-.047em;line-height:1.03}.hero p{color:rgba(255,255,255,.91)}.hero .btn{width:fit-content;max-width:100%;min-height:50px}.hero .tag::before{content:"";display:inline-block;width:36px;height:1px;background:currentColor;vertical-align:middle;margin-right:16px}.section{scroll-margin-top:86px}.service-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:42px 0 20px}.service-tabs button{background:transparent!important;color:#173f3a!important;border:1px solid #a9bab3!important;padding:14px 19px!important;min-height:48px;font-size:14px}.service-tabs button.is-active{background:#123f3b!important;color:white!important;border-color:#123f3b!important}.services{margin-top:0}.services a{min-width:0;min-height:118px;position:relative;border-top:1px solid #cfd9d4;padding:22px 40px 25px 6px;font:clamp(1.3rem,2.1vw,1.8rem)/1.25 Georgia,serif;text-decoration:none;overflow-wrap:anywhere}.services a span{display:block;color:#ac6144;font:12px/1.5 system-ui;margin-bottom:13px}.services a i{position:absolute;right:6px;top:55px;font:24px system-ui}.services a:hover{background:#f0f2ec}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:33px;margin-top:60px}.steps article{border-top:1px solid #63827b;padding-top:24px}.steps article span{font-size:13px;color:#e9b99e}.steps h3{font-size:clamp(23px,2.6vw,32px);margin:16px 0 8px}.steps article p{font-size:16px;color:rgba(255,255,255,.82);line-height:1.6}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.faq-items details{border-bottom:1px solid #b6c7bf;padding:20px 0}.faq-items summary{cursor:pointer;list-style:none;font-weight:600;font-size:17px}.faq-items summary::after{content:'+';float:right;font-size:21px;color:#b56e51}.faq-items details[open] summary::after{content:'−'}.faq-items p{font-size:16px;line-height:1.7;color:#465e58}.pilot-warning{font-size:14px!important;border-left:3px solid #bc7658;padding-left:13px}.mobile-toggle{display:none!important}.success{overflow-wrap:anywhere}@media(max-width:820px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.faq{grid-template-columns:1fr;gap:15px}}@media(max-width:820px){header{min-height:72px;position:sticky}.mobile-toggle{display:grid!important;place-items:center;background:transparent!important;color:#153d39!important;border:1px solid #9eafa7!important;width:48px;height:48px;padding:0!important;font-size:25px}.mobile-toggle:hover{filter:none}#main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#f6f4ef;box-shadow:0 24px 40px #102e2b30;padding:13px 20px;flex-direction:column;gap:0;max-height:calc(100dvh - 72px);overflow:auto}#main-nav.open{display:flex}#main-nav a,#main-nav a:not(.nav-cta){display:block;min-height:48px;padding:15px 4px;border-bottom:1px solid #d2dcd7;font-size:16px}.hero{min-height:630px;padding-top:74px;padding-bottom:92px}.hero h1{font-size:clamp(2.35rem,9.4vw,4.2rem);line-height:1.09;letter-spacing:-.035em}.hero p{font-size:17px}.services{grid-template-columns:1fr}.services a{font-size:clamp(1.27rem,5.4vw,1.65rem)}.steps{grid-template-columns:1fr;gap:18px}.faq{grid-template-columns:1fr}.pre{font-size:11px;letter-spacing:.08em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Mobile UX correction slice: readable help, clear error and small-screen actions */
.field-help{display:block;margin:-2px 0 2px;font-size:15px;font-weight:400;line-height:1.5;color:#435e57}.hint,.check span{font-size:14px;line-height:1.6}.error{font-size:16px}.actions button{min-height:50px}@media(max-width:540px){.intro p{font-size:16px}.progress{font-size:16px}.actions{gap:12px}.actions button{font-size:16px;padding:15px 14px}.field-help{font-size:15px}}

/* Preserve native hidden state for the step navigation buttons. */
.actions button[hidden]{display:none!important}

/* Hansa brand palette V1 — derived from flyer; visually estimated colours.
   Scoped visual overrides only; pilot copy, routes and form behavior stay unchanged. */
:root{
  --hansa-navy:#071b49;
  --hansa-blue:#1555a3;
  --hansa-sky:#64a9dc;
  --hansa-ice:#eaf4fa;
  --hansa-white:#fff;
  --hansa-ink:#142c52;
  --hansa-border:#cfdfeb;
  --hansa-muted:#425b76;
  color:var(--hansa-ink);
  background:var(--hansa-white);
}
body{background:var(--hansa-white)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--hansa-sky)}
.pre,.dark,footer{background:var(--hansa-navy);color:var(--hansa-white)}
header{background:var(--hansa-white);border-bottom-color:var(--hansa-border)}
header .brand{color:var(--hansa-navy)}
.brand strong{border-color:var(--hansa-navy)}
header{background:rgba(255,255,255,.97)}
nav .nav-cta,.btn,button:not(.secondary),.lp-office .lp-nav-cta{background:var(--hansa-blue);color:var(--hansa-white)}
button:hover,.btn:hover,.lp-office .lp-nav-cta:hover{filter:brightness(.9)}
.hero{
  background:linear-gradient(90deg,rgba(7,27,73,.97) 0%,rgba(7,27,73,.88) 48%,rgba(7,27,73,.48) 100%),url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=1800&q=85") center/cover;
}
.tag,.services a span,.lp-three span{color:var(--hansa-blue)}
.hero .tag,.dark .tag,.steps article span{color:#b5def5}
em{color:var(--hansa-blue)}
.hero h1 em,.dark em{color:#a7d9f6}
.services a,.services div,.steps article,.faq-items details{border-color:var(--hansa-border)}
.steps article{border-color:#477ca9}
.service-tabs button{color:var(--hansa-navy)!important;border-color:#a9c7dc!important}
.service-tabs button.is-active{background:var(--hansa-navy)!important;color:var(--hansa-white)!important;border-color:var(--hansa-navy)!important}
.services a:hover{background:var(--hansa-ice)}
.faq-items summary::after{color:var(--hansa-blue)}
.faq-items p,.intro p,.field-help,.hint,.check span{color:var(--hansa-muted)}
.hero p,.dark p,.dark .steps article p{color:#edf5ff}
.form-section{background:var(--hansa-ice)}
form,.success{background:var(--hansa-white);box-shadow:0 18px 55px rgba(7,27,73,.12)}
.progress{color:var(--hansa-blue)}
progress{accent-color:var(--hansa-blue)}
input,select,textarea{border-color:#a9bfd2;background:#f7fbff;color:var(--hansa-ink)}
input:focus,select:focus,textarea:focus{border-color:var(--hansa-blue)}
.secondary{color:var(--hansa-navy);border-color:var(--hansa-blue)}
.summary p{border-color:var(--hansa-border)}
.pilot-warning{border-left-color:var(--hansa-blue)}
@media(max-width:820px){
 .mobile-toggle{color:var(--hansa-navy)!important;border-color:#a9c7dc!important}
 #main-nav{background:var(--hansa-white);box-shadow:0 24px 40px rgba(7,27,73,.2)}
 #main-nav a,#main-nav a:not(.nav-cta){border-bottom-color:var(--hansa-border)}
}

/* Accessible disclosures, skip link and focus visibility. */
summary:focus-visible{outline:3px solid var(--hansa-blue);outline-offset:4px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--hansa-blue)}
.hero :focus-visible,.dark :focus-visible,footer :focus-visible{outline-color:#b5def5}
summary{min-height:44px}
:focus-visible{scroll-margin-top:110px}
.skip-link{position:fixed;left:12px;top:8px;z-index:100;background:white;color:var(--hansa-navy);padding:14px;transform:translateY(-160%)}
.skip-link:focus{transform:none}

.brand-logo{display:block;width:180px;height:auto;max-height:66px;object-fit:contain}.brand{min-width:0;flex-shrink:1}.footer-brand{display:block;background:transparent;padding:0;width:200px;max-width:100%;margin-bottom:24px}.footer-brand img{display:block;width:100%;height:auto}@media(max-width:540px){.brand-logo{width:145px;max-height:54px}.lp-office .brand-logo{width:130px}}

.legal-page{max-width:950px;margin:auto}.legal-page h2{font-size:clamp(1.5rem,4vw,2rem);margin-top:40px}.legal-page p{line-height:1.75}.legal-page a{text-underline-offset:3px}

/* Restore sections and hierarchy present in the pinned MagicPath reference. */
.overview-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:start}.overview-heading p{line-height:2;max-width:450px}.category-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:50px}.category-card{display:flex;flex-direction:column;justify-content:end;min-height:340px;padding:36px;color:white;text-decoration:none;background-size:cover;background-position:center}.category-card.regular{background-image:linear-gradient(0deg,rgba(7,27,73,.92),rgba(7,27,73,.1)),url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=950&q=80")}.category-card.oneoff{background-image:linear-gradient(0deg,rgba(7,27,73,.92),rgba(7,27,73,.1)),url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&w=950&q=80")}.category-card h3{font-size:clamp(1.38rem,4vw,2.25rem);line-height:1.3;overflow-wrap:anywhere;margin:14px 0 24px}.category-card span{font:14px/1.6 Inter,system-ui,sans-serif}.category-card>span:first-child{color:#b5def5;font-size:12px;letter-spacing:.1em}.services .service-description{font:16px/1.75 Inter,system-ui,sans-serif;color:var(--hansa-muted);letter-spacing:normal;margin:14px 0 0;max-width:330px}.hero .btn-outline{background:transparent;border:1px solid rgba(255,255,255,.5);margin-top:16px}.hero .hero-caption{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-top:40px}.hero h1{max-width:930px;font-size:clamp(2.38rem,9.4vw,7.2rem);line-height:1.08}.section,.hero{padding-left:clamp(20px,4.45vw,64px);padding-right:clamp(20px,4.45vw,64px)}@media(min-width:1024px){.hero h1{line-height:.99}}@media(max-width:820px){.overview-heading,.category-cards{grid-template-columns:1fr}.overview-heading{gap:10px}.category-card{padding:24px}}

input::placeholder,textarea::placeholder{color:var(--hansa-muted);opacity:1}
.hero{background-image:linear-gradient(90deg,rgba(7,27,73,.97) 0%,rgba(7,27,73,.88) 48%,rgba(7,27,73,.75) 100%),url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=1800&q=85")}

/* Service/step icons replace numeric labels */
.svc-icon,.step-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0}
.svc-icon svg,.step-icon svg{width:26px;height:26px;display:block}
.services a .svc-icon{margin-bottom:10px;color:var(--hansa-blue,#1555a3)}
.steps article .step-icon{color:#b5def5;margin-bottom:4px}

/* Professional site footer */
.site-footer{padding:56px clamp(18px,4vw,60px) 28px}
.site-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(28px,5vw,56px);max-width:1372px;margin:0 auto;align-items:start}
.site-footer .footer-brand{margin-bottom:18px}
.site-footer .footer-name{margin:0 0 10px;font-weight:700}
.site-footer address{font-style:normal;line-height:1.7;margin:0;color:rgba(255,255,255,.9)}
.site-footer .footer-contact{margin:14px 0 0;line-height:1.6}
.site-footer h3{margin:0 0 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#b5def5;font-weight:700}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:#b5def5}
.site-footer-meta{max-width:1372px;margin:40px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:rgba(255,255,255,.8)}
@media(max-width:820px){.site-footer-grid{grid-template-columns:1fr}.site-footer{padding-top:42px}}
