@font-face{font-family:Italiana;src:url('assets/italiana-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap}

:root{--paper:#faf9f5;--white:#fff;--ink:#282622;--muted:#625d54;--gold:#daa528;--gold-dark:#8a6415;--sand:#f2ede2;--line:#ded6c6;--dark:#292621;--gold-light:#efdcad;--field-border:#8b7854;--commitment-accent:#573a0b;--commitment-copy:#383126;--error:#a02c26;--display:Branch,Italiana,Georgia,serif;--body:Manrope,Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--gutter:48px;--section:130px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px;scrollbar-color:#c3ad78 var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.75 var(--body);-webkit-font-smoothing:antialiased}
::selection{background:#f2db9e;color:var(--ink)}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait}
:focus-visible{outline:2px solid var(--gold-dark);outline-offset:5px}
input,textarea{caret-color:var(--gold-dark)}
img{display:block;max-width:100%;height:auto}
svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
h1,h2,h3,p{margin:0}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(64px,6.6vw,96px)}
h2{font-size:clamp(42px,4vw,60px)}
h2 span{color:var(--gold-dark)}
h3{font-weight:500}
p{color:var(--muted);text-wrap:pretty}
[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-150%);z-index:50;background:var(--ink);color:var(--white);padding:12px 18px}
.skip-link:focus{transform:translateY(0)}
.section-wrap{width:min(1248px,calc(100% - var(--gutter)*2));margin-inline:auto}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:16px 25px;background:var(--gold);border:1px solid var(--gold-dark);color:var(--ink);border-radius:3px;font-size:13px;font-weight:600;line-height:1.3;transition:background .25s,color .25s,border-color .25s}
.button svg{width:19px;height:19px;transition:transform .3s var(--ease)}
.button:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:var(--paper)}
.button:hover svg{transform:translateX(4px)}
.button-small{min-height:45px;padding:12px 18px;gap:18px;font-size:12px}
.text-link{display:inline-flex;align-items:center;gap:16px;border:0;border-bottom:1px solid #b6a580;min-height:44px;padding:8px 0;background:none;color:var(--ink);font-size:13px;font-weight:600;line-height:1.5;text-align:left;transition:color .2s,border-color .2s}
.text-link svg{width:19px;height:19px;transition:transform .3s var(--ease)}
.text-link:hover{color:var(--gold-dark);border-color:var(--gold-dark)}
.text-link:hover svg{transform:translateX(4px)}

.site-header{display:flex;align-items:center;justify-content:space-between;gap:35px;margin:0 var(--gutter);height:106px;border-bottom:1px solid var(--line);position:relative;z-index:10}
.brand{display:inline-flex;align-items:center;gap:5px;flex:none}
.brand-name{color:var(--gold-dark);font-family:var(--display);font-size:33px;line-height:1;letter-spacing:-.035em}
.brand-name>span{display:block;font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.23em;text-transform:uppercase;line-height:1.7;text-align:center;margin-top:8px;color:var(--gold-dark)}
.fairy-mark{position:relative;display:block;width:38px;height:47px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 38%,61% 52%,61% 100%,0 100%);flex:none;mix-blend-mode:multiply}
.fairy-mark img{position:absolute;max-width:none;width:210px;height:105px;left:-7px;top:-13px}
.main-nav{display:flex;gap:32px;align-items:center;font-size:12px;font-weight:500}
.main-nav>a:not(.button){padding-block:14px;position:relative}
.main-nav>a:not(.button)::after{content:"";position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.main-nav>a:hover::after{transform:scaleX(1)}
.menu-toggle{display:none}

.confidence-strip{width:min(1140px,calc(100% - 80px));margin:0 auto;display:flex;justify-content:space-around;gap:28px;padding:31px 0;border-bottom:1px solid var(--line)}
.confidence-strip>span{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:500}
.confidence-strip svg{width:21px;height:21px;color:var(--gold-dark);stroke-width:1.35}

.services{padding-block:var(--section)}
.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:56px}
.section-intro>p{max-width:360px;font-size:14px;margin-bottom:8px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.service-residence{padding-top:66px}
.service-image{display:block;position:relative;aspect-ratio:1.4;overflow:hidden;border-radius:3px}
.service-image>img{height:100%;width:100%;object-fit:cover;transition:transform .8s var(--ease)}
.service-image:hover>img{transform:scale(1.035)}
.image-link-icon{position:absolute;right:18px;bottom:18px;background:var(--paper);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;transition:background .25s,color .25s}
.image-link-icon svg{width:18px;height:18px}
.service-image:hover .image-link-icon{background:var(--ink);color:var(--white)}
.service-heading{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.service h3{font-family:var(--display);font-size:31px;letter-spacing:-.015em;line-height:1.2}
.service-heading>span{font-size:12px;white-space:nowrap;color:var(--muted)}
.service>p{font-size:14px;max-width:470px;line-height:1.9;margin:15px 0 15px}

.commitment{background:var(--gold-light);color:var(--ink);position:relative;overflow:hidden}
.commitment-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:94px}
.signature-star{height:48px;width:48px;stroke:none;fill:var(--gold-dark);margin-bottom:33px}
.commitment h2{font-size:clamp(42px,4vw,57px)}
.commitment h2 span{color:var(--commitment-accent)}
.commitment-copy>p{color:var(--commitment-copy);font-size:14px;margin-top:27px}
.commitment-list{padding-top:19px;align-self:center}
.commitment-list article{border-top:1px solid #baa26f;padding:25px 0 28px}
.commitment-list article:last-child{padding-bottom:0}
.commitment-list h3{font-size:18px;font-weight:500;line-height:1.4;letter-spacing:-.015em;margin-bottom:12px}
.commitment-list p{color:var(--commitment-copy);font-size:14px;max-width:440px;line-height:1.9}

.local-section{display:grid;grid-template-columns:.9fr 1fr;gap:100px;align-items:center;padding-block:var(--section)}



.local-map{margin:0;min-width:0}
.map-canvas{position:relative;display:block;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:3px;background:var(--sand);text-decoration:none}
.map-canvas>img{display:block;width:100%;height:100%;object-fit:contain}
.map-marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);display:flex;align-items:center;flex-direction:column}
.map-marker strong{font-size:13px;font-weight:600;line-height:1.5;white-space:nowrap;background:var(--paper);color:var(--ink);border:1px solid var(--gold-dark);border-radius:3px;padding:6px 10px;margin-bottom:5px}
.map-marker svg{width:28px;height:37px;fill:var(--gold);stroke:var(--gold-dark);stroke-width:1.5}
.map-marker svg circle{fill:var(--paper)}
.local-map figcaption>p{margin:14px 0 4px;font-size:12px;line-height:1.75;color:var(--muted)}
.map-links{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.map-links .text-link{font-size:12px}
.map-credit{font-size:12px;line-height:1.5;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
@media(max-width:600px){.local-map{order:2}.map-marker strong{font-size:12px}}
.local-copy h2{font-size:clamp(40px,3.6vw,52px)}
.local-copy>p{font-size:14px;line-height:1.9;max-width:420px;margin:25px 0}
.coverage{display:flex;gap:16px;align-items:center;margin:30px 0 22px;padding-block:22px;border-block:1px solid var(--line);line-height:1.7;font-size:15px}
.coverage svg{color:var(--gold-dark);width:27px;height:27px}
.coverage strong{font-weight:400;color:var(--muted);font-size:13px}

.contact-section{background:var(--sand)}
.contact-inner{display:grid;grid-template-columns:.82fr 1fr;gap:90px;padding-block:90px}
.contact-copy h2{font-size:clamp(40px,4vw,56px)}
.contact-copy>p{max-width:345px;margin-top:26px;font-size:14px;line-height:1.9}


.sonia-contact{margin-top:32px;padding-top:24px;border-top:1px solid var(--field-border);max-width:390px;grid-column:1/-1}
.sonia-contact h3{font-family:var(--display);font-size:34px;font-weight:400;line-height:1.2;letter-spacing:-.02em;margin:0}
.sonia-contact>p{font-size:13px;line-height:1.75;color:var(--muted);margin:10px 0 20px}
.sonia-actions{display:grid;gap:6px}
.sonia-link{display:flex;align-items:center;gap:16px;min-height:72px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.sonia-link>svg{flex:none;width:22px;height:22px;color:var(--gold-dark)}
.sonia-link>span{display:grid;gap:4px;min-width:0}
.sonia-link strong{font-size:13px;font-weight:600;line-height:1.5}
.sonia-link span span{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.sonia-link .sonia-arrow{width:18px;height:18px;margin-left:auto;transition:transform .2s}
.sonia-link:hover{color:var(--gold-dark)}
.sonia-link:hover .sonia-arrow{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.sonia-link .sonia-arrow{transition:none}.sonia-link:hover .sonia-arrow{transform:none}}
.reduced-motion .sonia-link .sonia-arrow{transition:none;transform:none}
.enquiry-container{min-width:0}
.service-choice{padding:0;margin:0 0 23px;border:0;min-width:0}
.service-choice legend{font-size:13px;font-weight:600;margin-bottom:14px}
.service-choice>div{display:flex;gap:10px}
.service-choice label{display:flex;flex:1;align-items:center;gap:8px;padding:12px;background:transparent;border:1px solid var(--field-border);border-radius:3px;font-size:12px;cursor:pointer;min-height:48px}
.service-choice label:has(input:checked){background:var(--gold);border-color:var(--gold-dark);color:var(--ink)}
.service-choice input{accent-color:var(--ink);width:15px;height:15px;flex:none;margin:0}
.service-choice label:has(input:focus-visible){outline:2px solid var(--gold-dark);outline-offset:4px}
.service-choice input:focus-visible{outline:none}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 18px}
.field{min-width:0}
.field>label{display:block;font-size:12px;font-weight:600;line-height:1.5;margin-bottom:7px}
.optional{font-size:12px;font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;min-height:46px;padding:12px 13px;border:1px solid var(--field-border);border-radius:3px;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5;transition:border-color .2s}
.field select{padding-right:26px}
.field input::placeholder,.field textarea::placeholder{color:#716b60;opacity:1}
.field textarea{resize:vertical;min-height:88px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold-dark);outline-offset:2px;border-color:var(--gold-dark)}
.field input[aria-invalid=true]{border-color:var(--error)}
.field-error{display:block;font-size:12px;color:var(--error);line-height:1.5;margin-top:5px}
.field-error:empty{display:none}
.input-unit{position:relative}
.input-unit input{padding-right:36px}
.input-unit>span{position:absolute;right:13px;top:11px;font-size:12px;color:var(--muted);pointer-events:none}
.extra-details{margin:20px 0}
.extra-details summary{display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:12px;cursor:pointer;min-height:44px;padding-block:7px;color:var(--muted)}
.extra-details summary::-webkit-details-marker{display:none}
.extra-details summary svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.extra-details[open] summary svg{transform:rotate(45deg)}
.extra-fields{display:grid;gap:15px;padding-top:12px}
.form-error-summary{font-size:12px;color:var(--error);margin:16px 0}
.submit-button{width:100%;justify-content:space-between}
.prototype-note{font-size:12px;line-height:1.75;color:var(--muted);margin-top:13px;max-width:65ch}
.enquiry-summary{padding-top:12px}
.enquiry-summary:focus{outline:none}
.summary-icon{width:42px;height:42px;border:1px solid var(--gold-dark);border-radius:50%;padding:8px;color:var(--gold-dark);margin-bottom:20px}
.enquiry-summary h3{font-family:var(--display);font-size:38px;line-height:1.1;margin-bottom:16px}
.enquiry-summary>p{font-size:13px}
.enquiry-summary dl{margin:26px 0}
.summary-row{display:grid;grid-template-columns:110px 1fr;gap:16px;border-bottom:1px solid #d4c7ad;padding:10px 0;font-size:12px;overflow-wrap:anywhere}
.summary-row dt{color:var(--muted)}
.summary-row dd{margin:0;font-weight:500;white-space:pre-wrap}
.enquiry-summary .prototype-note{font-size:12px;margin-bottom:18px}

.site-footer{padding-top:58px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:46px}
.footer-top .brand-name{font-size:37px}
.footer-top>p{font-size:12px;line-height:1.8}
.footer-top .text-link{font-size:12px}
.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:23px 0 27px;color:var(--muted);font-size:12px}
.footer-bottom a{text-decoration:underline;text-decoration-color:#b6a580}

@media(min-width:1600px){.site-header{max-width:1440px;margin-inline:auto}}
@media(max-width:1150px){:root{--gutter:32px;--section:100px}.site-header{gap:20px}.main-nav{gap:23px;font-size:12px}.brand-name{font-size:29px}.main-nav .button{padding:12px;gap:12px;font-size:12px}.service-grid{gap:36px}.service-heading{display:block}.service-heading>span{display:block;margin-top:7px;font-size:12px}.commitment-inner{gap:60px}.local-section{gap:65px}.contact-inner{gap:50px}.service-choice label{font-size:12px;gap:6px}.contact-copy h2{font-size:45px}}
@media(max-width:1020px){:root{--gutter:26px;--section:84px}.site-header{height:88px}.brand-name{font-size:29px}.menu-toggle{display:flex;align-items:center;gap:14px;padding:12px 0 12px 12px;border:0;background:none;color:var(--ink);font-size:12px}.menu-lines{display:block;width:23px;height:14px;position:relative;border-block:1px solid currentColor;transition:transform .25s}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(45deg);height:0;border-bottom:0}.menu-toggle[aria-expanded=true] .menu-lines::after{content:"";position:absolute;left:11px;top:-12px;height:23px;border-left:1px solid currentColor}.main-nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 1px);padding:20px 24px 26px;background:var(--paper);border:1px solid var(--line);gap:6px;align-items:stretch;font-size:14px}.main-nav.open{display:flex;flex-direction:column}.main-nav .button{margin-top:10px;font-size:12px;padding:15px}h1{font-size:76px}.confidence-strip{width:calc(100% - 52px);gap:16px;justify-content:space-between}.confidence-strip>span{font-size:12px;gap:8px}.confidence-strip svg{width:18px;height:18px}.section-intro{gap:40px}.section-intro>p{max-width:290px;font-size:14px}.commitment-inner{gap:45px;padding-block:72px}.commitment h2{font-size:45px}.commitment-list h3{font-size:16px}.local-section{gap:42px}.local-copy h2{font-size:40px}.contact-inner{grid-template-columns:1fr;gap:48px}.contact-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:50px}.contact-copy>p{margin-top:7px}.contact-inner .contact-copy h2{font-size:48px}.enquiry-container{max-width:680px;width:100%;margin-inline:auto}.service-choice label{font-size:12px}.field>label{font-size:12px}.field input,.field select,.field textarea{font-size:14px}.prototype-note{font-size:12px}}
@media(max-width:600px){:root{--gutter:23px;--section:68px}.site-header{margin-inline:22px;height:86px}.brand-name{font-size:29px}.brand-name>span{font-size:12px;letter-spacing:.25em}.fairy-mark{width:32px;height:42px}.fairy-mark img{width:185px;height:92.5px;left:-6px;top:-11px}.menu-toggle{font-size:12px}.main-nav{left:-6px;right:-6px}h1{font-size:clamp(42px,12.5vw,64px);line-height:1.08;letter-spacing:-.035em}.desktop-break{display:none}.hero-location svg{width:12px;height:12px}.confidence-strip{width:calc(100% - 46px);display:grid;grid-template-columns:1fr;padding:22px 0 25px;gap:13px}.confidence-strip>span{font-size:12px;justify-content:center}.confidence-strip svg{width:17px;height:17px}.section-intro{display:block;margin-bottom:30px}h2{font-size:44px;line-height:1.07}.section-intro>p{max-width:none;margin-top:23px;font-size:14px;line-height:1.9}.service-grid{grid-template-columns:1fr;gap:43px}.service-residence{padding-top:0}.service-image{aspect-ratio:1.2}.service-heading{margin-top:20px}.service h3{font-size:31px}.service-heading>span{display:none}.service>p{margin-block:13px;font-size:14px}.text-link{font-size:12px}.commitment-inner{grid-template-columns:1fr;gap:33px;padding-block:61px}.signature-star{width:38px;height:38px;margin-bottom:28px}.commitment h2{font-size:44px}.commitment-copy>p{font-size:14px;margin-top:22px}.commitment-list{padding-top:0}.commitment-list article{padding:23px 0}.commitment-list h3{font-size:16px}.commitment-list p{font-size:14px}.local-section{grid-template-columns:1fr;gap:33px}.local-copy h2{font-size:42px}.local-copy>p{font-size:14px;line-height:1.9;margin-top:21px}.coverage{margin-block:22px 15px;padding-block:20px}.local-copy .text-link{font-size:12px}.contact-inner{padding-block:61px;gap:37px}.contact-copy{display:block}.contact-inner .contact-copy h2{font-size:44px}.contact-copy>p{font-size:14px;margin-top:23px}.service-choice legend{font-size:12px;margin-bottom:12px}.service-choice>div{gap:8px}.service-choice label{font-size:12px;padding:11px 8px;gap:6px}.service-choice input{width:13px;height:13px}.form-grid{gap:17px;grid-template-columns:1fr}.field>label{font-size:12px}.optional{font-size:12px}.field input,.field select,.field textarea{font-size:16px;min-height:48px}.extra-details summary{font-size:12px;min-height:44px;gap:20px}.submit-button{font-size:12px}.prototype-note{font-size:12px;line-height:1.8}.enquiry-summary h3{font-size:36px}.summary-row{grid-template-columns:85px 1fr;font-size:12px;gap:10px}.site-footer{padding-top:43px}.footer-top{flex-wrap:wrap;gap:28px;padding-bottom:35px}.footer-top .brand-name{font-size:34px}.footer-top>p{font-size:12px}.footer-top .text-link{font-size:12px}.footer-bottom{flex-direction:column;gap:8px;font-size:12px;padding-block:22px}.footer-bottom>a{margin-top:5px;align-self:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
html.reduced-motion{scroll-behavior:auto}.reduced-motion *{transition:none!important}

/* Anchor destinations receive reading focus without adding a border around an entire section. */
main[tabindex="-1"]:focus,section[tabindex="-1"]:focus{outline:none}
