



:root{--background:#f7f9fa;--foreground:#183349;--card:#fff;--card-foreground:#183349;--popover:#fff;--popover-foreground:#183349;--primary:#0f756d;--primary-foreground:#fff;--secondary:#e9f3f0;--secondary-foreground:#183349;--muted:#edf1f4;--muted-foreground:#596d7c;--accent:#edf5f2;--accent-foreground:#183349;--destructive:#b43838;--border:#dce5e9;--input:#cdd9df;--ring:#118477;--radius:.75rem;--sidebar:#183349;--sidebar-foreground:#fff;--sidebar-primary:#3ecab1;--sidebar-primary-foreground:#173247;--sidebar-accent:#27475e;--sidebar-accent-foreground:#fff;--sidebar-border:#3d5362;--sidebar-ring:#3ecab1}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--foreground);font:16px/1.6 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}:focus-visible{outline:3px solid #23ad99;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.5rem,5vw,4.4rem);letter-spacing:-.055em;line-height:1.08;font-weight:600}h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.035em;line-height:1.2;font-weight:600}h3{font-size:1.25rem;font-weight:600;line-height:1.4}p{color:#596d7c}small{font-size:.85rem}.wrap{max-width:1200px;margin:auto;padding:0 28px}.nav{background:#fff;border-bottom:1px solid #e6ecee}.navin{height:92px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;font-size:1.18rem;letter-spacing:-.035em;line-height:1.2;font-weight:700;white-space:nowrap}.brand small{display:block;font-size:.65rem;letter-spacing:.18em;font-weight:500;margin-top:6px}.brandmark{background:#0f756d;color:#fff;border-radius:9px;width:42px;height:46px;display:grid;place-items:center}.navlinks{display:flex;align-items:center;gap:26px;font-size:.9rem}.navlinks a:hover{color:#0f756d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:7px;padding:12px 23px;background:#0f756d;color:#fff;font-size:.95rem;font-weight:600;border:1px solid #0f756d;text-align:center}.btn:hover{background:#095f59}.btn.secondary{background:white;color:#183349;border-color:#cdd9df}.btn.quiet{background:transparent;color:#183349;border-color:transparent}.eyebrow{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:#0f756d;font-weight:700;display:flex;align-items:center;gap:8px;margin-bottom:20px}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:54px;padding-top:62px;padding-bottom:54px;align-items:center}.hero p{max-width:440px;font-size:1.05rem;line-height:1.8}.hero .sub{font-size:.86rem;margin-top:16px}.heroimage{height:490px;position:relative;border-radius:15px;overflow:hidden;background:#dce8e8}.heroimage img{height:100%;width:100%;object-fit:cover}.imagebadge{position:absolute;bottom:22px;left:22px;right:22px;background:rgba(255,255,255,.95);padding:18px 20px;border-radius:9px;display:flex;gap:14px;align-items:center;box-shadow:0 5px 24px #17324712}.imagebadge strong{display:block;font-size:.98rem}.imagebadge span{font-size:.83rem;color:#596d7c}.benefits{border-top:1px solid #dde5e8;border-bottom:1px solid #dde5e8;display:flex;justify-content:space-between;padding:22px 0;gap:15px;font-size:.9rem}.benefits div{display:flex;gap:10px;align-items:center}.benefits svg{color:#0f756d;width:19px}.section{padding:76px 0}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.sectionhead p{max-width:410px;margin:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #dde6e9;border-radius:12px;padding:30px}.package{display:flex;flex-direction:column;position:relative}.package.featured{border:1.5px solid #0f756d;box-shadow:0 10px 30px #19374d07}.package .icon{background:#edf5f2;color:#0f756d;padding:12px;border-radius:10px;align-self:flex-start;margin-bottom:22px}.package ul{padding:0;list-style:none;flex:1;margin:8px 0 26px}.package li{display:flex;gap:10px;margin:13px 0;font-size:.9rem;color:#425e70;line-height:1.55}.package li svg{flex:0 0 17px;color:#0f756d;margin-top:3px}.package h3{font-size:1.6rem;margin-bottom:8px}.package p{font-size:.92rem;min-height:44px}.package .tag{position:absolute;right:20px;top:25px}.tag{display:inline-block;background:#e8f3ef;color:#0b6a5d;padding:4px 10px;border-radius:5px;font-size:.78rem;font-weight:600}.note{background:#eef4f6;border:1px solid #dbe6ec;border-radius:8px;padding:16px 18px;font-size:.9rem;color:#456273}.notice{background:#fff7e8;border:1px solid #eedfbb;border-radius:8px;padding:15px 18px;color:#75541c;font-size:.9rem}.error{background:#fff0ee;color:#9c302b;border:1px solid #f1d0cb;border-radius:8px;padding:15px}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.process .num{font-size:.85rem;color:#0f756d;display:block;margin-bottom:22px;border-bottom:1px solid #cbdedb;padding-bottom:15px}.process h3{font-size:1.1rem}.process p{font-size:.92rem}.tinted{background:#eaf2f0}.faq{max-width:820px;margin:auto}.faq details{border-bottom:1px solid #d6e2e5;padding:22px 0}.faq summary{cursor:pointer;font-weight:600;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-size:1.25rem;color:#0f756d}.faq details[open] summary:after{content:'−'}.faq p{padding-top:15px;margin:0}.contactbar{background:#17374c;color:white;border-radius:12px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contactbar h2{font-size:2rem}.contactbar p{color:#d3e0e7;margin:0}.contactbar .btn{background:white;color:#17374c;border-color:white}.footer{background:#fff;border-top:1px solid #e1e8eb;padding:36px 0}.footerin{display:flex;justify-content:space-between;gap:30px;font-size:.84rem}.footerlinks{display:flex;flex-wrap:wrap;gap:22px}.muted{color:#637687}.pageintro{padding:48px 0 24px}.pageintro h1{font-size:2.5rem}.booking{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:32px;padding-bottom:70px;align-items:start}.stepnav{display:flex;justify-content:space-between;gap:12px;margin:28px 0 18px}.stepnav button{border:0;background:none;font-size:.82rem;color:#758797;padding:0;text-align:left}.stepnav .active{color:#0f756d;font-weight:700}.stepnav b{display:inline-grid;place-items:center;margin-right:6px;background:#e7eef0;border-radius:50%;width:25px;height:25px}.stepnav .active b{background:#0f756d;color:white}.formcard{padding:32px}.formcard h2{font-size:1.65rem;margin-bottom:8px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:.88rem;font-weight:600}.field input,.field textarea,.textinput{background:#fff;border:1px solid #cdd9df;border-radius:6px;padding:11px 13px;min-height:46px;width:100%;color:#183349}.field textarea{min-height:90px}.field.full{grid-column:1/-1}.checkline{display:flex;align-items:center;gap:11px;font-size:.9rem;margin:16px 0}.choice{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #d5e1e7;border-radius:8px;padding:17px;cursor:pointer}.choice.selected{border-color:#0f756d;background:#f0f8f5}.choice strong{display:block}.choice p{margin:3px 0 0;font-size:.87rem}.actions{display:flex;justify-content:space-between;border-top:1px solid #e1e8eb;margin-top:30px;padding-top:24px;gap:20px}.summary{position:sticky;top:25px;overflow:hidden;padding:0}.summarytop{background:#17374c;color:white;padding:22px 24px}.summarytop h3{margin:0}.summarybody{padding:24px}.summaryline{display:flex;justify-content:space-between;gap:14px;font-size:.91rem;padding:12px 0;border-bottom:1px solid #e8eef0}.summaryline span:last-child{text-align:right;font-weight:600}.summary .price{padding:22px 0 4px}.summary .price strong{font-size:1.12rem}.summary p{font-size:.85rem;margin:10px 0}.stepbadge{color:#0f756d;font-size:.78rem;font-weight:600;letter-spacing:.1em;margin-bottom:14px}.extrasrow{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid #e4ecee}.extrasrow p{font-size:.87rem;margin:4px 0}.qty{display:flex;align-items:center;gap:12px}.qty button{width:33px;height:33px;border:1px solid #d3dfe3;border-radius:5px;background:white}.summarysection{padding:20px 0;border-bottom:1px solid #e0e8eb}.summarysection h3{font-size:1rem}.summarysection p{margin-bottom:8px}.success{max-width:720px;margin:50px auto;padding:45px}.legal{white-space:pre-wrap;max-width:850px}.adminheader{display:flex;justify-content:space-between;align-items:center;margin:35px 0 25px;gap:15px}.adminheader h1{font-size:2.2rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.stats .card{padding:23px}.stats strong{font-size:2rem;display:block}.stats span{font-size:.85rem;color:#647789}.toolbar{display:flex;gap:14px;margin:24px 0;align-items:center;flex-wrap:wrap}.toolbar input{max-width:350px}.admincards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.admincard{margin:20px 0}.admincard h3{margin-bottom:15px}.admincard textarea{min-height:120px}.timeline{font-size:.85rem;border-left:2px solid #d6e4e7;margin:20px 0;padding-left:18px}.timeline p{margin:0 0 15px}.previewstrip{padding:10px 20px;text-align:center;font-size:.83rem;background:#e6f1ee;color:#275e55}.emptybox{padding:60px 20px;text-align:center;color:#637687}.link{color:#0f756d;text-decoration:underline;text-underline-offset:3px}.photo-grid{display:flex;gap:12px;flex-wrap:wrap}.photo-grid img{width:130px;height:110px;object-fit:cover;border-radius:7px}.menumobile{display:none}.hiddenfield{position:absolute;left:-10000px;opacity:0}table{font-size:.88rem}hr{border:0;border-top:1px solid #dce5e9;margin:25px 0}
@media(max-width:900px){.navlinks{gap:17px}.navlinks .desktoponly{display:none}.hero{gap:30px}.heroimage{height:410px}.grid3{gap:15px}.card{padding:23px}.booking{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.stepnav button span{display:none}.benefits{flex-wrap:wrap}.process{grid-template-columns:1fr 1fr}.admincards{grid-template-columns:1fr}}
@media(max-width:650px){.wrap{padding:0 20px}.navin{height:78px;gap:10px}.brand{font-size:1rem}.brandmark{width:35px;height:39px}.brand small{font-size:.52rem}.navlinks>a{display:none}.navlinks .btn{display:flex;padding:10px 13px;font-size:.8rem;min-height:42px}.hero{grid-template-columns:1fr;padding-top:35px;gap:25px;padding-bottom:30px}.hero h1{font-size:3rem;max-width:420px}.heroimage{height:315px}.hero p{font-size:1rem}.hero .btn{width:100%}.benefits{display:grid;grid-template-columns:1fr;gap:12px;padding:20px 0}.section{padding:45px 0}.sectionhead{display:block}.sectionhead p{margin-top:16px}.grid3{grid-template-columns:1fr}.package p{min-height:0}.process{gap:22px}.contactbar{padding:28px;display:block}.contactbar .btn{margin-top:24px}.footerin{flex-direction:column}.booking{grid-template-columns:1fr}.summary{position:static}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.formcard{padding:23px 20px}.pageintro{padding-top:32px}.pageintro h1{font-size:2rem}.stepnav{gap:6px}.stepnav b{margin:0}.stepnav button span{display:none}.stats{gap:10px}.stats .card{padding:15px}.stats strong{font-size:1.6rem}.adminheader{align-items:start;flex-direction:column}.adminheader h1{font-size:1.8rem}.actions .btn{padding:11px 16px}.success{padding:28px}.toolbar{align-items:stretch}.toolbar>*{flex:1}.tinted .process{grid-template-columns:1fr 1fr}}
.bookinghero{grid-template-columns:1.15fr .85fr;align-items:stretch;padding-top:42px;padding-bottom:40px;gap:38px}.bookinghero h1{font-size:clamp(2.6rem,4.3vw,3.8rem)}.bookinghero .heroimage{height:100%;min-height:560px}.bookinghero p{margin-bottom:22px}.quickstart{padding:24px;background:#fff;border:1px solid #dbe6e8;border-radius:12px;box-shadow:0 10px 35px #18334908}.quickheading{display:grid;gap:8px;margin-bottom:18px}.quickheading>span:last-child{font-size:.78rem;color:#637687}.servicechoices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.servicechoice{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 8px;border:1px solid #d5e1e7;border-radius:7px;cursor:pointer;font-size:.8rem;flex-wrap:wrap}.servicechoice.selected{border-color:#0f756d;background:#edf7f3;color:#0c675f}.servicechoice svg{flex-shrink:0}.quickfields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.quickfields .btn{grid-column:1/-1}.quickfields input{padding:10px 12px;min-height:44px}.packageprice{margin:0 0 16px;padding:15px 0;border-top:1px solid #e3eaed;border-bottom:1px solid #e3eaed}.packageprice strong{display:block;font-size:1.18rem;line-height:1.35}.packageprice small{display:block;color:#596d7c;font-size:.8rem;margin-top:8px}.package-notes p{font-size:.8rem;min-height:0}.service-list{list-style:none;padding:0;margin:25px 0}.service-list li{display:flex;gap:12px;margin:16px 0}.service-list svg{flex-shrink:0;color:#0f756d;margin-top:4px}.price-big{font-size:2rem;font-weight:600;letter-spacing:-.04em;display:block;line-height:1.2;margin:10px 0}.included{font-size:.85rem;color:#0b7569;background:#edf7f3;padding:11px 15px;border-radius:7px}.summary .summaryline{font-size:.85rem}.summary .price-label{font-size:.82rem;color:#586f7c}.summarybody .sumdivider{border-top:1px solid #dce5e9;margin-top:18px;padding-top:15px}.booking .servicechoices{grid-template-columns:repeat(3,1fr);margin:22px 0}.booking .servicechoice{padding:15px 10px;font-size:.86rem;justify-content:flex-start}.servicehint{font-size:.86rem;color:#5c7280;margin-bottom:22px}.price-table input{min-width:90px}.summarysection li{margin-bottom:7px}
@media(max-width:1000px){.bookinghero{grid-template-columns:1.2fr .8fr;gap:25px}.quickstart .servicechoice svg{display:none}.servicechoice{font-size:.76rem}.bookinghero .heroimage{min-height:560px}}
@media(max-width:650px){.bookinghero{grid-template-columns:1fr;gap:28px;padding-top:30px}.bookinghero .heroimage{min-height:0;height:280px}.bookinghero h1{font-size:2.8rem}.quickstart{padding:18px}.quickstart .servicechoices{grid-template-columns:1fr}.quickstart .servicechoice{flex-wrap:nowrap;justify-content:flex-start;font-size:.9rem;padding:12px}.quickstart .servicechoice svg{display:block}.quickfields{gap:12px}.booking .servicechoices{grid-template-columns:1fr}.package .tag{position:static;align-self:flex-start;margin-bottom:18px}.footerlinks{row-gap:12px}.quickheading .eyebrow{font-size:.67rem}.price-big{font-size:1.8rem}}
@media(max-width:380px){.brand{font-size:.83rem;gap:7px}.brandmark{width:29px;height:33px}.brand small{font-size:.44rem}.navlinks .btn{font-size:.72rem;padding:8px 9px}.navin{gap:7px}.bookinghero h1{font-size:2.45rem}}
/* Four services; window quantities keep the existing navy/teal visual language. */
.servicecards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.quickstart .servicechoices,.booking .servicechoices{grid-template-columns:repeat(2,minmax(0,1fr))}.quickstart .servicechoice{font-size:.9rem;justify-content:flex-start;padding:13px 11px}.quick-window-hint{font-size:.88rem!important;line-height:1.5!important;margin:0!important;align-self:center}.window-details-link{margin-bottom:20px;font-size:.9rem}.window-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.window-intro>div>p{font-size:1.1rem;line-height:1.8}.window-intro .card p{font-size:.95rem}.window-inventory{margin-top:25px}.window-inventory .note p{margin:12px 0 0}.window-item{border:1px solid #d6e2e7;border-radius:10px;background:#fafcfc;padding:20px;margin:22px 0}.window-item-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.iconbutton{display:grid;place-items:center;border:1px solid #d2dfe4;border-radius:6px;background:white;color:#365369;width:40px;height:40px}.window-item .formgrid{margin:14px 0}.field select{font:inherit;width:100%;min-width:0;min-height:46px;background:white;color:#183349;padding:10px;border:1px solid #cdd9df;border-radius:6px}.window-item-price{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:.9rem;color:#0b6a60;border-top:1px solid #dce7e6;padding-top:13px}.window-extra-group{border:1px solid #d5e1e6;border-radius:9px;background:white;padding:18px;margin:16px 0}.window-extra-group>summary{display:flex;justify-content:space-between;align-items:center;gap:15px;cursor:pointer;font-weight:600;list-style:none;min-height:35px}.window-extra-group>summary:after{content:'+';color:#0f756d;font-size:1.3rem}.window-extra-group[open]>summary:after{content:'−'}.window-extra-group>summary>span{font-size:.88rem;font-weight:400;color:#617784;margin-left:auto}.window-extra-group .extrasrow>.field{width:88px;flex:0 0 88px}.window-extra-group .extrasrow>div:first-child{min-width:0}.window-residues{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:10px 0 24px}.window-costs p:last-child{margin-bottom:0}.window-price-groups{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;align-items:start}.window-price-groups .summaryline span:last-child{white-space:nowrap}.summary .price .price-big{font-size:2rem}.bookinghero .heroimage{min-height:600px}.navlinks{gap:18px}
@media(max-width:1000px){.window-intro{gap:28px}.navlinks .desktoponly{display:none}.quickstart .servicechoice svg{display:block}}
@media(max-width:650px){.servicecards,.window-intro,.window-price-groups{grid-template-columns:1fr}.window-intro{gap:25px}.quickstart .servicechoices,.booking .servicechoices{grid-template-columns:1fr}.quick-window-hint{font-size:.82rem!important}.window-item{padding:16px}.window-extra-group{padding:15px}.window-extra-group .extrasrow{gap:12px}.window-extra-group .extrasrow strong{font-size:.93rem}.window-residues{grid-template-columns:1fr}.bookinghero .heroimage{min-height:0}.window-costs{padding:25px}.window-costs h3{font-size:1.15rem}.window-intro h1{font-size:2.8rem}}
.postcode-full{grid-column:1/-1}.postcode-status{font-size:.9rem;line-height:1.5;border-radius:7px;padding:12px 14px}.postcode-status strong,.postcode-status span{display:block}.postcode-status span{margin-top:5px}.postcode-pending{padding:0;color:#596d7c}.postcode-supported{background:#edf7f3;border:1px solid #badfd3;color:#0b6758}.postcode-unsupported{background:#fff1ec;border:1px solid #e9c9bc;color:#873b22}.postcode-booking{margin-top:-8px}

/* Keep administration selectors and time tables usable on narrow screens. */
.field select{width:100%;min-height:46px;border:1px solid #cdd9df;border-radius:6px;background:#fff;padding:10px 12px;font:inherit;color:#183349}.field{min-width:0}.admincard code{white-space:normal}.admincard td .field input[type=number]{min-width:6.5rem}

.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:.85rem;color:#64748b;margin-bottom:28px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.region-grid p{overflow-wrap:anywhere;font-size:.95rem}.area-intro{font-size:.9rem;line-height:1.7;margin:24px 0 0;color:#526567}.setup-steps{padding-left:24px;line-height:1.7}.setup-steps li{margin-bottom:16px}.setup-code{display:block;overflow-wrap:anywhere;padding:14px;background:#f1f5f4;border-radius:8px;font-size:.85rem}.calendar-options{display:grid;gap:12px;margin:20px 0}.calendar-options label{display:flex;gap:12px;align-items:flex-start;overflow-wrap:anywhere}.calendar-options input{margin-top:4px}.google-setup details{margin:24px 0}.google-setup summary{font-weight:600;cursor:pointer}.google-setup .field{margin-bottom:18px}@media(max-width:760px){.region-grid{grid-template-columns:1fr}.setup-code{font-size:.75rem}}

.availability-booking{margin-top:24px}.calendar-intro{font-size:1.05rem;margin-bottom:14px}.calendar-status{background:#eef6f3;color:#254e48;padding:15px 18px;border-radius:9px;margin-bottom:24px;line-height:1.6}.calendar-error{color:#8d2d32}.booking-calendar-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr);gap:24px;align-items:start}.availability-calendar{width:100%!important;max-width:430px;padding:0!important;--cell-size:40px}.availability-calendar [data-slot=button]{font-family:inherit}.availability-calendar .rdp-month{gap:14px}.availability-calendar .rdp-caption_label{font-size:1.2rem;font-weight:650}.availability-calendar .rdp-weekday{font-size:.88rem;color:#596d7c}.availability-calendar .rdp-week{gap:4px;margin-top:5px}.availability-calendar .rdp-day{min-width:0}.availability-calendar .rdp-day button{min-width:0;width:100%;height:58px;gap:3px;border-radius:8px;border:1px solid transparent;background:#f4f6f7;color:#82909a;opacity:1;font-size:1rem;line-height:1.1}.availability-calendar .rdp-day button small{font-size:.875rem;line-height:1.1}.availability-calendar .calendar-bookable button{background:#e8f5ef;border-color:#a7d6c4;color:#07594e;cursor:pointer}.availability-calendar .calendar-bookable button:hover{background:#cfeadf}.availability-calendar .rdp-day button[data-selected-single=true]{background:#0f756d!important;color:white!important;border-color:#0f756d}.availability-calendar .calendar-unavailable button>span{text-decoration:line-through}.availability-calendar .rdp-nav button{min-height:40px;min-width:40px;background:#f1f5f5;border-radius:8px}.availability-calendar .rdp-nav button:disabled{opacity:.4}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.875rem;margin-top:18px;color:#496071}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:13px;height:13px;border-radius:3px;display:inline-block}.legend-free{background:#b9e0ce;border:1px solid #76b799}.legend-busy{background:#e5e9eb;border:1px solid #bcc7cb}.calendar-rules{font-size:.875rem;margin:13px 0;color:#687d88}.calendar-times{border-left:1px solid #e2e9eb;padding-left:22px;min-width:0}.calendar-times h3{font-size:1.05rem;margin-bottom:14px}.calendar-times p{font-size:.9rem}.calendar-time-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:360px;overflow-y:auto;padding:5px 6px 5px 3px}.calendar-time{min-height:44px;padding:10px 4px;border:1px solid #97bdb5;color:#0d6057;background:white;border-radius:7px;font-size:.93rem;font-weight:600;white-space:nowrap}.calendar-time:hover{background:#e5f4ee}.calendar-time.chosen{background:#0f756d;color:white;border-color:#0f756d}.free-window-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.free-window-list>span{width:100%;font-size:.9rem;color:#657885}.free-window-list strong{font-size:.875rem;background:#edf5f1;padding:5px 8px;border-radius:5px;color:#245c50}.calendar-selection{display:grid;gap:6px;border:1px solid #99c6b5;background:#eff8f3;padding:17px;border-radius:9px;margin-top:24px}.calendar-selection span{font-size:.9rem;color:#496a60}.calendar-tools{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0;font-size:.875rem}.calendar-tools>span{color:#70818c}.calendar-manual{font-size:.9rem;text-align:left;margin-bottom:8px}.calendar-tools .link,.calendar-manual{background:transparent;border:0;padding:4px 0;min-height:32px}@media(max-width:1100px){.booking-calendar-grid{grid-template-columns:1fr}.availability-calendar{margin:auto}.calendar-times{border-left:0;border-top:1px solid #e2e9eb;padding:22px 0 0}.calendar-time-buttons{grid-template-columns:repeat(3,minmax(0,1fr));max-height:270px}}@media(max-width:400px){.availability-calendar .rdp-day button{height:52px}.availability-calendar .rdp-week{gap:2px}.calendar-status{padding:13px}.calendar-time-buttons{gap:6px}.calendar-time{font-size:.875rem}}

.availability-calendar .rdp-day button>span{font-size:1rem;opacity:1}.availability-calendar .rdp-day button:focus-visible{outline:3px solid #23ad99;outline-offset:2px}

/* Window service scopes */
.window-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.window-package-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.window-package-grid article h3{font-size:1.7rem;margin:0}
.window-package-grid article p{margin:0}
.window-package-grid article .service-list{margin:0 0 8px}
.window-package-grid article .btn{margin-top:auto}
.window-package-featured{border:2px solid #0f756d;background:#f5faf8}
.window-scope-picker{border:0;padding:0;margin:24px 0 30px;min-width:0}
.window-scope-picker legend{font-weight:700;font-size:1.15rem;margin-bottom:16px}
.window-scope-choice{align-items:flex-start}
.window-scope-choice>button{margin-top:5px;flex-shrink:0}
.window-scope-choice small{color:#53665f}
.window-scope-list{padding-left:22px;margin:18px 0;font-size:.92rem;line-height:1.65}
.window-scope-picker>.muted{font-size:.88rem;line-height:1.6}
@media(max-width:720px){.window-package-grid{grid-template-columns:1fr}.window-scope-choice .tag{margin:7px 0 0!important;display:table}.window-package-grid article .btn{width:100%}}

/* City pages share the service palette and stay readable without location imagery. */
.mobile-region-nav{display:none}.footer-cities{padding-top:25px;padding-bottom:32px;border-top:1px solid #dce5e9}.footer-cities>strong{font-size:.88rem}.city-footer-nav{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:10px;font-size:.87rem}.city-footer-nav a{display:inline-flex;align-items:center;min-height:40px}.city-footer-nav a:hover{text-decoration:underline;text-underline-offset:4px}.city-directory{border-bottom:1px solid #dce5e9}.city-directory .sectionhead h2{margin-bottom:0}.city-link{display:flex;flex-direction:column;transition:border-color .15s,background .15s}.city-link:hover{border-color:#0f756d;background:#f1f8f5}.city-link-title{display:flex;align-items:center;gap:10px;font-size:1.12rem;color:#17374c}.city-link-title svg{flex-shrink:0;color:#0f756d}.city-link-title svg:last-child{margin-left:auto}.city-link-title strong{min-width:0}.city-link p{margin:14px 0 20px;flex:1}.city-count{font-size:.82rem;color:#0b6a60}.city-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.city-link-grid .city-link{border:1px solid #d3e2dd;border-radius:8px;padding:16px;background:white}.city-link-grid .city-link:hover{background:#eaf5ef}.city-link-grid .city-link-title{font-size:.95rem}.city-overview-link{display:inline-block;margin-top:4px}.city-hero{padding-bottom:42px}.city-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:52px;align-items:start}.city-hero h1{font-size:clamp(2.4rem,4.7vw,4rem);overflow-wrap:break-word}.city-hero h1 span{color:#0f756d}.city-hero .city-lead{font-size:1.18rem;color:#294b5e;line-height:1.65}.city-hero .btn{margin-top:10px}.city-postcodes{background:#eff6f3;border-color:#cfdfd7}.city-postcodes h2{font-size:1.7rem}.postcode-chips{display:flex;flex-wrap:wrap;list-style:none;margin:20px 0;padding:0;gap:7px}.postcode-chips li{padding:5px 9px;background:white;border:1px solid #d6e4de;border-radius:5px;font-size:.85rem;font-variant-numeric:tabular-nums;color:#315b50}.city-postcode-note{font-size:.85rem;margin-bottom:0;padding-top:16px;border-top:1px solid #d1e1d9}.city-request{scroll-margin-top:25px;background:#eaf3ef;border-radius:14px;padding:30px}.city-request h2{font-size:1.7rem}.city-request .quickstart{margin-top:22px}.quick-city-match{font-size:.87rem;margin:8px 0 0;color:#175e52}.city-service{display:flex;flex-direction:column}.city-service>svg{margin-bottom:18px}.city-service h3{font-size:1.35rem}.city-service>p{flex:1}.city-service-actions{display:flex;align-items:flex-start;flex-direction:column;gap:18px;margin-top:10px}.city-guidance{padding:36px 0;border-top:1px solid #dce5e9;border-bottom:1px solid #dce5e9}.city-guidance h2{max-width:800px;margin-bottom:35px}.city-guidance .num{display:inline-block;font-size:.85rem;font-weight:700;color:#0f756d;margin-bottom:13px}.city-guidance p{margin-bottom:0}.city-practical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.city-practical h2{font-size:1.6rem}.city-faq>p{margin-top:22px}.city-contact{padding:44px 0 70px}.city-contact .contactbar h2{font-size:1.8rem}.city-contact .contactbar .btn{flex-shrink:0}.city-area-intro{padding-bottom:0}.city-area-intro>p{max-width:860px;font-size:1.08rem}.city-area-intro .quickstart{margin-top:30px}
@media(max-width:1000px){.mobile-region-nav{display:flex;gap:12px 24px;flex-wrap:wrap;padding-bottom:10px;font-size:.87rem}.mobile-region-nav a{min-height:40px;display:flex;align-items:center}.city-hero-grid{gap:28px}.city-link-title{font-size:1rem}.city-link.card{padding:22px}}
@media(max-width:760px){.city-directory .region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-hero-grid,.city-practical{grid-template-columns:1fr}.city-hero-grid{gap:30px}.city-hero h1{font-size:2.7rem}.city-hero{padding-top:36px}.city-postcodes{padding:24px}.city-guidance .grid3{grid-template-columns:1fr;gap:26px}.city-request{padding:24px}.city-contact .contactbar .btn{align-self:flex-start}.city-directory .sectionhead{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:500px){.city-directory .region-grid,.city-link-grid{grid-template-columns:1fr}.city-directory{padding:44px 0}.city-request{padding:20px 16px}.city-request .quickstart{padding:16px}.city-hero h1{font-size:2.4rem}.city-hero .btn{width:100%;padding:12px 16px}.city-service{padding:24px}.city-contact .contactbar .btn{width:100%}.city-link-title{font-size:1.05rem}.city-footer-nav{gap:4px 20px}.city-contact .note h2{font-size:1.7rem}.city-contact .contactbar{padding:26px}.city-practical{padding:44px 0}}

.legal-layout{max-width:1000px}.legal-layout>h1{font-size:clamp(2rem,5vw,3.2rem);overflow-wrap:anywhere}.legal-preview-note{margin-bottom:28px}.legal-preview-note strong{display:block;margin-bottom:8px}.legal-prose{white-space:normal;font-size:1rem;line-height:1.8}.legal-prose p{white-space:pre-line;overflow-wrap:anywhere;margin-bottom:22px}.legal-prose h2{font-size:1.4rem;letter-spacing:-.02em;margin:34px 0 16px;scroll-margin-top:24px}.legal-prose h2:first-child{margin-top:0}.legal-toc{margin-bottom:24px;background:#edf5f1}.legal-toc ul{list-style:none;margin:15px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}.legal-toc a{display:block;padding:5px 0;text-decoration:underline;text-underline-offset:3px;font-size:.95rem}.legal-bottom-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:25px}.footer-cookie-button{font:inherit;line-height:inherit;background:none;border:0;padding:0;color:inherit;text-align:left}.footer-cookie-button:hover{color:#0f756d;text-decoration:underline}.cookie-dialog,.privacy-delete-dialog{width:calc(100% - 32px);max-width:650px!important;max-height:85dvh;overflow-y:auto;padding:28px}.cookie-dialog-heading{display:flex;align-items:center;gap:12px}.cookie-dialog-heading h2{font-size:1.4rem;margin:0;line-height:1.3}.cookie-dialog [data-slot=dialog-description]{font-size:1rem;line-height:1.6}.cookie-information section{border-top:1px solid #d6e2df;margin-top:20px;padding-top:20px}.cookie-information h2{font-size:1.1rem;line-height:1.4;letter-spacing:0;margin-bottom:10px}.cookie-information p{font-size:.95rem;line-height:1.7;margin-bottom:0}.cookie-information>p{margin-top:24px}.cookie-status{display:inline-block;background:#e7f3ed;color:#20574b;font-size:.875rem;padding:4px 9px;border-radius:5px;margin-bottom:12px}.cookie-dialog>.btn{margin-top:12px}.legal-review-list{padding-left:22px;margin-bottom:25px}.legal-review-list li{margin-bottom:13px;color:#4e6571}.form-privacy-note{font-size:.9rem;background:#f1f6f4;border-left:3px solid #258172;padding:15px 17px;line-height:1.7}.privacy-action-buttons{display:flex;gap:12px;flex-wrap:wrap}.privacy-actions p{font-size:.92rem}.privacy-delete-dialog [data-slot=alert-dialog-description]{font-size:1rem;line-height:1.6}.privacy-delete-dialog [data-slot=alert-dialog-title]{font-size:1.4rem}.privacy-delete-dialog .error{margin:0}
@media(max-width:650px){.legal-toc ul{grid-template-columns:1fr}.legal-layout>.card{padding:22px}.legal-prose{font-size:1rem}.cookie-dialog,.privacy-delete-dialog{padding:22px}.legal-review-list{padding-left:18px}.privacy-action-buttons>.btn{width:100%}}

/* Owner-supplied brand, preserved without retouching. */
.brandlogo{width:80px;height:80px;object-fit:contain;flex-shrink:0;border-radius:50%}.footer-brand{display:flex;gap:18px;align-items:center}.footer-brand img{border-radius:50%;object-fit:contain;flex-shrink:0}.navin{min-height:106px}.brand{min-width:0}.calculation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:26px 0}.calculation-grid .card{min-width:0}.calculation-grid strong{display:block;margin:12px 0}.calculation-grid p{font-size:1rem}
@media(max-width:1150px){.navlinks{gap:15px}.brandlogo{width:66px;height:66px}.brand small{font-size:.75rem}}
@media(max-width:760px){.calculation-grid{grid-template-columns:1fr}.brandlogo{width:58px;height:58px}.navin{min-height:92px;gap:12px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.brand{gap:10px}.footer-brand{align-items:flex-start}.footer-brand img{width:80px;height:80px}}
@media(max-width:420px){.navin>.navlinks{width:100%}.navin>.navlinks>.btn{width:100%;text-align:center}.brand{font-size:1rem}}

.navin{height:auto}
.service-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:#eaf2f0}
.package-with-photo{padding:0;overflow:hidden}
.package-content{padding:28px 30px 30px;display:flex;flex-direction:column;flex:1;min-width:0}
.package-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.package-heading .icon{padding:10px;margin:0}
.package-heading .tag{position:static;margin:0;align-self:center}
.service-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.service-detail-hero h1{font-size:clamp(2.3rem,4vw,3.35rem)}
.service-detail-hero .service-photo,.window-intro-visual .service-photo{border-radius:14px}
.service-detail-hero .service-lead{font-size:1.15rem}
.window-intro-visual{display:grid;gap:22px;min-width:0}
.window-intro-visual .card{padding:24px}
.window-intro-visual .service-list{margin:18px 0}
.window-intro-visual p:last-child{margin-bottom:0}
.service-page.section{padding-left:28px;padding-right:28px}
@media(max-width:900px){.package-content{padding:24px}.service-detail-hero{gap:28px}.window-intro{align-items:start}}
@media(max-width:650px){.service-detail-hero{grid-template-columns:1fr}.package-content{padding:22px}.service-page.section{padding-left:20px;padding-right:20px}.brand small{font-size:.6rem}.service-detail-hero .btn{width:100%}}

.payment-section{border:0;padding:0;margin:28px 0;min-width:0}
.payment-section legend{font-size:1.25rem;font-weight:600;padding:0;margin-bottom:8px}
.payment-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.payment-choice{display:flex;align-items:flex-start;gap:12px;border:1px solid #cdd9df;border-radius:8px;padding:16px;cursor:pointer;min-width:0}
.payment-choice.selected{border-color:#0f756d;background:#eef7f4}
.payment-choice button{flex-shrink:0;margin-top:4px}
.payment-choice strong{font-size:1rem;line-height:1.4;display:block;overflow-wrap:anywhere}
.payment-choice small{display:block;margin-top:5px;color:#596d7c;font-size:.875rem;line-height:1.5}
.payment-section .note{margin-bottom:0}
@media(max-width:640px){.payment-choices{grid-template-columns:1fr}}

.social-links{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:16px}
.social-links a{display:inline-flex;align-items:center;gap:7px;min-height:44px;font-size:.9rem;color:#0f756d}
.social-links a:hover{text-decoration:underline}
.contact-social{margin-top:42px;padding-top:28px;border-top:1px solid #dbe6ec}
.contact-social h2{font-size:1.6rem;margin-bottom:10px}
.references{scroll-margin-top:24px}
.reference-card{margin:0;display:flex;flex-direction:column;gap:20px}
.reference-card>svg{color:#0f756d;flex-shrink:0}
.reference-card blockquote{margin:0;flex:1;font-size:1.1rem;line-height:1.7}
.reference-card blockquote p{margin:0;color:#183349}
.reference-card figcaption{font-size:.9rem;font-weight:600;color:#183349}
.reference-card figcaption span{display:block;font-weight:400;color:#637687;font-size:.875rem;margin-top:4px}
.references-source{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:22px}
.references-source p{margin:0;max-width:560px;font-size:.9rem}

.service-photo-figure{margin:0;position:relative;min-width:0}
.service-photo-figure figcaption{position:absolute;bottom:12px;right:12px;border-radius:4px;padding:3px 7px;background:#ffffffed;color:#344d5e;font-size:.8rem;line-height:1.4}
.social-links a{border-bottom:1px solid #bad5d1;font-weight:600}





.footer-cities>p{font-size:.9rem;max-width:760px;margin:8px 0 14px}


.contact-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:32px}
.contact-form h2,.contact-form-success h2{font-size:1.6rem}
.contact-form textarea{min-height:170px}
.contact-options{display:grid;gap:20px}
.contact-options h3{margin:14px 0 10px}
.contact-options p:last-child{margin-bottom:0}
.contact-options a{overflow-wrap:anywhere}
.contact-inbox{padding-top:24px}
.contact-inbox h2{font-size:1.6rem}
.contact-message{margin:16px 0}
.contact-message summary{display:flex;justify-content:space-between;align-items:start;gap:16px;cursor:pointer}
.contact-message summary>span:first-child{min-width:0;overflow-wrap:anywhere}
.contact-message summary>span>span{display:block;color:#637687;font-size:.9rem;margin-top:6px}
.contact-message-body{margin-top:22px;border-top:1px solid #dbe6ec;padding-top:20px}
.contact-message-text{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr}.contact-options{grid-template-columns:1fr}.contact-form{padding:24px}}

/* Reflow and touch controls for phone and tablet layouts. */
img{max-width:100%}
.booking>div,.booking>aside,.contact-layout>*,.admincards>*,.hero>*,.service-detail-hero>*{min-width:0}
h1,h2,h3,.summaryline>span,.contact-message-body a{overflow-wrap:anywhere}
.field input,.field textarea,.field select,[data-slot=select-trigger]{font-size:1rem!important}
.btn{white-space:normal;overflow-wrap:anywhere}
.checkline{min-height:44px}
.checkline>[data-slot=checkbox]{flex-shrink:0}
.contact-page>h1{font-size:clamp(2rem,6vw,3rem)}
.contact-message [data-slot=alert-dialog-content]{max-height:85dvh;overflow-y:auto}
[data-slot=alert-dialog-content]{max-height:85dvh;overflow-y:auto}
@media(max-width:1024px){.booking{grid-template-columns:1fr}.summary{position:static}.footerin{flex-direction:column}.footerlinks{gap:8px 22px}.footerlinks>a,.footer-cookie-button,.city-footer-nav>a{display:inline-flex;align-items:center;min-height:44px}.booking-calendar-grid{grid-template-columns:1fr}.booking .servicechoices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:651px) and (max-width:1024px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3>article:last-child,.grid3>figure:last-child{grid-column:1/-1}.payment-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.bookinghero,.window-intro,.service-detail-hero{grid-template-columns:1fr}.bookinghero .heroimage{min-height:0;height:340px}.bookinghero .hero p{max-width:none}.contactbar{flex-wrap:wrap}.contactbar .btn{flex-shrink:0}}
@media(max-width:650px){.stepnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stepnav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:58px;text-align:center;padding:5px}.stepnav button span{display:block;font-size:.875rem;overflow-wrap:anywhere}.stepnav b{margin:0;flex-shrink:0}.booking .servicechoices{grid-template-columns:1fr}.navlinks .btn{min-height:44px}.contact-message{padding:20px}.contact-message summary{flex-wrap:wrap}.contact-form .btn,.contact-form-success .btn{width:100%}.formgrid{gap:16px}.window-extra-group .extrasrow{flex-wrap:wrap}.window-extra-group .extrasrow>div:first-child{flex-basis:100%}.bookinghero .heroimage{height:280px}.footerlinks a,.city-footer-nav a{font-size:.95rem}.actions{gap:10px;flex-wrap:wrap}.actions>.btn{flex:1}.window-item-head{flex-wrap:wrap}}
@media(max-width:500px){.quickfields{grid-template-columns:1fr}.formcard{padding:22px 16px}.contact-form{padding:22px 18px}.contact-form .formgrid{grid-template-columns:1fr}.footer-brand{flex-wrap:wrap}.contact-layout{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:1150px){.navlinks .desktoponly{display:none}.mobile-region-nav{display:flex;gap:8px 24px;flex-wrap:wrap;padding-bottom:10px;font-size:.9rem}.mobile-region-nav a{min-height:44px;display:flex;align-items:center}}

/* Structured footer with separate service, city and contact navigation. */
.redesigned-footer{background:#16364b;color:#f5f8fa;border-top:0;padding:52px 0 0}
.footer-main{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(170px,1fr) minmax(200px,1.15fr) minmax(180px,1fr);gap:32px;padding-bottom:40px}
.footer-main>*{min-width:0}
.footer-home{display:flex;align-items:center;gap:14px;line-height:1.15;font-size:1.45rem;letter-spacing:-.03em}
.footer-home img{border-radius:50%;background:#fff;flex-shrink:0;width:88px;height:88px;object-fit:contain}
.redesigned-footer p{color:#c7d7e1;font-size:.9rem;line-height:1.7}
.footer-identity>p{margin-top:20px}
.footer-column h2{font-size:1rem;letter-spacing:.02em;margin:6px 0 17px;color:#fff}
.footer-nav-list,.redesigned-footer .city-footer-nav{display:grid;gap:4px;margin:0}
.redesigned-footer a,.redesigned-footer .footer-cookie-button{color:#d7e5ed;overflow-wrap:anywhere;font-size:.9rem}
.redesigned-footer .footer-home{font-size:1.45rem;color:#fff}
.footer-column a{display:flex;align-items:center;min-height:36px;line-height:1.5}
.redesigned-footer a:hover,.redesigned-footer .footer-cookie-button:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.redesigned-footer .social-links{gap:8px 14px;margin-top:22px}
.redesigned-footer .social-links a{color:#eef7f6;border-bottom-color:#527889;min-height:44px}
.footer-contact address{font-style:normal;font-size:.95rem;color:#d7e5ed;line-height:1.7;margin-bottom:12px}
.footer-contact-cta{color:#fff!important;font-weight:700;margin-top:14px}
.footer-area-note{margin-top:16px;margin-bottom:0}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #365569;padding-top:20px;padding-bottom:22px}
.footer-bottom>small{color:#b9ccd8;font-size:.875rem}
.footer-bottom>nav{display:flex;gap:10px 22px;align-items:center;flex-wrap:wrap}
.footer-bottom a,.footer-bottom button{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1050px){.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:600px){.redesigned-footer{padding-top:36px}.footer-main{grid-template-columns:1fr;gap:30px}.footer-column h2{margin-bottom:12px}.footer-column a{min-height:44px;font-size:1rem}.footer-bottom>nav{gap:6px 18px}.footer-home{max-width:100%}}

/* Clear white masthead; service navigation stays in the content and footer. */
.nav{box-shadow:0 2px 10px #16364b04}
.navin{gap:24px;padding-top:12px;padding-bottom:12px}
.navlinks>a:not(.btn){min-height:44px;display:flex;align-items:center;font-size:1rem}
.navlinks>a:not(.btn):hover{text-decoration:underline;text-underline-offset:6px}
.navlinks .btn:hover{color:#fff}
@media(max-width:1150px){.navlinks .desktoponly{display:none!important}.mobile-region-nav{gap:4px 28px;padding-top:3px;padding-bottom:12px}.mobile-region-nav a{font-size:1rem;color:#365569}.mobile-region-nav a:hover{color:#0f756d;text-decoration:underline;text-underline-offset:5px}}
@media(max-width:650px){.mobile-region-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 10px}.mobile-region-nav a{justify-content:center;font-size:.875rem;text-align:center;overflow-wrap:anywhere}.brand small{font-size:.65rem;letter-spacing:.1em}}
@media(max-width:420px){.navin{gap:14px;padding-bottom:10px}.navin>.navlinks{width:100%}.mobile-region-nav{padding-bottom:10px}}

/* Upholstery selection and price overview. */
.upholstery-prices{scroll-margin-top:24px}
.upholstery-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.upholstery-price-card{display:flex;flex-direction:column;gap:10px;min-width:0}
.upholstery-price-card h3,.upholstery-price-card p{margin:0}
.upholstery-price-card p{flex:1}
.upholstery-rate{font-size:1.5rem;color:#0f756d;line-height:1.35}
.upholstery-price-card .btn{align-self:flex-start;margin-top:10px}
.upholstery-cost-note{margin-top:24px}
.upholstery-cost-note p:last-child{margin-bottom:0}
.upholstery-item{padding:22px 0;border-bottom:1px solid #dbe6ec}
.upholstery-item.selected{background:#f3f9f7;border-radius:8px;padding:22px 16px;margin:12px 0}
.upholstery-item-top{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:20px;align-items:start}
.upholstery-item h3{margin-bottom:6px}
.upholstery-item-top p{font-size:.95rem;margin-bottom:10px}
.upholstery-item-top+.field{margin-top:18px}
.upholstery-details{overflow-wrap:anywhere}
.upholstery-details ul{padding-left:20px}
.photo-selection{font-size:.9rem;overflow-wrap:anywhere;margin:12px 0}
@media(max-width:650px){.upholstery-price-grid{grid-template-columns:1fr}.upholstery-price-card .btn{width:100%}.upholstery-item-top{grid-template-columns:minmax(0,1fr) 85px;gap:12px}.upholstery-item.selected{padding:20px 12px}.upholstery-item-top .field>span{font-size:.875rem}}

.home-package-section{margin:48px 0}.home-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.home-package{border:1px solid #d9e4e4;border-top:5px solid #987249;border-radius:16px;padding:24px;background:white;display:flex;flex-direction:column;min-width:0}.home-package.silver{border-top-color:#768994}.home-package.gold{border-top-color:#b48b28}.home-tier{font-weight:800;font-size:1.5rem;color:#132f38}.home-package h3{font-size:1.15rem;margin:12px 0}.home-package p{font-size:1rem}.home-package ul{padding-left:20px;flex:1}.home-packages li{list-style:none;display:flex;gap:8px}.home-packages ul{padding:0}.home-package li{margin:12px 0;font-size:1rem}.home-package li svg{flex-shrink:0;color:#0f756d;margin-top:3px}.home-package .btn{margin-top:16px}.home-package-details{padding:20px;border:1px solid #d9e4e4;border-radius:12px;margin-top:24px;background:#f5f9f9}.home-package-details summary{font-weight:700;cursor:pointer}.home-package-details li{margin:10px 0}.home-package-options{display:grid;gap:18px;margin:24px 0}.home-package-options .home-package{cursor:pointer;position:relative}.home-package-options .home-package.selected{background:#f0f8f7;box-shadow:0 0 0 2px #0f756d}.home-package-choice{display:flex;gap:14px;align-items:center}.home-package-price{font-size:1.5rem;margin:8px 0}.home-package small{font-size:.875rem;line-height:1.5}.home-package:focus-within{outline:3px solid #0f756d;outline-offset:3px}@media(max-width:850px){.home-packages{grid-template-columns:1fr}.home-package{padding:22px}}

.admin-wrap{max-width:1440px}.settings-workspace{display:grid;grid-template-columns:minmax(290px,350px) minmax(0,1fr);gap:28px;align-items:start;margin-top:24px}.admin-live-preview{position:sticky;top:100px;max-height:calc(100dvh - 120px);overflow:auto}.preview-panel{background:#fff;border:1px solid #d5e3e5;border-top:5px solid #0f756d;border-radius:16px;padding:24px;box-shadow:0 8px 25px #163e4510}.preview-panel h2{font-size:1.65rem;margin:10px 0}.preview-panel h3{font-size:1.1rem;margin-top:20px}.preview-panel p,.preview-panel small{font-size:.875rem;line-height:1.55}.preview-panel .field{margin:16px 0}.preview-switch{display:flex;gap:4px;background:#edf3f3;border-radius:9px;padding:4px;margin:18px 0}.preview-switch button{flex:1;border:0;border-radius:6px;background:none;padding:10px 8px;font-size:.875rem;color:#23424a;cursor:pointer}.preview-switch button[aria-pressed=true]{background:#fff;box-shadow:0 2px 8px #24444b20;font-weight:700}.preview-price{margin-top:24px;border-top:1px solid #dce7e7;padding-top:20px}.preview-total{display:flex;flex-direction:column;gap:8px;padding:20px 0;border-top:1px solid #dce7e7;margin-top:15px}.preview-total>strong{font-size:2rem;line-height:1.25;color:#0b514c}.visibility-state{background:#eef5f6;border-radius:10px;padding:16px;margin:20px 0}.visibility-state.test,.visibility-state.hidden{background:#fff5e3}.visibility-state p:last-child{margin-bottom:0}.settings-editor,.request-editor{min-width:0}.admin-savebar{position:sticky;top:82px;z-index:5;display:flex;gap:20px;align-items:center;justify-content:space-between;background:#163e48;color:#fff;padding:18px 20px;border-radius:12px;box-shadow:0 4px 16px #163e4820}.admin-savebar span{display:block;font-size:.875rem;line-height:1.5;margin-top:5px}.admin-savebar .btn{flex-shrink:0;background:#fff;color:#173c43}.settings-fields{border:0;min-width:0;padding:0;margin:0}.settings-fields:disabled{opacity:.7}.admin-fold{margin:18px 0;border:1px solid #dae4e5;border-radius:12px;background:#fff;padding:16px 18px}.admin-fold>summary{font-size:1rem;font-weight:700;cursor:pointer;line-height:1.5}.admin-fold .card{box-shadow:none;border:0;padding:12px 0;margin-bottom:0}.request-workspace{grid-template-columns:minmax(300px,.85fr) minmax(0,1.25fr);align-items:start;gap:28px}.request-summary{min-width:0}.offer-live-preview{margin-bottom:24px}.offer-scope{white-space:pre-line;border-top:1px solid #dce7e7;padding-top:16px}.request-editor h2{font-size:1.7rem}.request-editor .admin-fold .note{margin:12px 0!important}.travel-estimate{padding:22px;background:#f0f6f7;border-radius:12px;margin:24px 0}.travel-estimate h4{font-size:1.1rem;margin-bottom:14px}.travel-estimate .actions{flex-wrap:wrap;margin:16px 0}.travel-estimate p{font-size:.875rem}.travel-amount{display:flex;flex-direction:column;justify-content:center;gap:8px}.travel-amount strong{font-size:1.65rem}.travel-amount small{font-size:.875rem}.settings-fields [role=tablist]{gap:3px;max-width:100%}.admin-wrap [role=tabpanel]{min-width:0}.admin-live-preview .summaryline{font-size:.875rem;gap:14px}.admin-live-preview .summaryline>strong{flex-shrink:0}.preview-panel button:focus-visible,.admin-fold summary:focus-visible{outline:3px solid #0f756d;outline-offset:3px}@media(max-width:1050px){.settings-workspace{grid-template-columns:1fr}.admin-live-preview{position:static;max-height:none}.preview-panel .preview-price{margin-top:18px}.admin-savebar{top:75px}.request-workspace{grid-template-columns:1fr}.offer-live-preview .offer-scope{max-height:250px;overflow:auto}}@media(max-width:600px){.admin-savebar{position:static;align-items:stretch;flex-direction:column;gap:12px}.preview-panel{padding:20px}.travel-estimate{padding:16px}.settings-workspace{gap:20px}.settings-fields [role=tab]{padding:10px 8px!important;font-size:.875rem}.request-editor .actions{flex-wrap:wrap}.preview-total>strong{font-size:1.8rem}}
.request-summary{position:sticky;top:100px;max-height:calc(100dvh - 120px);overflow:auto;padding-right:6px}.offer-live-preview .offer-scope{max-height:190px;overflow:auto}.admin-wrap>.adminheader h1{font-size:2.5rem}@media(max-width:1050px){.request-summary{position:static;max-height:none;overflow:visible;padding-right:0}}@media(max-width:600px){.admin-wrap>.adminheader h1{font-size:2rem}}

.city-fee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.city-fee-grid>div{padding:16px;border:1px solid #d7e2e0;border-radius:12px;display:flex;flex-direction:column;gap:7px}.city-fee-grid span{font-size:1.15rem;color:#0f756d}.city-fee-grid small{font-size:.875rem}

.admin-access{max-width:720px}.admin-access h1{font-size:clamp(2rem,5vw,3.2rem)}.admin-access-card{margin-top:24px}.admin-access-card .field{margin-top:16px}.admin-account-list{display:grid;gap:16px;margin-top:20px}.admin-onetime-password{display:block;overflow-wrap:anywhere;padding:18px;background:#edf5f3;border-radius:8px;font-size:1.05rem}.adminheader .actions{flex-wrap:wrap}.admin-account-list .actions{flex-wrap:wrap}

.deposit-notice{padding-top:28px;padding-bottom:36px}.deposit-notice p{margin:10px 0 0}.package-deposit{font-size:.85rem;color:#305b55}.calendar-loading-notice{margin:16px 0}.calendar-loading-notice p{margin:8px 0 0}

@media(max-width:650px){.mobile-region-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}

.service-city-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.service-city-jumps a{border:1px solid #cad8d5;padding:10px 14px;border-radius:8px;color:var(--ink,#19332f);font-weight:600}.service-city-jumps a:hover{background:#eaf3f0}.service-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-area-grid .card{min-width:0;scroll-margin-top:100px}.service-area-grid h3{font-size:1.25rem;line-height:1.35;overflow-wrap:anywhere}.service-area-actions{display:grid;gap:14px;margin-top:20px}.service-area-grid summary{cursor:pointer;font-size:1rem}.service-postcodes{overflow-wrap:anywhere;font-size:.95rem}.service-free-inspection{color:#12645b}.service-editorial-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:40px;align-items:start}.service-editorial h2{font-size:2rem;line-height:1.2}.service-editorial p{line-height:1.7}@media(max-width:1000px){.service-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.service-area-grid,.service-editorial-grid{grid-template-columns:1fr}.service-editorial-grid{gap:20px}.service-city-jumps a{padding:10px 12px}.service-editorial h2{font-size:1.7rem}}

.services-nav{position:relative;flex:0 0 auto;z-index:60;max-width:none}.services-nav-list{padding:0;margin:0;list-style:none}.services-nav-trigger{display:flex;align-items:center;list-style:none;cursor:pointer;min-height:44px;height:auto;padding:8px 0;background:transparent;color:inherit;font:inherit;font-size:1rem;font-weight:400;white-space:nowrap}.services-nav-trigger:hover,.services-nav-trigger[data-current]{color:#0f756d;background:transparent}.services-nav-trigger svg{width:16px;height:16px;margin-left:6px}.services-submenu{position:absolute;top:100%;left:auto;right:0;width:560px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 135px);overflow-y:auto!important;padding:16px;background:#fff!important;color:#19332f;border:1px solid #d4e1de;border-radius:12px;box-shadow:0 15px 40px #16364b24;z-index:65}.services-overview-link{font-weight:700;border-bottom:1px solid #d4e1de;margin-bottom:10px}.services-submenu-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.services-submenu a{display:flex;align-items:center;justify-content:flex-start;min-height:44px;padding:10px 12px;font-size:1rem;line-height:1.4;text-align:left;overflow-wrap:anywhere}.services-submenu a:hover,.services-submenu a[aria-current="page"],.services-submenu a:focus-visible{background:#eaf3f0;color:#0f756d;text-decoration:none}.services-submenu a:focus-visible,.services-nav-trigger:focus-visible{outline:3px solid #23ad99;outline-offset:2px}
@media(max-width:1150px){.mobile-region-nav{position:relative;overflow:visible}.services-nav-mobile{position:static;justify-content:flex-start}.services-nav-mobile .services-nav-list,.services-nav-mobile .services-nav-item{position:static}.services-nav-mobile .services-submenu{left:20px;right:20px;top:100%;width:auto;max-width:none;max-height:calc(100dvh - 210px)}.services-nav-mobile .services-nav-trigger{color:#365569}.services-nav-mobile .services-submenu a{justify-content:flex-start;font-size:1rem;text-align:left}}
@media(max-width:650px){.services-nav-mobile{justify-content:center}.services-nav-mobile .services-nav-trigger{font-size:.875rem}.services-nav-mobile .services-submenu-list{grid-template-columns:1fr}.services-nav-mobile .services-submenu{max-height:calc(100dvh - 250px)}}


.digital-contact-notice{background:#edf5f2;border-bottom:1px solid #d4e4de;color:#24483f}.digital-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px}.digital-contact-inner>div:first-child{max-width:820px}.digital-contact-inner strong{font-size:1rem}.digital-contact-inner p{margin:4px 0 0;font-size:1rem;line-height:1.55}.digital-contact-actions{display:flex;flex-wrap:wrap;gap:6px 18px;flex-shrink:0;max-width:210px}.digital-contact-actions a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.9375rem;font-weight:700;color:#0e6255;text-decoration:underline;text-underline-offset:3px}.digital-contact-actions svg{flex-shrink:0}.footer-contact-preference{font-size:.9375rem;line-height:1.6}@media(max-width:650px){.digital-contact-inner{display:block;padding-top:14px;padding-bottom:12px}.digital-contact-actions{max-width:none;margin-top:6px;gap:4px 20px}}

/* Itemized offer editor uses the existing administration palette. */
.simple-offer-editor section{margin:24px 0}.offer-lines{display:grid;gap:14px}.offer-line{display:grid;grid-template-columns:minmax(0,2fr) minmax(70px,.6fr) minmax(110px,.9fr) minmax(90px,.8fr) 42px;gap:12px;align-items:end;padding:16px;border:1px solid #d8e4e3;border-radius:12px;background:#f7faf9}.offer-line .field{min-width:0}.offer-line input{min-width:0;width:100%}.offer-line .field>span,.offer-line-sum>span{font-size:.875rem;line-height:1.5}.offer-line-sum{align-self:center;display:grid;gap:8px}.offer-line-sum strong{font-size:1rem;overflow-wrap:anywhere}.offer-line .iconbutton{height:44px;align-self:end}.offer-add-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin:20px 0}.offer-add-line select{width:100%;min-width:0}.offer-calculated-total{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#153f43;color:#fff;border-radius:12px;padding:20px;margin:20px 0}.offer-calculated-total strong{font-size:1.6rem}.offer-time{border-top:1px solid #d8e4e3;padding-top:16px}.offer-time .formgrid{margin:20px 0}.offer-time .note{margin-top:18px}.offer-preview-lines{margin-top:20px}.offer-preview-lines .summaryline{gap:12px;align-items:flex-start}.offer-preview-lines .summaryline>span{min-width:0;overflow-wrap:anywhere}.offer-preview-lines .summaryline>strong{white-space:nowrap}.offer-preview-lines small{font-size:.875rem}
@media(max-width:1300px){.offer-line{grid-template-columns:repeat(3,minmax(0,1fr)) 42px}.offer-line>.field:first-child{grid-column:1/-1}.offer-add-line{grid-template-columns:minmax(0,1fr)}.offer-add-line .btn{justify-content:center}}
@media(max-width:650px){.offer-line{padding:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.offer-line-sum{grid-column:1}.offer-line .iconbutton{justify-self:end}.offer-calculated-total{align-items:flex-start;flex-direction:column;gap:8px}.offer-time .formgrid{grid-template-columns:1fr}.simple-offer-editor input,.simple-offer-editor select{min-height:44px}}

.request-row-actions,.request-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.request-row-actions .btn{padding:10px 14px;min-height:44px}.request-delete-button{color:#a52727!important;border-color:#d9abab!important;background:#fff!important}.request-delete-button:hover:not(:disabled){background:#fff0f0!important;border-color:#a52727!important}.request-delete-button:focus-visible{outline:3px solid #a52727;outline-offset:3px}.delete-request-summary{display:grid;gap:5px;border:1px solid #dce5e6;background:#f5f8f8;padding:14px 16px;border-radius:9px;overflow-wrap:anywhere}.delete-request-summary span{font-size:.9rem}.request-heading-actions{justify-content:flex-end}@media(max-width:600px){.request-heading-actions{justify-content:flex-start}.request-row-actions{align-items:stretch;flex-direction:column}.request-row-actions .privacy-action-buttons,.request-row-actions .btn{width:100%}}

/* Inquiry and external offer workflow */
.plain-fieldset{border:0;padding:0;margin:0;min-width:0}.plain-fieldset .btn{margin-top:16px}.lexoffice-panel h3{margin-top:28px}.request-flow-note{margin:20px 0}.withdrawal-page>.card{margin-top:24px}.withdrawal-form-lines>div{margin:24px 0}.withdrawal-blank{border-bottom:1px solid #748681;min-height:34px}.withdrawal-page .actions{flex-wrap:wrap}.withdrawal-page h1{overflow-wrap:anywhere}
.notification-list article{padding:18px 0;border-top:1px solid #d9e4e1;display:flex;align-items:start;justify-content:space-between;gap:16px}.notification-list p{margin:6px 0}.notification-settings h3{margin-top:28px}@media(max-width:700px){.notification-list article{flex-direction:column}}

/* Equal, accessible consent choices; no optional tracking before opt-in. */
.consent-banner{position:fixed;z-index:40;bottom:16px;left:16px;right:16px;margin:auto;max-width:1000px;max-height:75dvh;overflow:auto;padding:24px;background:#fff;color:#193745;border:1px solid #b5cac3;border-radius:14px;box-shadow:0 10px 45px #17374435;display:grid;grid-template-columns:1fr;gap:18px}.consent-banner h2{font-size:1.25rem;line-height:1.3;letter-spacing:0;margin:0 0 10px}.consent-banner p{font-size:1rem;line-height:1.55;margin:0}.consent-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px}.consent-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.consent-banner .consent-actions{margin-top:0}.consent-choice{flex:1 1 220px;min-height:48px;white-space:normal;text-align:center;font-size:1rem;justify-content:center}.consent-banner a:focus-visible,.consent-choice:focus-visible{outline:3px solid #154f43;outline-offset:3px}@media(max-width:600px){.consent-banner{padding:18px;bottom:10px;left:10px;right:10px;gap:14px}.consent-choice{flex-basis:100%}.consent-banner p{font-size:.95rem}}

.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:#fff;color:#095f59;border:2px solid #095f59;border-radius:6px;padding:12px 18px;transform:translateY(-200%);font-weight:700}
.skip-link:focus{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.services-nav-trigger::-webkit-details-marker{display:none}.services-nav[open]>.services-nav-trigger svg{transform:rotate(180deg)}.services-nav-trigger svg{flex:none;transition:transform .15s}.services-nav:not([open])>.services-submenu{display:none}@media(max-width:650px){.services-nav-mobile>.services-nav-trigger{justify-content:center}}

/* A readable channel directory, with one clear action for each destination. */
.follow-page{padding-top:36px;padding-bottom:64px}
.follow-intro{max-width:780px;margin-bottom:36px}
.follow-intro h1{font-size:clamp(2.5rem,5vw,4rem);margin-bottom:24px}
.follow-intro h1 span{color:#0f756d}
.follow-intro>p{font-size:1.1rem;max-width:700px}
.follow-intro .follow-instruction{font-size:1rem;color:#365569;margin-bottom:0}
.follow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.follow-card{display:flex;flex-direction:column;min-width:0;padding:28px;background:#fff;border:1px solid #dce5e9;border-radius:14px}
.follow-card-featured{background:#eaf5f0;border-color:#9acabd}
.follow-card-top{display:flex;align-items:center;gap:13px;margin-bottom:24px;font-size:.875rem;color:#486473}
.follow-icon{display:grid;place-items:center;flex-shrink:0;width:50px;height:50px;background:#edf5f2;color:#0f756d;border-radius:12px}
.follow-card-featured .follow-icon{background:#0f756d;color:#fff}
.follow-card h2{font-size:1.6rem;margin-bottom:14px;letter-spacing:-.025em}
.follow-card>p{flex:1;margin-bottom:26px;line-height:1.75}
.follow-card>.btn{width:100%;padding-left:12px;padding-right:12px;font-size:.9375rem;min-height:52px}
.follow-chat{font-size:.9375rem;text-align:center;text-decoration:underline;text-underline-offset:4px;color:#0f756d;min-height:44px;padding-top:12px}
.follow-footnote{margin:28px 0 40px;max-width:880px}
.follow-footnote p{font-size:.9375rem;line-height:1.75}
.follow-footnote a{text-decoration:underline;text-underline-offset:3px;color:#0f756d}
.follow-contact{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;padding-top:32px;border-top:1px solid #dce5e9}
.follow-contact h2{font-size:1.65rem}.follow-contact p{max-width:680px;margin-bottom:0}
.follow-contact>div:last-child{display:flex;flex-direction:column;align-items:center;gap:14px}
.social-callout{background:#16364b;color:#fff;border-radius:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;padding:42px;margin:0 0 60px}
.social-callout .eyebrow{color:#a8ded2}.social-callout h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:20px}
.social-callout p{color:#d7e5ed;max-width:610px;margin-bottom:18px}
.social-callout-platforms{font-size:.9375rem;line-height:1.8;color:#bad2df}
.social-callout-actions{display:grid;gap:14px;min-width:0}
.social-callout .btn{background:#fff;color:#164b43;border-color:#fff}.social-callout .btn:hover{background:#eaf5f0}
.social-callout .btn.secondary{background:transparent;color:#fff;border-color:#7493a6}.social-callout .btn.secondary:hover{background:#244a62}
.redesigned-footer .footer-follow-link{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:1rem;font-weight:700;color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-identity .footer-follow-copy{margin:3px 0 0}.footer-identity .footer-follow-copy+.social-links{margin-top:12px}
.contact-social>.link{display:inline-flex;align-items:center;min-height:44px;margin-top:18px}
@media(max-width:950px){.follow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.social-callout{grid-template-columns:1fr;padding:32px;gap:24px}.social-callout-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.follow-page{padding-top:28px;padding-bottom:44px}.follow-grid{grid-template-columns:1fr;gap:16px}.follow-card{padding:24px}.follow-card-top{margin-bottom:20px}.follow-intro>p{font-size:1rem}.follow-contact{grid-template-columns:1fr;gap:24px}.follow-contact>div:last-child{align-items:stretch;text-align:center}.social-callout{padding:26px 22px;margin-bottom:42px}.social-callout-actions{grid-template-columns:1fr}.social-callout .btn{padding-left:12px;padding-right:12px}}
@media(max-width:650px){.mobile-region-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Careers and short applications share the site's calm teal and navy palette. */
.career-page{padding-top:30px;padding-bottom:64px}.career-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:46px;align-items:center;padding:15px 0 42px}.career-hero h1{font-size:clamp(2.3rem,4.6vw,3.7rem)}.career-hero>div>p{font-size:1.08rem;line-height:1.8}.career-hero .service-photo{width:100%;height:370px;object-fit:cover;border-radius:15px}.career-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin:26px 0 18px}.career-hero>div>.career-small{font-size:.9375rem;margin:0;color:#0f756d}.career-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid #dce5e9;border-bottom:1px solid #dce5e9;padding:28px 0}.career-values svg{color:#0f756d;display:block;margin-bottom:12px}.career-values strong{display:block;margin-bottom:7px}.career-values p{font-size:1rem;margin:0}.career-openings{padding:54px 0 35px;scroll-margin-top:28px}.career-openings>h2{margin-bottom:30px}.career-job-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px;padding:32px;background:#eaf5f0;border:1px solid #b2d9cb;border-radius:14px}.career-job-card h3{font-size:1.65rem;margin:18px 0 20px;max-width:700px}.career-job-card p{margin:20px 0 0;max-width:710px}.career-job-facts{display:flex;flex-wrap:wrap;gap:12px 25px;color:#365569}.career-job-facts>span{display:inline-flex;align-items:center;gap:9px;font-size:.9375rem}.career-job-facts svg{flex-shrink:0;color:#0f756d}.career-initiative{padding:24px 0 34px;max-width:850px}.career-initiative h2{font-size:1.7rem}.career-application-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:40px;align-items:start;margin-top:24px}.application-form,.application-success{padding:32px;scroll-margin-top:24px;min-width:0}.application-form h2,.application-success h2{font-size:1.85rem}.application-form .formgrid{margin:26px 0}.application-form textarea{resize:vertical;min-height:100px}.application-form .checkline{margin:22px 0}.application-form>.btn{margin-top:14px;width:100%}.application-privacy{font-size:.9375rem;background:#edf5f2;padding:16px;border-radius:8px}.application-required{font-size:.875rem!important;margin:14px 0 0}.career-application-aside{padding-top:28px;overflow-wrap:anywhere}.career-application-aside h2{font-size:1.65rem}.career-application-aside ol{padding-left:24px;margin:28px 0}.career-application-aside li{padding-left:8px;margin:22px 0}.career-application-aside li::marker{color:#0f756d;font-weight:700}.career-application-aside li p{margin-top:8px}.career-job-heading{max-width:930px;padding:10px 0 35px}.career-job-heading h1{font-size:clamp(2.3rem,4.5vw,3.6rem)}.career-job-heading>p{font-size:1.1rem}.career-job-heading .career-job-facts{margin:28px 0}.career-job-details{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px;border-top:1px solid #dce5e9;border-bottom:1px solid #dce5e9;padding:36px 0;margin-bottom:36px}.career-job-details h2{font-size:1.6rem}.career-job-details ul{padding-left:23px;color:#496473;line-height:1.8}.career-job-details li{margin:10px 0}
@media(max-width:1250px){.navlinks .desktoponly{display:none!important}.mobile-region-nav{display:flex;flex-wrap:wrap;gap:4px 25px;padding-top:3px;padding-bottom:12px}}
@media(max-width:950px){.career-hero{gap:28px}.career-hero .service-photo{height:330px}.career-job-card{grid-template-columns:1fr;gap:22px}.career-job-card>.btn{justify-self:start}.career-application-layout{grid-template-columns:1fr;gap:20px}.career-application-aside{padding-top:0}.career-application-aside ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.career-application-aside ol li{margin-top:0}}
@media(max-width:650px){.mobile-region-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px}.career-hero,.career-values,.career-job-details{grid-template-columns:1fr}.career-hero{padding-top:0}.career-hero .service-photo{height:250px}.career-values{gap:23px}.career-values>div{display:grid;grid-template-columns:28px 1fr;gap:5px 12px}.career-values p{grid-column:2}.career-values svg{margin:0}.career-job-card{padding:24px}.career-job-card h3{font-size:1.45rem}.career-job-card>.btn{width:100%}.career-job-details{gap:24px}.application-form,.application-success{padding:24px 20px}.application-form .formgrid{grid-template-columns:1fr}.career-application-aside ol{display:block}.career-application-aside ol li{margin-top:25px}.career-page{padding-top:24px}.career-job-heading>.btn{width:100%}}

.career-job-card+.career-job-card{margin-top:22px}.career-pay{color:#0f756d;font-size:1.1rem}.career-pay strong{font-size:2rem;letter-spacing:-.03em}

/* Full service navigation: desktop panel stays inside the header, mobile expands in flow. */
.nav{position:relative;z-index:100}.navin{position:relative}
@media(min-width:1251px){.services-nav{position:static}.services-submenu{left:50%;right:auto;transform:translateX(-50%);top:calc(100% - 8px);width:600px;max-width:calc(100vw - 40px)}}
@media(max-width:1250px){.services-nav-mobile[open]{flex-basis:100%;width:100%;grid-column:1 / -1}.services-nav-mobile .services-submenu{position:static;transform:none;width:100%;max-width:none;max-height:none;overflow:visible!important;margin:6px 0 10px;box-sizing:border-box}.services-nav-mobile[open]>.services-nav-trigger{justify-content:flex-start}.services-nav-mobile .services-submenu a{justify-content:flex-start;text-align:left}.services-nav-mobile .services-submenu-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.services-nav-mobile .services-submenu-list{grid-template-columns:1fr}.services-nav-mobile .services-submenu{padding:12px}.services-nav-mobile .services-submenu a{font-size:1rem}}

.booking-progress{height:4px;margin-bottom:25px;background:#cfe3df;border-radius:2px;overflow:hidden}.booking-progress>div{height:100%;background:#0f756d;transition:width .15s}.field>label{display:block;font-weight:600;margin-bottom:8px}.field select{border:1px solid #cdd9df;border-radius:6px;padding:11px 12px;color:#183349;min-width:0}.field select:disabled{opacity:.6}.checkline input:focus-visible,.servicechoice input:focus-visible,.choice input:focus-visible,.field select:focus-visible{outline:3px solid #118477;outline-offset:3px}

.blog-index h1,.blog-article-header h1{font-size:clamp(2rem,4.5vw,3.7rem);line-height:1.15;max-width:1000px;overflow-wrap:anywhere}.blog-index-intro{font-size:1.15rem;max-width:650px;margin:18px 0 36px}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.blog-card{overflow:hidden;padding:0;min-width:0}.blog-card-link{display:block;height:100%;color:inherit;text-decoration:none}.blog-card:only-child{grid-column:1/-1}.blog-card:only-child .blog-card-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.blog-card-link:hover h3{text-decoration:underline;text-underline-offset:4px}.blog-card-link:focus-visible{outline:3px solid #0f756d;outline-offset:-3px}.blog-card-image{display:block;overflow:hidden}.blog-card-image .blog-image{display:block;width:100%;height:320px;object-fit:cover;object-position:50% 64%}.blog-card-body{padding:30px;align-self:center}.blog-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.9rem;color:#526b76;margin-bottom:14px}.blog-card h3{font-size:clamp(1.35rem,2.3vw,1.9rem);line-height:1.3;margin:0 0 16px}.blog-card p{line-height:1.7;margin-bottom:20px}.blog-article-header{margin:0 0 30px}.blog-byline{font-size:.95rem;color:#526b76;margin:20px 0}.blog-image{display:block;width:100%;height:auto}.blog-cover{margin:0 0 42px}.blog-cover .blog-image{height:clamp(280px,43vw,540px);object-fit:cover;object-position:50% 64%;border-radius:12px}.blog-article figcaption{font-size:.9rem;line-height:1.6;color:#526b76;margin-top:12px}.blog-prose{max-width:760px;margin:0 auto;font-size:1.05rem;line-height:1.8}.blog-prose p{margin:0 0 22px}.blog-prose h2{font-size:clamp(1.55rem,2.8vw,2rem);line-height:1.3;margin:42px 0 20px}.blog-prose blockquote{border-left:4px solid #0f756d;background:#edf6f3;padding:20px 24px;margin:30px 0;font-size:1.3rem;font-weight:600;line-height:1.5}.blog-comparison{margin:30px 0}.blog-comparison .blog-image{border-radius:10px}.blog-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:36px 0}.blog-gallery figure{margin:0;min-width:0}.blog-gallery .blog-image{border-radius:9px}.blog-contact{background:#eef6f3;border:1px solid #c5ded7;padding:28px;border-radius:12px;margin:38px 0 30px}.blog-contact h2{margin-top:0}.blog-contact .btn{white-space:normal;text-align:center;line-height:1.5;margin-bottom:16px}.blog-back{display:inline-flex;min-height:44px;align-items:center}.blog-prose a{overflow-wrap:anywhere}
@media(max-width:1300px){.navlinks .desktoponly{display:none}.mobile-region-nav{display:flex;gap:8px 24px;flex-wrap:wrap;padding-bottom:10px;font-size:.9rem}.mobile-region-nav a{min-height:44px;display:flex;align-items:center}}
@media(max-width:760px){.blog-grid{grid-template-columns:1fr}.blog-card:only-child .blog-card-link{grid-template-columns:1fr}.blog-card-image .blog-image{height:250px}.blog-card-body{padding:24px}.news-section .sectionhead{align-items:flex-start;gap:20px}.blog-contact{padding:22px}.blog-contact .btn{width:100%}}
@media(max-width:650px){.blog-gallery{grid-template-columns:1fr}.blog-gallery .blog-image{max-width:480px;margin:auto}.blog-cover .blog-image{height:320px}.blog-article-header h1{font-size:2.1rem}.blog-prose{font-size:1rem}}
.blog-cover.blog-cover-comparison .blog-image{height:auto;object-fit:contain}.blog-card-image-comparison .blog-image{height:auto;aspect-ratio:2/1;object-fit:contain;background:white}.blog-quote-author{display:block;margin-top:12px;font-size:.95rem;font-style:normal;font-weight:400}

.application-email{padding:32px;scroll-margin-top:24px;min-width:0;overflow-wrap:anywhere}.application-email h2{font-size:1.85rem}.application-email ul{padding-left:24px;line-height:1.8}.application-email>.btn{margin:8px 0 18px}.application-email .application-privacy{margin-bottom:0}@media(max-width:650px){.application-email{padding:24px 20px}.application-email>.btn{width:100%}}

.clearance-hero-card{padding:36px;align-self:stretch;background:#edf7f5}.clearance-hero-card h2{font-size:2rem;margin-top:22px}.clearance-hero-card ul{padding-left:22px;line-height:1.8}@media(max-width:650px){.clearance-hero-card{padding:24px}.clearance-hero-card h2{font-size:1.75rem}}

.inquiry-wrap{max-width:1000px}.inquiry-wrap>h1{font-size:clamp(2rem,5vw,3rem)}.inquiry-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}.inquiry-service-link{color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:14px}.inquiry-service-link h2{font-size:1.3rem;margin:0}.inquiry-service-link:hover,.inquiry-service-link:focus-visible{border-color:#0f756d;box-shadow:0 4px 20px #0f756d15}.inquiry-form{margin-top:30px}.inquiry-section{margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid #e5eeec}.inquiry-section h2{font-size:1.5rem}.inquiry-section>.field{margin:16px 0}.inquiry-form>.btn{margin-top:24px}.inquiry-form>.note{margin:20px 0}.inquiry-form textarea{min-height:100px}.inquiry-form .formgrid{align-items:start}@media(max-width:600px){.inquiry-service-grid{grid-template-columns:1fr}.inquiry-form{padding:20px}.inquiry-form .formgrid{grid-template-columns:1fr}}

.area-filters{margin-bottom:22px}.area-group{margin:26px 0}.area-group h3{font-size:1.12rem}.area-place-list{display:grid;gap:14px}.area-place{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}.area-place h4{font-size:1.25rem;margin:0 0 12px}.area-place p{margin:10px 0;overflow-wrap:anywhere}.area-place-actions{display:grid;gap:15px;max-width:270px}.area-pages{align-items:center;justify-content:space-between;margin-top:24px}.area-sources{margin:28px 0 50px;padding:22px;border:1px solid var(--line,#dce8e5);border-radius:14px}.area-sources summary{cursor:pointer;font-weight:700}.area-sources p,.area-sources li{overflow-wrap:anywhere}.quickstart>.field,.quickstart>.formgrid,.quickstart>.postcode-status{margin-top:18px}
@media(max-width:760px){.area-place{grid-template-columns:1fr;gap:14px}.area-place-actions{max-width:none}.area-pages{flex-wrap:wrap;gap:15px}.area-filters{padding:20px}.area-group h3{line-height:1.5}}

/* Supplied illustrations contain lettering: show the complete square. */
.blog-cover.blog-cover-illustration{max-width:760px;margin-left:auto;margin-right:auto}
.blog-cover.blog-cover-illustration .blog-image{height:auto;object-fit:contain;aspect-ratio:1/1}
.blog-card-image-illustration .blog-image{height:auto;object-fit:contain;aspect-ratio:1/1}
.blog-card .blog-image-caption{font-size:.85rem;line-height:1.5;color:#526b76;margin:0;padding:10px 24px 0}
.blog-prose h3{font-size:1.15rem;line-height:1.5;margin:26px 0 12px}

/* Existing palette and card system; the broad company heading fits narrow screens. */
.homepage-title{font-size:clamp(1.85rem,3.8vw,3.6rem);overflow-wrap:anywhere;hyphens:auto}
.inquiry-checklist{min-width:0;overflow-wrap:anywhere}.inquiry-checklist ul{padding-left:21px;margin:20px 0}.inquiry-checklist li{margin:12px 0;line-height:1.65;color:#425e70}.inquiry-checklist h2{font-size:1.8rem}.inquiry-checklist .btn{max-width:100%;white-space:normal}.service-editorial aside>h3{margin-top:30px}.service-editorial-grid>div>section{margin-top:34px}.service-editorial-grid>div>section>h2{font-size:1.8rem}.service-reading ul{padding-left:22px;max-width:820px}.service-reading li{margin:20px 0}.service-reading p{margin:8px 0 0}.city-hero h1{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:650px){.inquiry-checklist .btn{width:100%}.inquiry-checklist h2,.service-editorial-grid>div>section>h2{font-size:1.5rem}.homepage-title{font-size:clamp(1.85rem,7vw,2.6rem)}}

/* Phone and tablet reflow. Keep these overrides together after the shared styles. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.navin{max-width:1440px}
.navlinks{gap:14px}
.navlinks>a:not(.btn),.navlinks .services-nav-trigger{font-size:.9375rem}
.bookinghero h1.homepage-title{font-size:clamp(2rem,4vw,3.6rem);max-width:none;hyphens:auto;overflow-wrap:break-word}
.hero>*,.city-hero-grid>*,.service-editorial-grid>*,.career-hero>*,.career-job-details>*,.social-callout>*,.follow-contact>*{min-width:0}
.formgrid,.quickfields{grid-template-columns:repeat(2,minmax(0,1fr))}
.field input,.field select,.field textarea{max-width:100%;min-width:0}
.field input[type=date]{min-inline-size:0}
.quickstart>.btn{width:100%}
.quickstart .quick-window-hint{margin:18px 0!important}
.digital-contact-inner>div,.digital-contact-actions a{min-width:0;overflow-wrap:anywhere}
.digital-contact-actions{flex-shrink:1}
.checkline>label{min-width:0;min-height:44px;padding:8px 0;flex:1}
.choice>div{min-width:0;overflow-wrap:anywhere}
.inquiry-form .checkline{align-items:flex-start}
.inquiry-form .checkline>input{margin-top:12px}
.package-content,.blog-card-body,.inquiry-checklist{overflow-wrap:break-word}
.inquiry-checklist .btn,.package-content>.btn{max-width:100%}

@media(max-width:1300px){
 .navlinks .desktoponly{display:none!important}
 .mobile-region-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 16px;align-items:start;padding-top:4px;padding-bottom:14px}
 .mobile-region-nav>a,.mobile-region-nav .services-nav-trigger{min-height:44px;justify-content:center;text-align:center;font-size:1rem}
 .mobile-region-nav>a{min-width:0;overflow-wrap:anywhere}
 .services-nav-mobile{position:static;min-width:0;max-width:100%}
 .services-nav-mobile[open]{width:100%;grid-column:1/-1}
 .services-nav-mobile[open]>.services-nav-trigger{justify-content:flex-start}
 .services-nav-mobile .services-submenu{position:static;inset:auto;transform:none;width:100%;max-width:none;max-height:none;overflow:visible!important;margin:6px 0 10px}
 .services-nav-mobile .services-submenu-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .services-nav-mobile .services-submenu a{justify-content:flex-start;text-align:left}
 .footer-column a{min-height:44px}
}

@media(max-width:960px){
 .service-editorial-grid,.career-hero{grid-template-columns:1fr;gap:28px}
 .service-editorial-grid>aside{width:100%}
 .service-editorial aside>h3{margin-top:20px}
 .region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .digital-contact-inner{align-items:flex-start;flex-direction:column;gap:8px}
 .digital-contact-actions{max-width:none;gap:8px 22px}
 .bookinghero p{max-width:70ch}
}

@media(max-width:760px){
 .formgrid,.quickfields,.inquiry-service-grid{grid-template-columns:1fr}
 .field.full{grid-column:1/-1}
 .inquiry-form>.btn{width:100%}
 .career-job-details{grid-template-columns:1fr;gap:24px}
 .blog-gallery{grid-template-columns:1fr}
 .blog-gallery .blog-image{max-width:600px;margin:auto}
 .service-editorial-grid,.service-detail-hero{gap:24px}
}

@media(max-width:650px){
 .navin{gap:12px}
 .navin>.navlinks{width:100%;justify-content:stretch}
 .navin>.navlinks>.btn{width:100%;font-size:.9375rem;min-height:48px}
 .mobile-region-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px}
 .mobile-region-nav>a,.mobile-region-nav .services-nav-trigger{font-size:.9375rem}
 .services-nav-mobile .services-submenu-list{grid-template-columns:1fr}
 .services-nav-mobile .services-submenu{padding:12px}
 .bookinghero h1.homepage-title{font-size:clamp(1.8rem,8vw,2.5rem);line-height:1.15}
 .city-hero h1,.window-intro h1,.service-detail-hero h1,.career-hero h1,.career-job-heading h1,.blog-article-header h1,.follow-intro h1{font-size:clamp(1.85rem,7.5vw,2.5rem);line-height:1.18;hyphens:auto;overflow-wrap:break-word}
 .eyebrow{flex-wrap:wrap;overflow-wrap:anywhere;letter-spacing:.08em}
 .servicecards,.service-area-grid,.region-grid{grid-template-columns:1fr}
 .servicecards,.blog-grid{gap:18px}
 .inquiry-form{padding:22px 18px}
 .inquiry-section{margin-bottom:24px}
 .inquiry-section h2{font-size:1.35rem}
 .inquiry-form .formgrid{gap:18px}
 .inquiry-form .field>span,.inquiry-form .field>label{line-height:1.5}
 .blog-prose blockquote{font-size:1.1rem;padding:18px;margin-left:0;margin-right:0}
 .package-heading{gap:12px}
 .package li{min-width:0}
 .imagebadge{left:14px;right:14px;bottom:14px;padding:14px;gap:10px}
 .imagebadge svg{flex-shrink:0}
 .imagebadge>div{min-width:0}
 .contactbar .btn,.career-actions .btn{width:100%}
 .window-inventory .iconbutton{min-width:44px;min-height:44px}
 .qty{flex-shrink:0}
 .qty button{width:44px;height:44px;flex-shrink:0}
 .extrasrow{flex-wrap:wrap}
 .extrasrow>div:first-child{min-width:0;flex-basis:100%}
 .consent-banner{bottom:calc(10px + env(safe-area-inset-bottom,0px))}
}

@media(max-width:380px){
 .wrap{padding-left:16px;padding-right:16px}
 .service-page.section{padding-left:16px;padding-right:16px}
 .brand{font-size:.95rem;gap:9px}
 .brand small{font-size:.58rem;letter-spacing:.08em}
 .brandlogo{width:50px;height:50px}
 .quickstart{padding:16px}
 .package-content{padding:20px}
 .inquiry-form{padding:20px 16px}
 .process,.tinted .process{grid-template-columns:1fr}
 .mobile-region-nav>a,.mobile-region-nav .services-nav-trigger{font-size:.875rem}
}

.field-status{font-weight:400;font-size:.875rem}.field-help,.field-counter,.field-error{display:block;font-size:.875rem;line-height:1.5;margin-top:7px;color:#465b61;overflow-wrap:anywhere}.field-counter{font-variant-numeric:tabular-nums;color:#52696a}.field-error{color:#9b2626;font-weight:600}.field [aria-invalid=true]{border-color:#ad3535;outline:2px solid #ad353530}.field>label{line-height:1.5}.field-help a{overflow-wrap:anywhere}

/* Compact landing page; shared brand and shell styles above remain retained. */
[hidden]{display:none!important}.polster-hero{padding-top:48px;padding-bottom:34px}.polster-hero h1{font-size:clamp(2rem,4.1vw,3.6rem);max-width:540px;hyphens:auto;overflow-wrap:break-word}.polster-hero p{max-width:520px}.polster-photo{margin:0;min-width:0}.polster-photo img{width:100%;height:340px;object-fit:cover;border-radius:15px;display:block}.polster-photo figcaption{color:#637687;font-size:.8rem;margin-top:7px}.polster-trust{padding:22px 0;border-top:1px solid #dde5e8;border-bottom:1px solid #dde5e8;color:#0f756d;font-weight:600;text-align:center}.polster-details{display:grid;grid-template-columns:1fr 1fr;gap:54px;padding:42px 0;align-items:start}.polster-details h2{font-size:1.8rem;margin-bottom:20px}.polster-list{padding:0;list-style:none;margin:0;display:grid;gap:9px;color:#425e70}.polster-list li{position:relative;padding-left:25px}.polster-list li:before{content:'✓';color:#0f756d;position:absolute;left:0}.polster-check{padding:28px;background:#edf5f2}.polster-check p:last-child{margin-bottom:0}.polster-limit{font-size:.9rem}.polster-request{padding-bottom:48px}.polster-request .contactbar{padding:32px}.polster-request .contactbar h2{font-size:1.8rem;margin-bottom:13px}.polster-request .contactbar p{max-width:720px}.polster-request .btn{flex-shrink:0}.cookie-dialog{border:1px solid #b5cac3;border-radius:14px;background:#fff;color:#183349;box-shadow:0 10px 45px #17374435}.cookie-dialog::backdrop{background:#132d3f88}.consent-links button.link{border:0;padding:0;background:transparent;font:inherit;color:inherit;text-decoration:underline}.services-nav summary{cursor:pointer}.polster-check,.polster-details>*{min-width:0}body{overflow-wrap:break-word}
@media(max-width:800px){.polster-hero{grid-template-columns:1fr;gap:26px;padding-top:32px}.polster-hero p{max-width:none}.polster-photo img{height:300px}.polster-details{gap:24px}.polster-request .contactbar{flex-direction:column;align-items:flex-start;gap:24px}}
@media(max-width:650px){.polster-details{grid-template-columns:1fr;padding:32px 0}.polster-photo img{height:240px}.polster-check{padding:23px}.polster-hero .btn{width:100%}.polster-request .contactbar{padding:24px}.polster-request .btn{width:100%}.polster-trust{font-size:.92rem}}

/* Focused service landing page, retaining the existing brand rules. */
.brand-light{font-weight:400}.polster-navlinks{gap:22px;flex-wrap:wrap;justify-content:flex-end}.polster-navlinks>a:not(.btn){font-size:.94rem}.polster-nav{gap:28px}.polster-footer-main{grid-template-columns:1.2fr 1fr 1.2fr}.polster-privacy-note{padding-top:0;padding-bottom:24px}.polster-privacy-note p{font-size:.85rem;max-width:860px;margin:0;color:#b9ccd8}.polster-process,.polster-regions,.polster-faq{padding:30px 0;border-top:1px solid #dde5e8;scroll-margin-top:20px}.polster-process h2,.polster-regions h2,.polster-faq h2{font-size:1.8rem;margin-bottom:24px}.polster-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:0;margin:0;list-style:none}.polster-steps li{min-width:0}.polster-steps span{display:block;color:#0f756d;font-size:.85rem;font-weight:700;margin-bottom:10px}.polster-steps h3{font-size:1.08rem;margin-bottom:10px}.polster-steps p{font-size:.94rem;margin:0}.polster-regions>p{max-width:900px}.polster-city-details{padding:18px 22px;background:#edf5f2;border-radius:10px}.polster-city-details summary{cursor:pointer;font-weight:600;color:#0b625a;min-height:30px}.polster-cities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 22px;list-style:none;padding:22px 0 10px;margin:0;color:#425e70;font-size:.9rem}.polster-city-details>p{font-size:.9rem;margin:12px 0 0}.polster-faq .faq{max-width:none;margin:0}.polster-faq .faq details{padding:16px 0}.polster-faq .faq p{font-size:.94rem}.polster-request{padding-top:22px}#umfang,#anfrage{scroll-margin-top:20px}.cookie-dialog p{line-height:1.7}.cookie-dialog a{overflow-wrap:anywhere}
@media(max-width:1050px){.polster-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.polster-navlinks{gap:10px 22px}.polster-nav{align-items:center}.polster-cities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.polster-nav{flex-wrap:wrap;gap:12px;padding-bottom:16px}.polster-nav>.navlinks{width:100%;justify-content:flex-start;gap:6px 20px}.polster-navlinks>a:not(.btn){display:inline-flex!important;min-height:44px;font-size:.9rem}.polster-navlinks>.btn{margin-left:auto}.polster-steps{grid-template-columns:1fr;gap:24px}.polster-process h2,.polster-regions h2,.polster-faq h2{font-size:1.6rem}.polster-footer-main{grid-template-columns:1fr}.polster-cities{grid-template-columns:1fr}.polster-city-details{padding:18px}.polster-request .contactbar h2{font-size:1.6rem}}
@media(max-width:650px){.polster-nav>.navlinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.polster-navlinks>a:not(.btn){justify-content:center;font-size:.85rem;min-width:0}.polster-navlinks>.btn{grid-column:1/-1;width:100%;margin:0}.polster-hero{padding-top:28px}}

/* Preserve brand colors while keeping captions, focus and CTA states legible. */
.polster-photo figcaption{color:#596d7c}
:focus-visible{outline-color:#095f59}
.redesigned-footer :focus-visible{outline-color:#b9ccd8}
.polster-navlinks>.btn:hover{color:#fff}
