/*
Theme Name: CASAVEL V1
Theme URI: https://casavel.eu
Author: CASAVEL
Description: Responsive CASAVEL website theme.
Version: 0.29.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: casavel-v1
*/
:root{--primary:#7A7256;--secondary:#E0D7B9;--ink:#353326;--muted:#77725f;--paper:#fff;--soft:#FBF6E6;--line:rgba(122,114,86,.2);--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit}img{display:block;max-width:100%;height:auto}button{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.site-header{position:relative;z-index:5;background:var(--primary);color:#fff}.home .site-header,.has-hero .site-header{position:absolute;top:0;left:0;right:0;background:none}.header-inner{width:min(calc(100% - 56px),var(--max));min-height:86px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:500 21px Georgia,'Times New Roman',serif;letter-spacing:.23em;text-decoration:none;color:inherit}.brand small{display:block;font:9px Arial,sans-serif;letter-spacing:.21em;margin-top:5px;opacity:.78}.site-nav ul{display:flex;gap:28px;align-items:center;list-style:none;margin:0;padding:0}.site-nav a{text-decoration:none;font-size:10px;letter-spacing:.11em;text-transform:uppercase;opacity:.92;transition:opacity .2s}.site-nav a:hover{opacity:.62}.site-nav .menu-toggle{display:none}.menu-toggle{display:none}.hero{position:relative;min-height:650px;display:flex;align-items:center;padding:112px 0 70px;color:#fff;background-color:var(--primary);background-image:linear-gradient(90deg,rgba(37,37,28,.67),rgba(64,61,46,.32) 63%,rgba(40,38,30,.2)),linear-gradient(0deg,rgba(47,45,34,.32),transparent 45%),var(--hero-image);background-position:center;background-size:cover;background-repeat:no-repeat}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 78% 38%,rgba(224,215,185,.22),transparent 36%)}.hero-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(390px,560px) 1fr;align-items:center;gap:42px}.glass-panel{background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(224,215,185,.14));border:1px solid rgba(255,255,255,.58);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);border-radius:24px;box-shadow:0 18px 55px rgba(35,33,25,.16),inset 0 1px 0 rgba(255,255,255,.3)}.hero-panel{min-height:390px;padding:32px 38px 26px;display:flex;flex-direction:column}.brand-mark{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.1em}.brand-symbol{width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8);border-radius:50%;font:14px Georgia,serif}.brand-divider{opacity:.65}.eyebrow{margin:0 0 14px;color:var(--primary);font-size:10px;line-height:1.4;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.hero-panel .eyebrow{margin:40px 0 15px;color:#F2EBD8}.hero h1{max-width:520px;margin:0;font:400 clamp(39px,5vw,62px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.035em}.hero h1 em{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-weight:400;letter-spacing:-.055em}.hero-copy{max-width:400px;margin:18px 0 0;color:rgba(255,255,255,.9);font-size:14px;line-height:1.7}.hero-pagination{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:28px}.hero-pagination button{width:29px;height:4px;padding:0;border:0;border-radius:4px;background:rgba(255,255,255,.35);transition:width .2s,background .2s}.hero-pagination button[aria-pressed=true]{width:42px;background:#fff}.hero-pagination span{margin-left:8px;color:rgba(255,255,255,.78);font-size:10px;letter-spacing:.12em}.hero-aside{width:min(100%,270px);justify-self:end;padding:22px;color:#fff}.hero-aside .eyebrow{margin-bottom:11px;color:var(--secondary)}.hero-aside h2{margin:0 0 9px;font:400 25px/1.15 Georgia,serif}.hero-aside>p:not(.eyebrow){margin:0;color:rgba(255,255,255,.84);font-size:12px;line-height:1.7}.text-link{display:inline-flex;align-items:center;gap:9px;margin-top:17px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.68);color:inherit;text-decoration:none;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.hero-caption{position:absolute;right:max(24px,calc((100% - var(--max))/2));bottom:20px;z-index:1;margin:0;color:rgba(255,255,255,.82);font-size:9px;letter-spacing:.16em;text-transform:uppercase}.section{padding:66px 0}.philosophy{background:var(--soft)}.philosophy-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:44px}.philosophy-layout>.eyebrow{padding-top:8px}.philosophy h2{max-width:680px;margin:0 0 16px;font:400 clamp(30px,4vw,43px)/1.14 Georgia,serif;letter-spacing:-.025em}.philosophy-layout>div>p{max-width:680px;margin:0;color:var(--muted);font-size:13px;line-height:1.8}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-heading h2{margin:0;font:400 30px/1.15 Georgia,serif}.section-heading>p{margin:0 0 2px;color:var(--muted);font-size:11px}.section-heading .text-link{color:var(--primary);border-color:var(--secondary)}.brands{padding-top:54px}.brand-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.brand-card{position:relative;min-height:245px;display:flex;align-items:end;overflow:hidden;border-radius:18px;color:#fff;background-color:var(--primary);background-image:linear-gradient(0deg,rgba(34,34,26,.78),rgba(34,34,26,.02) 75%),var(--brand-image);background-position:center;background-size:cover;box-shadow:0 12px 30px rgba(52,49,36,.13);text-decoration:none;transition:transform .24s,box-shadow .24s}.brand-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(52,49,36,.22)}.brand-card-copy{width:100%;padding:16px 15px;background:rgba(251,246,230,.15);border-top:1px solid rgba(255,255,255,.3);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.brand-card-copy strong{display:block;margin-bottom:7px;font:400 18px/1.15 Georgia,serif}.brand-card-copy>span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#F2EBD8}.brand-card-copy b{font-size:14px}.properties{background:#fff}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(52,49,36,.06)}.card>a{display:block;height:100%;text-decoration:none}.card img,.card-placeholder{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--secondary)}.card-body{padding:18px}.card h3{margin:.3em 0;font:400 21px/1.2 Georgia,serif}.meta{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.news{background:var(--soft)}.contact-band{padding:48px 0;background:var(--primary);color:white}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.contact-inner h2{margin:0 0 8px;font:400 32px/1.12 Georgia,serif}.contact-inner p:not(.eyebrow){margin:0;color:rgba(255,255,255,.8);font-size:12px}.contact-inner .eyebrow{margin-bottom:12px;color:var(--secondary)}.button{display:inline-flex;align-items:center;gap:12px;background:var(--secondary);color:var(--ink);padding:14px 20px;border:1px solid rgba(255,255,255,.4);border-radius:40px;text-decoration:none;font-size:10px;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 10px 25px rgba(30,29,21,.17);transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(30,29,21,.24)}.site-footer{background:#fff;color:var(--muted);padding:25px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px}.footer-inner p{margin:0}.footer-inner a{color:inherit;text-decoration:none}.footer-links{display:flex;gap:17px}.entry{padding:54px 0}.entry-content{max-width:760px}.entry-content img{margin:24px 0}.archive-header{padding:58px 0 28px}.site-nav .menu-toggle{display:none}
@media(max-width:900px){.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-card{min-height:220px}}
@media(max-width:760px){.container{width:min(calc(100% - 36px),var(--max))}.header-inner{width:calc(100% - 36px);min-height:72px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.62);border-radius:30px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);color:white;padding:10px 15px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.site-nav{display:none;position:absolute;top:63px;right:18px;min-width:210px;padding:8px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(70,67,50,.92);backdrop-filter:blur(16px)}.site-nav.is-open{display:block}.site-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-nav li a{display:block;padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.12)}.site-nav li:last-child a{border:0}.hero{min-height:690px;padding:112px 0 52px;background-position:57% center}.hero-layout{grid-template-columns:1fr;gap:15px}.hero-panel{min-height:360px;padding:26px}.hero-panel .eyebrow{margin-top:30px}.hero-aside{justify-self:start;width:min(100%,370px);padding:17px 19px}.hero-aside h2{font-size:21px}.hero-aside .text-link{margin-top:10px}.hero-caption{display:none}.philosophy-layout{grid-template-columns:1fr;gap:12px}.philosophy-layout>.eyebrow{padding:0}.section{padding:48px 0}.brands{padding-top:40px}.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.brand-card{min-height:200px}.section-heading{align-items:start}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-inner{align-items:start;flex-direction:column}.contact-inner h2{font-size:29px}.footer-inner{align-items:start;flex-direction:column}.footer-links{flex-wrap:wrap}}
@media(max-width:520px){.hero{min-height:660px}.hero-panel{min-height:350px;padding:23px 21px}.hero h1{font-size:40px}.brand-grid,.grid{grid-template-columns:1fr}.brand-card{min-height:220px}.section-heading{display:block}.section-heading>p{margin-top:9px}.section-heading .text-link{margin-top:14px}.philosophy h2{font-size:32px}.footer-links{gap:12px}}

/* ---------- v0.3: wireframe structure (pillars, landing pages, shared blocks) ---------- */
.pillar-medical{--band:#DDE5E8}
.pillar-real-estate{--band:#E7DDCB}
.pillar-lifestyle{--band:#DCE3D3}
.hero--page{min-height:540px}
.hero-layout--single{grid-template-columns:minmax(0,600px)}
.hero--page .hero-panel{min-height:0;padding:34px 38px 34px}
.hero--page .hero-panel .eyebrow{margin-top:0}
.hero-cta{align-self:flex-start;margin-top:24px}
.hero-panel .hero-pagination{padding-top:24px}
.section--soft{background:var(--soft)}
.section-title{margin:0 0 28px;text-align:center;font:400 30px/1.15 Georgia,serif}
.brand-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.brand-grid--3 .brand-card{min-height:320px}
.brand-grid--3 .brand-card-copy>span{letter-spacing:.06em;text-transform:none;font-size:12px}
.feature-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:16px}
.feature{display:block;padding:28px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;color:inherit;text-align:center;text-decoration:none;box-shadow:0 8px 24px rgba(52,49,36,.05);transition:transform .24s,box-shadow .24s}
a.feature:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(52,49,36,.13)}
.feature .icon{display:block;width:34px;height:34px;margin:0 auto 16px;color:var(--primary)}
.feature h3{margin:0 0 8px;font:400 19px/1.2 Georgia,serif}
.feature p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}
.feature-grid--plain .feature{border:0;background:none;box-shadow:none;padding:8px 18px}
.band{padding:58px 0;background:var(--band,var(--secondary));text-align:center}
.band h2{max-width:640px;margin:0 auto 22px;font:400 clamp(24px,3.2vw,32px)/1.2 Georgia,serif}
.band--dark{background:var(--ink);color:#fff}
.button--dark{background:var(--ink);color:#fff;border-color:transparent}
.quote-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.quote{margin:0;padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff}
.quote blockquote{margin:0 0 14px;font:400 18px/1.5 Georgia,serif}
.quote figcaption{color:var(--muted);font-size:11px}
.grid-empty{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px;text-align:center}
.cta-close{padding:56px 0;text-align:center;border-top:1px solid var(--line)}
.cta-close h2{margin:0 0 20px;font:400 28px/1.2 Georgia,serif}
.site-nav ul{gap:24px}
@media(max-width:900px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid--plain{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.site-nav ul{gap:0}.hero--page{min-height:520px}.hero--page .hero-panel{padding:26px}.brand-grid--3{grid-template-columns:1fr}.brand-grid--3 .brand-card{min-height:200px}.feature-grid--plain{grid-template-columns:1fr}.quote-grid{grid-template-columns:1fr}.band{padding:44px 0}}
@media(max-width:520px){.feature-grid{grid-template-columns:1fr}}

/* ---------- v0.3.4: fixed header, clear at the top; once scrolled, untinted glass that takes its colour from the page behind ---------- */
html{scroll-padding-top:96px}
.site-header,.home .site-header,.has-hero .site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:none;color:#fff;transition:color .35s ease}
body:not(.home):not(.has-hero) .site-header,body .site-header.on-light{color:var(--ink)}body .site-header.on-dark{color:#fff}.site-header{--glass:rgba(255,255,255,.26)}.site-header.on-dark{--glass:rgba(24,23,17,.2)}
.site-header::before,.site-header::after{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;pointer-events:none;opacity:0;transition:opacity .45s ease}
.site-header::before{bottom:-72px;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.85) 35%,rgba(0,0,0,.5) 60%,rgba(0,0,0,.18) 82%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.85) 35%,rgba(0,0,0,.5) 60%,rgba(0,0,0,.18) 82%,transparent 100%)}
.site-header::after{bottom:-30px;background-color:var(--glass);transition:opacity .45s ease,background-color .45s ease;backdrop-filter:blur(22px) saturate(185%);-webkit-backdrop-filter:blur(22px) saturate(185%);mask-image:linear-gradient(180deg,#000 0%,#000 40%,rgba(0,0,0,.7) 62%,rgba(0,0,0,.3) 82%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 40%,rgba(0,0,0,.7) 62%,rgba(0,0,0,.3) 82%,transparent 100%)}
.site-header.is-scrolled::before,.site-header.is-scrolled::after{opacity:1}
.admin-bar .site-header{top:32px}
body:not(.home):not(.has-hero) main{padding-top:86px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:760px){body:not(.home):not(.has-hero) main{padding-top:72px}.site-header::before{bottom:-54px}.site-header::after{bottom:-22px}.site-nav{color:#fff}.menu-toggle{transition:color .35s ease,border-color .35s ease}body:not(.home):not(.has-hero) .site-header:not(.on-dark) .menu-toggle,.site-header.on-light .menu-toggle{color:var(--ink);border-color:rgba(53,51,38,.35);background:rgba(255,255,255,.35)}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header::before,.site-header::after{transition:none}}

/* ---------- v0.5: contact form and "Get in touch" modal ---------- */
.contact-form{display:grid;gap:14px;margin-top:22px}
.contact-form p{margin:0}
.contact-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-form__trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.field label{display:block;margin-bottom:6px;color:var(--primary);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.field label span{font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.72);color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:104px}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(122,114,86,.18)}
.contact-form__consent label{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:12px;line-height:1.55}
.contact-form__consent input{margin-top:3px;accent-color:var(--primary)}
.contact-form__consent a{color:var(--primary)}
.contact-form__status{min-height:0;font-size:13px;line-height:1.5}
.contact-form__status:empty{display:none}
.contact-form__status.is-error{color:#9a3b2c}
.contact-form__status.is-success,.contact-form__notice{padding:14px 16px;border-radius:12px;background:rgba(122,114,86,.12);color:var(--ink)}
.contact-form__notice{margin:22px 0 0;font-size:13px}
.contact-form__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.contact-form__actions .button{cursor:pointer;font-family:inherit}
.contact-form__actions .button[disabled]{opacity:.55;cursor:default;transform:none}
.contact-form__alt{color:var(--muted);font-size:12px}
.contact-form__alt a{color:var(--primary)}
.contact-form.is-sent>*:not(.contact-form__status){display:none}
.contact-modal{width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}
.contact-modal::backdrop{background:rgba(30,29,21,.42);backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%)}
.contact-modal__panel{position:relative;max-height:calc(100dvh - 32px);overflow:auto;padding:34px 36px 30px;border:1px solid rgba(255,255,255,.75);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(251,246,230,.84));backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);box-shadow:0 30px 80px rgba(30,29,21,.32),inset 0 1px 0 rgba(255,255,255,.6)}
.contact-modal h2{margin:0 0 8px;font:400 30px/1.15 Georgia,serif}
.contact-modal__intro{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.contact-modal__close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.6);color:var(--ink);font-size:20px;line-height:1;cursor:pointer;transition:background .2s}
.contact-modal__close:hover{background:#fff}
.contact-modal[open]{animation:contact-in .32s ease}
.contact-modal[open]::backdrop{animation:contact-fade .32s ease}
@keyframes contact-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes contact-fade{from{opacity:0}to{opacity:1}}
@media(max-width:560px){.contact-form__row{grid-template-columns:1fr}.contact-modal__panel{padding:28px 22px 24px}.contact-modal h2{font-size:26px}.contact-form__actions{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.contact-modal[open],.contact-modal[open]::backdrop{animation:none}}

/* ---------- v0.5.1: form polish ---------- */
.field input,.field select{height:50px;padding:0 16px;line-height:normal}
.field textarea{padding:14px 16px}
.field select{appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A7256' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px 16px;cursor:pointer}
.contact-modal__close{display:grid;place-items:center;padding:0;border-color:rgba(53,51,38,.28);background:rgba(255,255,255,.75);color:#353326}
.contact-modal__close svg{display:block;width:16px;height:16px}
.contact-form__actions .button[disabled]{opacity:.38;cursor:not-allowed;box-shadow:none;transform:none}

/* ---------- v0.5.2: required-field feedback ---------- */
.contact-form__consent.field label{display:flex;margin:0;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:0;text-transform:none}
.contact-form__consent.field input{width:auto;height:auto;padding:0}
.field{position:relative}.field__error{position:absolute;top:0;right:0;color:#9a3b2c;font-size:11px;line-height:1.4;white-space:nowrap}.contact-form__consent .field__error{position:static;display:block;margin:6px 0 0 23px;white-space:normal}.contact-form__consent.field label{flex-wrap:wrap}
.field.is-invalid input:not([type=checkbox]),.field.is-invalid textarea{border-color:#b9543f;box-shadow:0 0 0 3px rgba(185,84,63,.12)}
.contact-form__hint{display:none;color:var(--muted);font-size:12px}
.contact-form.is-incomplete .contact-form__hint{display:block}
.contact-form__consent.field label span{letter-spacing:0;color:inherit;font-weight:400}

/* ---------- v0.5.3: lighter, more translucent glass for the modal and its backdrop ---------- */
.contact-modal::backdrop{background:rgba(40,38,28,.16);backdrop-filter:blur(14px) saturate(150%);-webkit-backdrop-filter:blur(14px) saturate(150%)}
.contact-modal__panel{border:1px solid rgba(255,255,255,.62);background:linear-gradient(135deg,rgba(255,255,255,.6) 0%,rgba(251,246,230,.44) 55%,rgba(255,255,255,.5) 100%);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);box-shadow:0 30px 80px rgba(30,29,21,.26),inset 0 1px 0 rgba(255,255,255,.75),inset 0 0 0 1px rgba(255,255,255,.14)}
.contact-modal .eyebrow,.contact-modal .field label{color:#5d573f}
.contact-modal__intro,.contact-modal .contact-form__alt,.contact-modal .contact-form__hint,.contact-modal .contact-form__consent.field label,.contact-modal .field label span{color:#4f4b3a}
.contact-modal .contact-form__alt a{color:#353326}
.contact-modal .field input,.contact-modal .field select,.contact-modal .field textarea{background-color:rgba(255,255,255,.62);border-color:rgba(255,255,255,.7);box-shadow:inset 0 1px 2px rgba(53,51,38,.06)}
.contact-modal .field input:focus,.contact-modal .field select:focus,.contact-modal .field textarea:focus{background-color:rgba(255,255,255,.82);border-color:var(--primary);box-shadow:0 0 0 3px rgba(122,114,86,.2)}
.contact-modal__close{background:rgba(255,255,255,.5);border-color:rgba(255,255,255,.7)}

/* ---------- v0.6: scroll motion (reveal on scroll, hero parallax) ----------
   Everything here is opt-in from JavaScript: without the .reveal-ready / .parallax-ready
   classes that site.js adds, the page looks and works exactly as before. */
.reveal-ready .reveal{opacity:0;transform:translate3d(0,18px,0);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.reveal-ready .reveal.is-visible{opacity:1;transform:none}
.hero{overflow:hidden;background-image:none}
.hero::before{content:"";position:absolute;z-index:0;top:-16%;left:0;right:0;height:116%;pointer-events:none;background-image:linear-gradient(90deg,rgba(37,37,28,.67),rgba(64,61,46,.32) 63%,rgba(40,38,30,.2)),linear-gradient(0deg,rgba(47,45,34,.32),transparent 45%),var(--hero-image);background-position:center;background-size:cover;background-repeat:no-repeat;transform:translate3d(0,var(--parallax,0px),0);will-change:transform}
@media(max-width:760px){.hero::before{background-position:57% center;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- v0.6.1: Lenis smooth scrolling ---------- */
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto!important}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}

/* ---------- v0.7: page intro ----------
   Plays once on load, CSS only. Uses "backwards" fill so that once an animation ends the
   element is back on its own styles (hover effects keep working). */
.hero-line{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.16em}
.hero-line>span{display:block}
@media(prefers-reduced-motion:no-preference){
.hero::before{animation:intro-photo 1.7s cubic-bezier(.2,.7,.2,1) backwards}
.site-header .header-inner{animation:intro-down .7s cubic-bezier(.2,.7,.2,1) .05s backwards}
.hero-panel{animation:intro-up .9s cubic-bezier(.2,.7,.2,1) .15s backwards}
.hero-panel .brand-mark{animation:intro-rise .7s cubic-bezier(.2,.7,.2,1) .32s backwards}
.hero-panel .eyebrow{animation:intro-rise .7s cubic-bezier(.2,.7,.2,1) .38s backwards}
.hero-line>span{animation:intro-line .85s cubic-bezier(.2,.75,.2,1) .44s backwards}
.hero-line+.hero-line>span{animation-delay:.56s}
.hero-slide:not(.is-active) .hero-line>span{animation:none}
.hero-slides.has-rotated .hero-slide.is-active .hero-line>span{animation-delay:.3s}
.hero-slides.has-rotated .hero-slide.is-active .hero-line+.hero-line>span{animation-delay:.42s}
.hero-panel .hero-copy{animation:intro-rise .7s cubic-bezier(.2,.7,.2,1) .7s backwards}
.hero-panel .hero-cta{animation:intro-rise .7s cubic-bezier(.2,.7,.2,1) .8s backwards}
.hero-panel .hero-pagination{animation:intro-fade .7s ease .9s backwards}
.hero-aside{animation:intro-side .9s cubic-bezier(.2,.7,.2,1) .7s backwards}
.hero-caption{animation:intro-fade .8s ease 1s backwards}
}
@keyframes intro-photo{from{opacity:0;scale:1.07}to{opacity:1;scale:1}}
@keyframes intro-down{from{opacity:0;transform:translate3d(0,-10px,0)}to{opacity:1;transform:none}}
@keyframes intro-up{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
@keyframes intro-rise{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
@keyframes intro-line{from{transform:translate3d(0,105%,0)}to{transform:none}}
@keyframes intro-side{from{opacity:0;transform:translate3d(24px,0,0)}to{opacity:1;transform:none}}
@keyframes intro-fade{from{opacity:0}to{opacity:1}}

/* ---------- v0.7.1: button labels centred; the arrow sits at the right edge without pushing the text ---------- */
.button{position:relative;justify-content:center;gap:0;padding:14px 44px;text-align:center;text-indent:.1em;white-space:nowrap}
.button>span[aria-hidden]{position:absolute;top:50%;right:18px;transform:translateY(-50%);text-indent:0;line-height:1}

/* ---------- v0.8: hero slider (auto-advancing, fixed panel size) and drawn button arrows ----------
   All slides sit in the same grid cell, so the panel always has the size of the largest one. */
.hero .hero-title{max-width:520px;margin:0;font:400 clamp(39px,5vw,62px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.035em}
.hero .hero-title em{font-family:Arial,Helvetica,sans-serif;font-style:normal;font-weight:400;letter-spacing:-.055em}
.hero-slides{display:grid}
.hero-slide{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}
.hero-slide.is-active{opacity:1;visibility:visible;transition:opacity .6s ease .3s,visibility 0s}
.hero-pagination button{position:relative;overflow:hidden;cursor:pointer}
.hero-pagination button::before{content:"";position:absolute;inset:-12px -3px}
.hero-pagination.is-auto button[aria-pressed=true]{background:rgba(255,255,255,.35)}
.hero-pagination.is-auto button[aria-pressed=true]::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#fff;transform-origin:left center;animation:hero-progress var(--hero-interval,6.5s) linear forwards}
.hero-pagination.is-paused button[aria-pressed=true]::after{animation-play-state:paused}
.hero-pagination button{overflow:visible}
.hero-pagination button::after{pointer-events:none}
@keyframes hero-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:520px){.hero .hero-title{font-size:40px}}
.button>span[aria-hidden]{width:11px;height:11px;font-size:0;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9.5l7-7M4 2.5h5.5V8'/%3E%3C/svg%3E")}
a.button[href^="#"]>span[aria-hidden]{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 1.5v9M2.5 7L6 10.5 9.5 7'/%3E%3C/svg%3E")}

/* ---------- v0.8.1: band without a button reads as a statement ---------- */
.band--plain h2{margin-bottom:0}

/* ---------- v0.9: Lucide icons (button arrows) ---------- */
.button>span[aria-hidden]{width:13px;height:13px;--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E")}
a.button[href^="#"]>span[aria-hidden]{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='m19 12-7 7-7-7'/%3E%3C/svg%3E")}

/* ---------- v0.10: Resources ---------- */
.archive-header h1{margin:0 0 10px;font:400 clamp(34px,4.6vw,52px)/1.08 Georgia,'Times New Roman',serif;letter-spacing:-.025em}
.archive-header .lead,.entry-content .lead{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.section--resources{padding-top:18px}
.resource-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.resource-filter a{padding:9px 16px;border:1px solid var(--line);border-radius:40px;color:var(--ink);font-size:10px;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:background .2s,color .2s,border-color .2s}
.resource-filter a:hover{border-color:var(--primary)}
.resource-filter a[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}
.resource-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.resource-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:20px 24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(52,49,36,.05);transition:box-shadow .24s,transform .24s}
.resource-row:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(52,49,36,.1)}
.resource-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--soft);color:var(--primary)}
.resource-icon .icon{width:22px;height:22px}
.resource-text h2{margin:0 0 4px;font:400 20px/1.25 Georgia,serif}
.resource-text h2 a{text-decoration:none}
.resource-text h2 a:hover{text-decoration:underline;text-underline-offset:3px}
.resource-text p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.resource-text .meta{margin-top:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.resource-action{margin-top:26px}
.entry-content .eyebrow a{color:inherit;text-decoration:none}
.button--download>span[aria-hidden]{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15V3'/%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E")}
@media(max-width:620px){.resource-row{grid-template-columns:auto minmax(0,1fr);padding:18px}.resource-row .button{grid-column:1/-1;justify-self:start}}
.entry-content h1{margin:0 0 14px;font:400 clamp(32px,4.4vw,48px)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.02em}

/* ---------- v0.11: fact lists, 404, cookie notice ---------- */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:26px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--line)}
.facts>div{padding:16px 18px;background:#fff}
.facts dt{margin:0 0 4px;color:var(--primary);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.facts dd{margin:0;font:400 18px/1.3 Georgia,serif}
.resource-action{display:flex;flex-wrap:wrap;gap:12px}
.not-found{padding-bottom:90px}
.not-found__actions{margin:28px 0 0}
.consent{position:fixed;z-index:60;right:20px;bottom:20px;width:min(400px,calc(100% - 40px));padding:22px 24px;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(251,246,230,.72));backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 20px 50px rgba(30,29,21,.22),inset 0 1px 0 rgba(255,255,255,.7);color:var(--ink)}
.consent[hidden]{display:none}
.consent p{margin:0 0 16px;font-size:13px;line-height:1.6}
.consent a{color:var(--primary)}
.consent__actions{display:flex;gap:10px}
.consent__button{flex:1;padding:12px 16px;border:1px solid rgba(53,51,38,.3);border-radius:40px;background:rgba(255,255,255,.5);color:var(--ink);font:10px/1 Arial,Helvetica,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s}
.consent__button:hover{background:#fff}
.consent__button--primary{background:var(--ink);border-color:var(--ink);color:#fff}
.consent__button--primary:hover{background:#4a4636}

/* ---------- v0.12: news cards (own articles and items from RSS sources) ---------- */
.card-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-bottom:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.card-meta span:first-child{color:var(--primary);font-weight:600}
.card-lang{padding:2px 7px;border:1px solid var(--line);border-radius:20px;letter-spacing:.08em}
.card--source{background:rgba(255,255,255,.75)}
.card--source .card-body{display:flex;flex-direction:column;height:100%;padding:24px}
.card--source h3{font-size:20px}
.card-out{margin:auto 0 0;padding-top:16px;color:var(--primary);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.card{transition:transform .24s,box-shadow .24s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(52,49,36,.12)}

/* ---------- v0.13: language switcher; the menu collapses earlier because the header now holds more ---------- */
.brand small{text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:26px}
.site-nav ul.lang-switch,.lang-switch{display:flex;align-items:center;gap:2px;margin:0;padding:0 0 0 22px;list-style:none;border-left:1px solid currentColor;border-left-color:color-mix(in srgb,currentColor 28%,transparent)}
.lang-switch a{display:block;padding:6px 7px;border-radius:20px;font-size:10px;letter-spacing:.1em;text-decoration:none;opacity:.6;transition:opacity .2s,background .2s}
.lang-switch a:hover{opacity:1}
.lang-switch a[aria-current]{opacity:1;font-weight:700;background:color-mix(in srgb,currentColor 14%,transparent)}
@media(max-width:1080px){
.header-inner{min-height:72px}
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.62);border-radius:30px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:10px 15px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .35s ease,border-color .35s ease}
body:not(.home):not(.has-hero) .site-header:not(.on-dark) .menu-toggle,.site-header.on-light .menu-toggle{color:var(--ink);border-color:rgba(53,51,38,.35);background:rgba(255,255,255,.35)}
.site-nav{display:none;position:absolute;top:63px;right:18px;min-width:230px;padding:8px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(70,67,50,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff}
.site-nav.is-open{display:block}
.site-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}
.site-nav li a{display:block;padding:13px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
.site-nav .lang-switch{flex-direction:row;justify-content:center;gap:4px;padding:10px 4px 4px;border-left:0}
.site-nav .lang-switch li a{padding:8px 10px;border-bottom:0}
body:not(.home):not(.has-hero) main{padding-top:72px}
}

/* ---------- v0.15: hero pointer drift (all heroes) ----------
   site.js sets --drift-x / --drift-y (-1…1) from the pointer position. "translate" is used
   instead of "transform" so it adds to the intro animation rather than replacing it. */
.hero-panel{translate:calc(var(--drift-x,0)*12px) calc(var(--drift-y,0)*9px)}
.hero-aside{translate:calc(var(--drift-x,0)*24px) calc(var(--drift-y,0)*18px)}
@media(max-width:760px),(prefers-reduced-motion:reduce){.hero-panel,.hero-aside{translate:none}}

/* ---------- v0.15.3: logged-in view on phones ----------
   Below 600px WordPress lets its admin bar scroll away, which left a 46px gap above the fixed
   header. Keeping the admin bar fixed there makes the header offset correct at every scroll position. */
@media(max-width:600px){.admin-bar #wpadminbar{position:fixed}}

/* ---------- v0.16: five cards in a row (Medical now has five sub-pages) ---------- */
.feature-grid--5 .feature{padding:26px 16px}
@media(min-width:901px) and (max-width:1100px){.feature-grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- v0.17: section navigation, service lists, process steps, highlighted note ---------- */
.section-nav{border-bottom:1px solid var(--line);background:#fff}
.section-nav ul{display:flex;gap:6px;margin:0;padding:12px 0;list-style:none;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.section-nav ul::-webkit-scrollbar{display:none}
.section-nav a{display:block;padding:9px 15px;border:1px solid var(--line);border-radius:40px;color:var(--ink);font-size:11px;letter-spacing:.06em;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.section-nav a:hover{border-color:var(--primary)}
.section-nav a[aria-current=page]{background:var(--primary);border-color:var(--primary);color:#fff}
.section-nav a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.service-lists{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:18px}
.service-list{padding:26px 26px 20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.service-list h3{margin:0 0 12px;font:400 22px/1.2 Georgia,serif}
.service-list ul{margin:0;padding:0;list-style:none}
.service-list li{position:relative;padding:9px 0 9px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.6}
.service-list li:first-child{border-top:0}
.service-list li::before{content:"";position:absolute;left:2px;top:17px;width:9px;height:5px;border-left:1.5px solid var(--primary);border-bottom:1.5px solid var(--primary);transform:rotate(-45deg)}
.process{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:0;padding:0;list-style:none;counter-reset:step}
.process li{position:relative;padding:22px 20px 18px;border-top:2px solid var(--primary);background:var(--soft);border-radius:0 0 14px 14px;counter-increment:step}
.process li::before{content:counter(step,decimal-leading-zero);display:block;margin-bottom:10px;color:var(--primary);font-size:11px;letter-spacing:.16em}
.process h3{margin:0 0 6px;font:400 19px/1.25 Georgia,serif}
.process p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.section--tight{padding:20px 0 40px}
.note p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.home-services .feature{text-align:left}
.home-services .feature .card-out{margin:12px 0 0}
.proof-grid .feature{text-align:left}
@media(max-width:760px){.service-lists{grid-template-columns:1fr}.section-nav ul{padding:10px 0}}
.section-lead{max-width:640px;margin:-14px auto 28px;text-align:center;color:var(--muted);font-size:14px;line-height:1.7}
.field__note{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}
.news-filter ul{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;list-style:none}
.news-filter a{display:block;padding:8px 14px;border:1px solid var(--line);border-radius:40px;color:var(--ink);font-size:11px;letter-spacing:.06em;text-decoration:none}
.news-filter a[aria-current=page]{background:var(--primary);border-color:var(--primary);color:#fff}

/* ---------- v0.19: SVG arrows everywhere, and one spacing scale ----------
   Arrows are inline SVG (casavel_v1_arrow), never text characters that phones may turn into emoji.
   Spacing: sections 72/52px, bands 60/44px, cards 24/20px, pills 9px 16px (desktop/phone). */
:root{--space-section:72px;--space-band:60px;--space-card:24px}
.arrow{display:inline-block;flex:none;width:14px;height:14px;vertical-align:-2px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;max-width:100%;padding:13px 24px;text-indent:0;line-height:1.25;white-space:normal}
.button .arrow{width:14px;height:14px}
.text-link{gap:8px}
.text-link .arrow,.card-out .arrow{width:12px;height:12px}
.card-out{display:inline-flex;align-items:center;gap:6px}
.brand-card-copy .arrow{width:12px;height:12px;margin-left:4px;vertical-align:-1px}

.section{padding:var(--space-section) 0}
.section--tight{padding:0}
.band{padding:var(--space-band) 0}
.cta-close{padding:var(--space-section) 0}
.section-title{margin-bottom:32px}

.feature{padding:var(--space-card)}
.feature-grid--5 .feature{padding:var(--space-card) 18px}
.feature-grid--plain .feature{padding:8px 16px}
.service-list{padding:var(--space-card) var(--space-card) 14px}
.process li{padding:20px var(--space-card) var(--space-card)}
.quote{padding:var(--space-card)}
.card-body,.card--source .card-body{padding:20px var(--space-card) var(--space-card)}
.brand-card-copy{padding:18px 20px}
.hero-aside{padding:var(--space-card)}
.hero--page .hero-panel{padding:36px 40px}

.section-nav a,.news-filter a,.resource-filter a{padding:9px 16px}
.section-nav ul{padding:14px 0}

@media(max-width:760px){
 :root{--space-section:52px;--space-band:44px;--space-card:20px}
 .hero--page .hero-panel{padding:26px 22px}
 .button{padding:13px 20px}
 .section-nav ul{padding:12px 0}
}
.home-services .feature .icon,.proof-grid .feature .icon{margin-left:0;margin-right:0}

/* ---------- v0.20: second hero button (buyers next to sellers) ---------- */
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.hero-actions .hero-cta{margin-top:0}
.button--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.62);box-shadow:none}
.button--ghost:hover{background:rgba(255,255,255,.16);box-shadow:none}
.button--ghost:focus-visible,.button:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* ---------- v0.21.1: hero headlines fully serif; the second line is set in italic for contrast ---------- */
.hero h1 em,.hero .hero-title em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.03em}

/* ---------- v0.22: "What we do" as folder cards ----------
   A framed photo with a folder in the pillar's colour in front of it. On hover the folder slides down,
   the photo opens up and the icon rises. Touch screens and reduced motion show the resting state. */
.folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.folder-card{--folder:#EFE8D3;--frame:#E0D7B9;--ease:cubic-bezier(.22,1.2,.36,1);position:relative;isolation:isolate;display:block;height:440px;overflow:hidden;border:10px solid var(--frame);border-radius:30px;background:var(--frame);color:var(--ink);text-decoration:none;box-shadow:0 18px 40px rgba(52,49,36,.14);transform:translateZ(0)}
.folder-card--medical{--folder:#E3EAEC;--frame:#CCD8DC}
.folder-card--real-estate{--folder:#EFE6D4;--frame:#DCCDB0}
.folder-card--lifestyle{--folder:#E4EADD;--frame:#CBD5BE}
.folder-card__photo{position:absolute;inset:0;z-index:0;background:var(--primary) var(--photo) center/cover no-repeat;transition:transform .7s var(--ease)}
.folder-card__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,29,22,.05),rgba(30,29,22,.25))}
.folder-card__badge{position:absolute;z-index:10;left:50%;top:84px;display:grid;place-items:center;width:84px;height:84px;margin-left:-42px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.72);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);color:var(--primary);box-shadow:0 16px 28px rgba(30,29,22,.22);transition:transform .7s var(--ease)}
.folder-card__badge .icon{width:34px;height:34px}
.folder-card__folder{position:absolute;z-index:20;left:0;right:0;top:46%;height:120%;transition:transform .7s var(--ease)}
.folder-card__shape{position:absolute;inset:0;width:100%;height:100%;fill:var(--folder);filter:drop-shadow(0 -10px 18px rgba(30,29,22,.16))}
.folder-card__tab{position:absolute;left:22px;top:7px;font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--primary)}
.folder-card__go{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.6);color:var(--ink);transition:transform .5s var(--ease),background .3s}
.folder-card__go .arrow{width:15px;height:15px}
.folder-card__copy{position:absolute;z-index:30;left:0;right:0;bottom:0;display:grid;gap:8px;padding:0 22px 22px}
.folder-card__copy strong{font:400 28px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.01em}
.folder-card__text{color:var(--muted);font-size:13px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(hover:hover) and (pointer:fine){
 .folder-card:hover .folder-card__photo,.folder-card:focus-visible .folder-card__photo{transform:scale(1.08)}
 .folder-card:hover .folder-card__folder,.folder-card:focus-visible .folder-card__folder{transform:translateY(34px)}
 .folder-card:hover .folder-card__badge,.folder-card:focus-visible .folder-card__badge{transform:translateY(-30px) scale(1.08)}
 .folder-card:hover .folder-card__go,.folder-card:focus-visible .folder-card__go{transform:translateX(4px);background:#fff}
}
.folder-card:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
@media(max-width:900px){.folder-grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}.folder-card{height:400px}}
@media(prefers-reduced-motion:reduce){.folder-card__photo,.folder-card__folder,.folder-card__badge,.folder-card__go{transition:none}}
.folder-card__text{min-height:calc(1.55em * 4);-webkit-line-clamp:4}
.folder-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* ---------- v0.23: spotlight cards ----------
   Vanilla take on React Bits' SpotlightCard: a soft light follows the pointer, lights the card's edge
   and reaches cards within 80px. The colour follows the section: Medical blue, Real Estate gold,
   Lifestyle green. site.js sets --mx/--my/--spot; mouse and trackpad only, never on touch or reduced motion. */
@supports (color: color-mix(in srgb, red 50%, blue)){
 .has-spot{--glow:#9C8E5E;--surface:#fff;--spot:0;--mx:50%;--my:50%;--spot-size:240px}
 .has-spot[data-spot=medical]{--glow:#5E8FA1}
 .has-spot[data-spot=real-estate]{--glow:#B08A45}
 .has-spot[data-spot=lifestyle]{--glow:#6F8F55}
 .spot-press .has-spot{--spot-size:300px}
 .has-spot:not(.folder-card){border-color:transparent;background:
   radial-gradient(circle var(--spot-size) at var(--mx) var(--my),color-mix(in srgb,var(--glow) calc(var(--spot) * 15%),transparent),transparent 70%) padding-box,
   linear-gradient(var(--surface),var(--surface)) padding-box,
   radial-gradient(circle calc(var(--spot-size) * .8) at var(--mx) var(--my),color-mix(in srgb,var(--glow) calc(var(--spot) * 95%),transparent),transparent 72%) border-box,
   linear-gradient(var(--line),var(--line)) border-box}
 .process li.has-spot{--surface:var(--soft);border:1px solid transparent;border-top:2px solid var(--primary)}
 .folder-card.has-spot{box-shadow:0 18px 40px rgba(52,49,36,.14),0 0 calc(var(--spot) * 30px) color-mix(in srgb,var(--glow) calc(var(--spot) * 55%),transparent)}
 .folder-card.has-spot::after{content:"";position:absolute;inset:0;z-index:25;pointer-events:none;background:radial-gradient(circle var(--spot-size) at var(--mx) var(--my),color-mix(in srgb,#fff calc(var(--spot) * 22%),transparent),transparent 70%)}
}

/* ---------- v0.24: process steps as an open hairline grid with hover highlight ----------
   Adapted from "features section with hover effects": no boxed cards, thin dividing lines, the step number
   on top, and on hover a soft wash, a section-coloured bar that grows beside the title and the title easing right. */
body{--section:var(--primary)}
body.pillar-medical{--section:#5E8FA1}
body.pillar-real-estate{--section:#B08A45}
body.pillar-lifestyle{--section:#6F8F55}
.process{display:grid;grid-template-columns:repeat(var(--steps,4),minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);counter-reset:step}
.process li{position:relative;isolation:isolate;padding:30px 28px 34px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:none;counter-increment:step}
.process li::before{content:counter(step,decimal-leading-zero);position:relative;z-index:1;display:block;margin:0 0 18px;color:var(--muted);font-size:11px;letter-spacing:.18em;transition:color .2s}
.process li::after{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(0deg,var(--soft),transparent);transition:opacity .2s}
.process h3{position:relative;margin:0 0 8px;font:400 20px/1.25 Georgia,'Times New Roman',serif;transition:transform .2s}
.process h3::before{content:"";position:absolute;left:-28px;top:50%;width:4px;height:22px;border-radius:0 999px 999px 0;background:var(--line);transform:translateY(-50%);transition:height .2s,background .2s}
.process p{position:relative;margin:0;color:var(--muted);font-size:13.5px;line-height:1.65}
@media(hover:hover){
 .process li:hover::after{opacity:1}
 .process li:hover::before{color:var(--section)}
 .process li:hover h3{transform:translateX(8px)}
 .process li:hover h3::before{height:30px;background:var(--section);transform:translate(-8px,-50%)}
}
@media(max-width:1000px){.process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.process{grid-template-columns:1fr}.process li{padding:24px 22px 26px}.process h3::before{left:-22px}}
@media(prefers-reduced-motion:reduce){.process li::after,.process h3,.process h3::before,.process li::before{transition:none}}

/* ---------- v0.25: the "Good to know" note as an editorial statement ----------
   No tinted box or side rail: a two-column block between hairlines, title and mark on the left,
   the explanation in readable body size on the right, accents in the section colour. */

/* ---------- v0.26: note as dark highlight card ---------- */
.section--tight:has(.note){padding:8px 0 64px}
.note{--accent:var(--section,var(--primary));position:relative;display:block;max-width:760px;margin:0 auto;padding:0;overflow:hidden;border:1px solid rgba(224,215,185,.14);border-radius:24px;background:linear-gradient(135deg,#1d1c15 0%,#2a281f 50%,#1d1c15 100%);color:#F2EBD8;box-shadow:0 30px 60px -20px rgba(29,28,21,.45);transform:translateZ(0);transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .5s,box-shadow .5s}
.note:hover{transform:scale(1.02) rotate(-.6deg);border-color:rgba(224,215,185,.3);box-shadow:0 40px 80px -24px rgba(29,28,21,.55)}
.note__fx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.note__fx::before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(242,235,216,.03),rgba(242,235,216,.07));opacity:.6;transition:opacity .5s}
.note:hover .note__fx::before{opacity:1}
.note__glow{position:absolute;border-radius:50%;filter:blur(48px);transition:opacity .7s,transform .7s}
.note__glow--a{left:-90px;bottom:-90px;width:240px;height:240px;background:color-mix(in srgb,var(--accent) 45%,transparent);opacity:.35}
.note__glow--b{right:-70px;top:-70px;width:180px;height:180px;background:rgba(224,215,185,.18);opacity:.4}
.note:hover .note__glow--a{opacity:.55;transform:scale(1.15)}
.note__sheen{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(242,235,216,.08),transparent);transform:translateX(100%) skewX(-12deg);transition:transform 1s ease}
.note:hover .note__sheen{transform:translateX(-200%) skewX(-12deg)}
.note__corner{position:absolute;width:84px;height:84px;opacity:0;transition:opacity .5s}
.note__corner--tl{top:0;left:0;border-bottom-right-radius:28px;background:linear-gradient(135deg,rgba(242,235,216,.1),transparent)}
.note__corner--br{right:0;bottom:0;border-top-left-radius:28px;background:linear-gradient(-45deg,rgba(242,235,216,.1),transparent)}
.note:hover .note__corner{opacity:1}
.note__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:52px 48px 44px;text-align:center}
.note__mark{position:relative;display:block;margin-bottom:26px}
.note__ring{position:absolute;inset:0;border:2px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%;animation:note-ping 3.2s cubic-bezier(0,0,.2,1) infinite}
.note__ring--soft{border-width:1px;border-color:rgba(242,235,216,.14);animation:note-pulse 2.6s ease-in-out infinite}
.note__disc{position:relative;display:grid;place-items:center;width:78px;height:78px;border:1px solid rgba(242,235,216,.2);border-radius:50%;background:linear-gradient(135deg,rgba(0,0,0,.55),rgba(0,0,0,.3));box-shadow:0 14px 30px rgba(0,0,0,.35);transition:transform .5s,box-shadow .5s}
.note:hover .note__disc{transform:rotate(12deg) scale(1.1);box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 35%,transparent)}
.note__icon{display:grid;place-items:center;color:color-mix(in srgb,var(--accent) 55%,#F2EBD8);transition:transform .7s}
.note:hover .note__icon{transform:rotate(-12deg)}
.note__icon .icon{width:30px;height:30px}
.note .note__eyebrow{margin:0 0 12px;color:color-mix(in srgb,var(--accent) 60%,#F2EBD8);font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
.note h2{max-width:560px;margin:0 0 16px;font:400 clamp(26px,3.2vw,36px)/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.015em;text-wrap:balance;background:linear-gradient(90deg,#F2EBD8,#fff,#F2EBD8);-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .3s}
.note:hover h2{transform:scale(1.03)}
.note .note__body{max-width:540px;margin:0;color:rgba(242,235,216,.72);font-size:15px;line-height:1.8;opacity:1;transition:color .3s}
.note:hover .note__body{color:rgba(242,235,216,.86)}
.note__rule{display:block;width:33%;height:2px;margin-top:30px;border-radius:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 70%,#F2EBD8),transparent);transition:width .5s,height .5s}
.note:hover .note__rule{width:50%;height:3px}
.note__dots{display:flex;gap:8px;margin-top:16px;opacity:.55;transition:opacity .3s}
.note__dots i{width:7px;height:7px;border-radius:50%;background:#F2EBD8}
.note:hover .note__dots{opacity:1}
.note:hover .note__dots i{animation:note-bounce .9s ease-in-out infinite}
.note:hover .note__dots i:nth-child(2){animation-delay:.12s}
.note:hover .note__dots i:nth-child(3){animation-delay:.24s}
@keyframes note-ping{0%{transform:scale(1);opacity:.8}75%,100%{transform:scale(1.55);opacity:0}}
@keyframes note-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes note-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(max-width:760px){.section--tight:has(.note){padding:4px 0 48px}.note__inner{padding:40px 24px 34px}.note .note__body{font-size:14px}.note:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.note,.note *{animation:none!important;transition:none!important}.note:hover,.note:hover *{transform:none!important}}

/* ---------- v0.27: service lists as one split panel ---------- */
.lists-head{margin-bottom:36px}
.lists-head__eyebrow{margin:0 0 12px;color:var(--section,var(--primary));font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.lists-head h2{margin:0;font:400 clamp(30px,3.6vw,42px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-.02em;text-wrap:balance}
.section--lists .service-lists{gap:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 40px -24px rgba(52,49,36,.25)}
.section--lists .service-list{padding:38px 36px 34px;border:0;border-radius:0;background:transparent}
.section--lists .service-list+.service-list{border-left:1px solid var(--line)}
.section--lists .service-list--accent{background:color-mix(in srgb,var(--section,var(--primary)) 7%,#FBF6E6)}
.section--lists .service-list h3{display:flex;align-items:center;gap:10px;margin:0 0 26px;color:var(--muted);font:600 11px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.section--lists .service-list--accent h3{color:var(--ink)}
.service-list__icon{display:inline-grid;place-items:center;color:var(--muted)}
.service-list--accent .service-list__icon{color:var(--section,var(--primary))}
.service-list__icon .icon{width:17px;height:17px}
.section--lists .service-list li{display:flex;gap:14px;padding:0;margin:0 0 18px;border:0;color:var(--muted);font-size:14.5px;line-height:1.6}
.section--lists .service-list li:last-child{margin-bottom:0}
.section--lists .service-list li::before{content:none}
.section--lists .service-list--accent li{color:var(--ink)}
.service-list__tick{flex:none;width:16px;height:16px;margin-top:4px;color:var(--muted);opacity:.7}
.service-list--accent .service-list__tick{color:var(--section,var(--primary));opacity:1}
@media(max-width:900px){.section--lists .service-lists{grid-template-columns:1fr}.section--lists .service-list+.service-list{border-left:0;border-top:1px solid var(--line)}.section--lists .service-list{padding:30px 24px 28px}.lists-head{margin-bottom:28px}}

/* ---------- v0.28: section nav as underline tabs with a sliding indicator ---------- */
.section-nav{position:sticky;top:86px;z-index:51;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);transition:box-shadow .35s ease,background .35s ease}
.admin-bar .section-nav{top:118px}
.section-nav.is-stuck{background:rgba(255,255,255,.96);box-shadow:0 10px 30px -18px rgba(52,49,36,.35)}
.section-nav .container{position:relative}
.section-nav ul{gap:38px;padding:0;mask-image:none;-webkit-mask-image:none}
.section-nav li{flex:none}
.section-nav a{position:relative;display:block;padding:22px 0 20px;border:0;border-radius:0;background:none;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:color .35s ease}
.section-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;opacity:.35;transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.65,0,.35,1)}
.section-nav a:hover{border:0;color:var(--ink)}
.section-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.section-nav a[aria-current=page]{background:none;border:0;color:var(--ink)}
.section-nav a[aria-current=page]::after{display:none}
.section-nav a:focus-visible{outline:2px solid var(--section,var(--primary));outline-offset:4px;border-radius:2px}
.section-nav__ink{position:absolute;left:0;bottom:-1px;width:0;height:2px;border-radius:2px;background:var(--section,var(--primary));pointer-events:none;opacity:0;transform:translateX(0);transition:transform .55s cubic-bezier(.22,1,.36,1),width .55s cubic-bezier(.22,1,.36,1),opacity .3s ease}
.section-nav.has-ink .section-nav__ink{opacity:1}
.section-nav.has-ink a[aria-current=page]::after{display:none}
.section-nav:not(.has-ink) a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--section,var(--primary))}
@media(max-width:760px){.section-nav{top:72px}.admin-bar .section-nav{top:118px}.section-nav ul{gap:28px;padding:0 0;scroll-padding-inline:24px}.section-nav a{padding:18px 0 16px;font-size:10px}
 .section-nav.is-overflow .container{mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 36px),transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 22px,#000 calc(100% - 36px),transparent)}}
@media(max-width:600px){.admin-bar .section-nav{top:72px}}
@media(prefers-reduced-motion:reduce){.section-nav__ink,.section-nav a::after{transition:none}}
body:has(.site-nav.is-open) .section-nav{z-index:40}

/* ---------- v0.29: contact page ---------- */
.contact-page{padding-bottom:88px;background:#fff}
.contact-page__head{margin-bottom:64px;padding:72px 0 64px;border-bottom:1px solid var(--line);background:var(--soft)}
.contact-page__head .eyebrow{margin:0 0 18px}
.contact-page__head h1{max-width:760px;margin:0;font:400 clamp(40px,5.6vw,68px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.035em;text-wrap:balance}
.contact-page__lead{max-width:540px;margin:22px 0 0;color:var(--muted);font-size:17px;line-height:1.7}
.contact-page__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px;align-items:start}
.contact-page__aside{position:sticky;top:118px;display:grid;gap:40px;padding-top:8px}
.contact-block__title{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--primary);font:600 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.contact-channels{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.contact-channel{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.contact-channel__icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--primary);transition:background .3s,color .3s,border-color .3s}
.contact-channel__icon .icon{width:18px;height:18px}
.contact-channel__text{display:grid;gap:2px;min-width:0}
.contact-channel__text small{color:var(--muted);font-size:11px;letter-spacing:.04em}
.contact-channel__text strong{overflow:hidden;font:400 19px/1.3 Georgia,'Times New Roman',serif;text-overflow:ellipsis;white-space:nowrap}
.contact-channel__go{color:var(--muted);opacity:0;transform:translate(-6px,6px);transition:opacity .3s,transform .3s}
.contact-channel:hover .contact-channel__icon{background:var(--ink);border-color:var(--ink);color:#fff}
.contact-channel:hover .contact-channel__go{opacity:1;transform:none}
.contact-channel:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:4px}
.contact-office{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start}
.contact-office address{padding-top:9px;font:400 17px/1.55 Georgia,'Times New Roman',serif;font-style:normal;color:var(--ink)}
.contact-office__map{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0 56px;padding-bottom:3px;border-bottom:1px solid var(--secondary);color:var(--primary);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:border-color .3s}
.contact-office__map:hover{border-color:var(--primary)}
.contact-block--private{padding:22px 22px 20px;border-radius:16px;background:var(--soft);border:1px solid var(--line)}
.contact-block--private .contact-block__title{margin-bottom:10px;color:var(--ink)}
.contact-block__lock{display:inline-grid;color:var(--primary)}.contact-block__lock .icon{width:15px;height:15px}
.contact-block--private p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.7}
.contact-card{padding:44px 44px 38px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 30px 60px -32px rgba(52,49,36,.3)}
.contact-card__head{margin-bottom:8px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.contact-card__head h2{margin:0 0 6px;font:400 28px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.01em}
.contact-card__head p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.6}
.contact-card .contact-form{gap:18px;margin-top:24px}
.contact-card .contact-form__row{gap:18px}
.contact-card .field textarea{min-height:150px}
.contact-card .contact-form__actions{margin-top:6px;padding-top:22px;border-top:1px solid var(--line)}
.contact-card .contact-form__notice{margin:20px 0 0}
.contact-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:36px 0 0;padding:0 8px;list-style:none;counter-reset:none}
.contact-steps li{display:flex;gap:12px}
.contact-steps span{flex:none;color:var(--primary);font:400 13px/1.6 Georgia,serif;letter-spacing:.04em}
.contact-steps strong{display:block;margin-bottom:2px;font-size:13.5px;font-weight:600;color:var(--ink)}
.contact-steps p{margin:0;color:var(--muted);font-size:12.5px;line-height:1.6}
@media(max-width:960px){.contact-page__grid{grid-template-columns:1fr;gap:44px}.contact-page__aside{position:static;order:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.contact-block--private{grid-column:1/-1}.contact-page__main{order:1}}
@media(max-width:640px){.contact-page{padding-bottom:56px}.contact-page__head{margin-bottom:36px;padding:44px 0 40px}.contact-page__lead{font-size:15px}.contact-page__aside{grid-template-columns:1fr}.contact-card{padding:28px 20px 24px;border-radius:18px}.contact-steps{grid-template-columns:1fr;gap:16px;padding:0}.contact-channel__go{opacity:1;transform:none}}
