/* Homepage only. Legacy styles.css remains isolated to the unchanged CRM. */
:root {
  --ink:#0b101a; --muted:#5e687a; --paper:#f5f6fa; --line:#dbe1ed;
  --blue:#2167dd; --sky:#76b7ff; --violet:#b77bed; --night:#09111e;
  --radius:22px; --ease:cubic-bezier(.2,.75,.25,1);
  font-family:Inter,Arial,sans-serif; color:var(--ink); background:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;font-size:16px;line-height:1.6}
button,input,select,textarea{font:inherit} button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer} a{color:inherit} img{display:block;max-width:100%}
button,a{touch-action:manipulation}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #2876f3;outline-offset:5px}
.dark :focus-visible,.site-header :focus-visible,.hero :focus-visible{outline-color:#9ed0ff}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.12}
h1{font-size:clamp(2.6rem,4.8vw,5rem);letter-spacing:-.05em;font-weight:750;text-wrap:balance}
h2{font-size:clamp(2rem,3.1vw,3.35rem);letter-spacing:-.04em;font-weight:750;text-wrap:balance}
h3{font-size:1.25rem;letter-spacing:-.025em}
.wrap{width:min(80%,1520px);margin-inline:auto}
.section{padding-block:88px}
.section-head{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,6rem);align-items:end;margin-bottom:38px}
.section-head>p,.section-intro{color:var(--muted);max-width:590px}
.section-head h2{max-width:760px}
.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;line-height:1.65;margin-bottom:12px}
.note{font-size:.875rem;color:var(--muted);margin-top:22px;max-width:1000px;line-height:1.6}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,7vw,8rem);align-items:start}
.split h2{margin-bottom:22px}.split .section-intro{margin-bottom:20px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:#fff;padding:12px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.button{display:inline-flex;gap:14px;justify-content:center;align-items:center;text-align:center;min-height:52px;padding:13px 23px;border:1px solid transparent;border-radius:999px;background:var(--blue);color:#fff;font-weight:750;font-size:1rem;line-height:1.35;text-decoration:none;transition:background .2s,box-shadow .2s,transform .2s}
.button:hover{background:#1656c2;box-shadow:0 8px 25px #2167dd35;transform:translateY(-2px)}
.button:disabled{cursor:wait;opacity:.7;transform:none}
.button--small{min-height:44px;padding:10px 18px;font-size:.875rem}
.button--ghost{background:transparent;border-color:#ffffff65}
.button--ghost:hover{background:#ffffff14;box-shadow:none}
.text-action{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-weight:750;color:var(--blue);font-size:.9375rem;line-height:1.4;min-height:44px;padding-block:10px}
.text-action span[aria-hidden]{transition:transform .2s}.text-action:hover span[aria-hidden]{transform:translate(3px,-2px)}
.text-action:hover{text-decoration:underline;text-underline-offset:5px}
.number{color:var(--blue);font-size:.8125rem;letter-spacing:.06em;font-weight:800}
.dark{color:#f8faff;background:var(--night)}
.dark .eyebrow,.dark .number,.dark .text-action{color:var(--sky)}
.dark .section-head>p,.dark .note{color:#b7c4d7}
.short-list{margin:22px 0;padding:0;list-style:none;font-size:.9375rem;line-height:1.55}
.short-list li{position:relative;padding-left:15px;margin:7px 0}
.short-list li:before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:var(--violet)}
.site-header{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;gap:24px;min-height:100px;padding:20px 5%;color:#fff}
.brand{display:flex;gap:11px;align-items:center;text-decoration:none;flex-shrink:0}
.brand img{width:44px;height:44px;object-fit:contain}
.brand>span{font-weight:800;font-size:1.1rem;line-height:1.3;letter-spacing:.09em}
.brand small{display:block;font-size:.65rem;font-weight:500;letter-spacing:.06em}
.site-header nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.site-header nav a{text-decoration:none;font-size:.875rem;white-space:nowrap}
.site-header nav a:hover{color:#9bccff}
.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;isolation:isolate;background:var(--night);color:#fff}
.hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#070b12ed 0%,#070b12cf 37%,#070b125a 73%,#070b124d 100%)}
.hero__inner{position:relative;padding-block:180px 95px;min-height:780px;display:flex;align-items:center}
.hero__copy{width:63%;max-width:850px;position:relative;z-index:1}
.hero .eyebrow{color:#80baff}
.hero__tagline{font-size:clamp(1.25rem,1.5vw,1.6rem);font-weight:600;margin-top:25px;line-height:1.4}
.hero__lead{color:#d0d8e4;max-width:650px;margin-top:16px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero__facts{display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;list-style:none;margin:25px 0 0;font-size:.8125rem;color:#cbd6e7}
.hero__facts li:before{content:"✦";color:var(--violet);margin-right:7px}
.hero__mark{position:absolute;right:-3%;bottom:8%;width:30%;height:auto;opacity:.48;pointer-events:none}
.objects{background:var(--paper)}
.object-grid,.format-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.object-card{border-radius:var(--radius);background:#fff;overflow:hidden;display:flex;flex-direction:column;border:1px solid transparent;transition:box-shadow .25s,transform .25s,border-color .25s}
.object-card__image{position:relative;overflow:hidden}
.object-card__image img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;transition:transform .6s var(--ease)}
.image-number{position:absolute;top:13px;right:15px;color:#fff;text-shadow:0 1px 5px #000;font-size:.8rem;font-weight:800}
.object-card__body{display:flex;flex-direction:column;flex:1;padding:23px}
.object-card__body>p{color:var(--muted);margin-top:12px}
.object-card .text-action{margin-top:auto}
.object-card .short-list{color:var(--muted)}
.object-card:hover,.object-card:focus-within{transform:translateY(-4px);box-shadow:0 16px 35px #16417813;border-color:#619bfd}
.object-card:hover img{transform:scale(1.035)}
.format-card{display:flex;flex-direction:column;padding:25px;border:1px solid #ffffff29;border-radius:var(--radius);background:#ffffff03;transition:border-color .25s,transform .25s,box-shadow .25s}
.format-card__top{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin-bottom:25px;gap:8px}
.tag{font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border:1px solid #ffffff45;border-radius:20px}
.format-card h3{min-height:2.4em}
.format-card__purpose{font-size:.9375rem;color:#d4dfef;min-height:3.3em;margin-top:12px}
.price{margin-block:24px;line-height:1.3;white-space:nowrap}
.price>span{font-size:.85rem;color:#b6c7df}
.price strong{font-size:clamp(1.5rem,2vw,2.15rem);letter-spacing:-.04em}
.price b{font-size:1rem;font-weight:500}
.price small{display:block;font-size:.8125rem;color:#bfcee2;margin-top:5px;white-space:normal}
.format-card__description{color:#c2cee0;margin-bottom:24px}
.format-card .text-action{margin-top:auto}
.format-card--complete{background:linear-gradient(145deg,#20345c,#514075);border-color:#8183be}
.format-card:hover,.format-card:focus-within{transform:translateY(-4px);border-color:#82b9ff;box-shadow:0 12px 35px #0003}
.journey-list{padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:start}
.journey-card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:border-color .25s,box-shadow .25s}
.step-number{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(130deg,#4a98ff,#b778ed);color:#fff;font-size:.8rem;font-weight:800;margin-bottom:18px}
.journey-card h3{font-size:1.0625rem;min-height:2.3em}
.journey-card__intro{font-size:.9375rem;color:var(--muted);margin-block:12px 18px;min-height:4.8em}
.journey-card>img{width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;object-position:50% 22%;border-radius:13px}
.journey-card:has(details[open]),.journey-card:hover,.journey-card:focus-within{border-color:#a18be1;box-shadow:0 14px 32px #272a6510}
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
.journey-card summary{font-size:.875rem;font-weight:700;color:var(--blue);padding-top:14px;min-height:44px}
.journey-card summary:after{content:"+";float:right}
.journey-card details[open] summary:after{content:"−"}
.journey-card details p{font-size:.875rem;color:var(--muted);padding-top:10px}
.specialists{background:#e9ecf3}
.specialist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.specialist-card{position:relative;padding:24px;min-height:410px;background:#fff;border:1px solid #fff;border-radius:var(--radius);display:flex;flex-direction:column;transition:box-shadow .3s,border-color .3s}
.specialist-card>.number{margin-bottom:106px}
.specialist-card__copy{position:relative;transition:padding-right .5s var(--ease),transform .5s var(--ease);margin-bottom:16px}
.specialist-card__copy p{color:var(--muted);font-size:.9375rem;margin-top:13px}
.specialist-card>.text-action{margin-top:auto;position:relative;z-index:1}
.portrait{position:absolute;right:20px;top:20px;width:100px;height:108px;border:0;border-radius:14px;overflow:hidden;background:#172334;padding:0;transition:width .5s var(--ease),height .5s var(--ease)}
.portrait__image{display:block;position:absolute;inset:0;background-image:var(--portrait);background-repeat:no-repeat;background-size:auto 280px;background-position:84% 0}
.specialist-card--4 .portrait__image{background-position:77% 0}
.specialist-card--2 .portrait__image{background-size:auto 470px;background-position:82% -96px}
.portrait__hint{position:absolute;bottom:5px;right:5px;background:#10213bcc;color:#fff;border-radius:50%;height:23px;width:23px;font-size:16px;line-height:23px}
.specialist-card.is-open{border-color:#86a8e0;box-shadow:0 12px 30px #273e6410}
.specialist-card.is-open .portrait{width:124px;height:280px}
.specialist-card.is-open .specialist-card__copy{padding-right:122px;transform:translateY(-38px)}
.specialist-card.is-open>.text-action{background:#fff}
.realty{background:radial-gradient(ellipse at top right,#192d4d 0,transparent 65%),#09121f}
.realty-head{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6%}
.realty-head__copy>p:last-child{color:#c0cedf;margin-top:24px}
.realty-head .eyebrow{max-width:540px;font-size:.7rem}
.plusagent-brand{display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border-radius:13px;background:#ffffff06;border:1px solid #ffffff29;margin-bottom:22px;text-decoration:none;color:var(--sky)}
.plusagent-brand img{width:190px;height:auto}
.market-frame{border:1px solid #6085ad58;border-radius:var(--radius);overflow:hidden;background:#091422}
.market-frame__screen{width:100%;height:auto;opacity:.68;transition:opacity .3s}
.market-frame a:hover .market-frame__screen{opacity:.95}
.market-frame figcaption{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:14px}
.market-frame strong{display:block;font-size:1rem}
.market-frame small{display:block;font-size:.75rem;color:#a7bbd2;margin-top:6px}
.market-frame figcaption>img{width:82px;height:82px;object-fit:contain;flex-shrink:0}
.market-frame .eyebrow{margin-bottom:4px;display:block}
.realty-principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;margin:38px 0 24px;gap:14px}
.realty-principles li{padding:20px;border:1px solid #ffffff25;border-radius:16px;background:#ffffff03}
.realty-principles h3{font-size:1rem;margin-top:14px}
.realty-principles p{color:#b8c7da;font-size:.875rem;margin-top:9px}
.realty-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.realty-goals article{display:flex;flex-direction:column;padding:25px;border:1px solid #ffffff25;border-radius:var(--radius);background:#ffffff03}
.realty-goals article>p:not(.eyebrow){color:#c0cddd;margin-top:15px}
.realty-goals .short-list{font-size:.875rem;color:#c0cddd}
.realty-goals .text-action{margin-top:auto}
.expert{display:flex;align-items:center;gap:25px;border-top:1px solid #ffffff25;padding-top:28px;margin-top:32px}
.expert>img{width:112px;height:132px;object-fit:cover;object-position:50% 18%;border-radius:16px}
.expert p:not(.eyebrow){color:#b7c8df;font-size:.875rem;margin-top:8px}
.expert .eyebrow{font-size:.6875rem}
.expert .button{margin-left:auto;max-width:340px}
.agreement-list article{display:flex;align-items:baseline;gap:24px;padding:22px 0;border-top:1px solid var(--line)}
.agreement-list article:last-child{border-bottom:1px solid var(--line)}
.agreement-list p{color:var(--muted);margin-top:10px}
.agreements .text-action{margin-top:10px}
.case-section{background:var(--paper)}
.case-card{display:grid;grid-template-columns:1fr 1.05fr;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}
.case-gallery{min-width:0;background:#0f1823;display:flex;flex-direction:column}
.case-gallery figure{position:relative;flex:1;min-height:420px}
.case-gallery figure>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.case-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 18px;background:linear-gradient(transparent,#000a);color:#fff;font-size:.75rem}
.case-copy{padding:32px;display:flex;flex-direction:column}
.case-copy h3{font-size:clamp(1.5rem,2vw,2.1rem)}
.case-copy dl{margin:24px 0}
.case-copy dl>div{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:125px 1fr;gap:18px}
.case-copy dt{font-size:.75rem;text-transform:uppercase;font-weight:800;color:#4c6a96;line-height:1.5}
.case-copy dd{margin:0;color:var(--muted);font-size:.9375rem}
.case-copy>.text-action{margin-top:auto;align-self:flex-start}
.gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:12px;scroll-snap-type:x mandatory}
.gallery-thumbnails button{flex:0 0 calc((100% - 20px)/3);padding:0;border:2px solid transparent;background:none;border-radius:8px;overflow:hidden;scroll-snap-align:start}
.gallery-thumbnails button[aria-pressed="true"]{border-color:var(--sky)}
.gallery-thumbnails img{width:100%;aspect-ratio:1.5;object-fit:cover}
.faq-list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{position:relative;padding:21px 30px 21px 0;font-weight:650;line-height:1.4}
.faq summary:after{content:"+";position:absolute;right:0;top:20px;font-size:1.4rem;color:var(--blue);font-weight:400}
.faq details[open] summary:after{content:"−"}
.faq details p{padding:0 30px 23px 0;color:var(--muted)}
.contacts{background:#e9edf5}
.contacts__copy>p:not(.eyebrow){color:var(--muted)}
.contact-actions{display:flex;gap:24px;flex-wrap:wrap;margin-block:18px 28px}
address{font-style:normal;border-top:1px solid #cdd6e5;padding-top:25px}
address a{text-decoration:none}address a:hover{text-decoration:underline}
.contact-address{font-size:1.2rem;font-weight:700}
address dl{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:23px 0}
address dt{color:var(--muted);font-size:.8125rem;margin-bottom:6px}
address dd{margin:0;font-weight:650;white-space:nowrap}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.lead-form{display:grid;gap:17px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.lead-form label{display:block;font-size:.875rem;font-weight:650;line-height:1.45}
.lead-form input,.lead-form select,.lead-form textarea{display:block;width:100%;border:1px solid #becadc;border-radius:9px;background:#fff;color:var(--ink);padding:12px;margin-top:7px;min-height:46px;font-size:1rem}
.lead-form textarea{resize:vertical;min-height:96px}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--blue)}
.required{color:var(--blue)}.optional{color:var(--muted);font-size:.75rem;font-weight:400;margin-left:4px}
.file-label input{font-size:.8125rem;padding:9px;min-height:44px;cursor:pointer}
.file-label input::file-selector-button{border:0;background:#edf3ff;color:#1c55aa;padding:5px 9px;border-radius:4px;margin-right:10px;cursor:pointer}
.file-label small{display:block;color:var(--muted);font-weight:400;font-size:.75rem;margin-top:5px}
.form-note{font-size:.75rem;color:var(--muted)}
.form-note span{display:block;margin-top:4px}
.field-error{color:#a32626;font-size:.8125rem;font-weight:500;display:block}
.field-error:empty{display:none}
.form-message{font-size:.875rem;color:#24543e}
.form-message:empty{display:none}
.form-message.is-error{color:#a32626}
.form-context{border-left:3px solid var(--blue);background:#eff5ff;padding:10px 13px;font-weight:650;font-size:.875rem;color:#234c87}
.footer{padding:28px 0 35px}
.footer>.wrap{display:flex;align-items:center;gap:30px}
.footer>.wrap>span{font-size:.8125rem;color:var(--muted)}
.footer>.wrap>a:last-child{margin-left:auto;color:var(--muted);font-size:.8125rem}
dialog{border:1px solid #dce3ef;border-radius:var(--radius);width:min(570px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:30px;color:var(--ink);background:#fff;box-shadow:0 35px 90px #0005;overflow:auto;overscroll-behavior:contain}
dialog::backdrop{background:#070e1bab;backdrop-filter:blur(4px)}
dialog h2{font-size:2rem;letter-spacing:-.035em;padding-right:26px;margin-bottom:12px}
dialog>p:not(.eyebrow){color:var(--muted);font-size:.9375rem;margin-bottom:20px}
.dialog-close{position:absolute;right:18px;top:14px;width:40px;height:40px;font-size:2rem;background:none;border:0;border-radius:50%;line-height:1}
.dialog-close:hover{background:#eef2f9}
body:has(dialog[open]){overflow:hidden}
.contact-widget{position:fixed;z-index:6;right:20px;bottom:20px}
.contact-widget__toggle{display:flex;gap:10px;align-items:center;border:1px solid #ffffff55;border-radius:50px;background:#101a2a;color:#fff;font-size:.875rem;font-weight:650;padding:13px 19px;box-shadow:0 8px 24px #0b162b28}
.contact-widget__panel{position:absolute;bottom:60px;right:0;min-width:245px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;box-shadow:0 16px 40px #101f3430}
.contact-widget__panel a{display:block;padding:12px;text-decoration:none;color:#124997;font-weight:650}
.contact-widget__panel a:hover{background:#eef4ff;border-radius:8px}
body:has(dialog[open]) .contact-widget,.contact-widget.is-away{visibility:hidden;pointer-events:none}
@media(min-width:1900px){.hero__inner{min-height:850px}.hero__copy{max-width:840px}.specialist-card{min-height:385px}.specialist-card.is-open .portrait{width:140px}.specialist-card.is-open .specialist-card__copy{padding-right:135px}}
@media(max-width:1550px){.wrap{width:86%}.site-header{gap:20px}.site-header nav{gap:18px}.object-card__body,.format-card{padding:21px}.journey-card{padding:16px}.specialist-card{padding:20px}.specialist-card h3{font-size:1.125rem}.specialist-card.is-open .portrait{width:106px}.specialist-card.is-open .specialist-card__copy{padding-right:106px}.portrait{right:16px}.case-copy dl>div{grid-template-columns:1fr;gap:7px}}
@media(max-width:1200px){.wrap{width:90%}.site-header nav{gap:14px}.site-header .brand small{display:none}.site-header nav a{font-size:.8125rem}.site-header{gap:16px;padding-inline:4%}.brand>span{font-size:.9rem}.hero__copy{width:71%}.hero__inner{min-height:730px;padding-top:155px}.hero__mark{width:26%;right:-2%}.object-grid,.format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.object-card__body{padding:25px}.object-card h3,.format-card h3{min-height:0}.format-card__purpose{min-height:0}.format-card__description{max-width:430px}.format-card__top{margin-bottom:16px}.journey-list{grid-template-columns:repeat(3,minmax(0,1fr))}.journey-card__intro{min-height:3.2em}.journey-card h3{min-height:2.3em}.journey-card:nth-child(n+4){margin-top:4px}.specialist-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.specialist-card{min-height:325px;padding:26px}.specialist-card__copy{max-width:360px}.specialist-card>.number{margin-bottom:90px}.specialist-card.is-open .portrait{width:150px;height:260px}.specialist-card.is-open .specialist-card__copy{padding-right:134px;transform:translateY(-30px)}.specialist-card h3{font-size:1.25rem}.expert{flex-wrap:wrap}.expert .button{margin-left:auto}.split{gap:40px}.form-row{grid-template-columns:1fr}.realty-goals article{padding:22px}.price strong{font-size:2rem}.case-copy{padding:25px}}
@media(max-width:980px){.site-header nav{display:none;position:absolute;top:82px;right:4%;width:min(320px,92%);border:1px solid #42506a;background:#0c1728;border-radius:16px;padding:15px;margin:0;box-shadow:0 16px 32px #0004}.site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:12px;font-size:1rem}.header-action{margin-left:auto}.menu-toggle{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid #ffffff65;color:#fff;background:#ffffff0a;border-radius:99px;padding:9px 15px;font-size:.875rem}.hero__inner{min-height:740px}.hero__copy{width:85%}.hero__mark{opacity:.3;width:24%;bottom:12%;right:-3%}.section-head{gap:30px}.section{padding-block:65px}.realty-head{gap:30px}.realty-head h2{font-size:2rem}.realty-principles{grid-template-columns:1fr 1fr}.realty-goals{grid-template-columns:1fr}.realty-goals .short-list{display:flex;flex-wrap:wrap;gap:5px 20px;margin:16px 0}.realty-goals article>p:not(.eyebrow){max-width:650px}.realty-goals h3{max-width:none}.expert .button{max-width:290px}.contacts .split{grid-template-columns:1fr 1fr;gap:30px}address dl{grid-template-columns:1fr}.case-card{grid-template-columns:1fr}.case-gallery figure{min-height:0;aspect-ratio:1.5}.case-copy dl>div{grid-template-columns:130px 1fr}.case-copy{padding:30px}.form-card{padding:23px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.site-header{min-height:84px;padding:16px 18px;gap:10px}.brand img{width:37px;height:37px}.brand>span{font-size:.9rem}.site-header .header-action{display:none}.menu-toggle{margin-left:auto}.hero__inner{padding-block:133px 60px;min-height:0}.hero__copy{width:100%}.hero__photo{object-position:65% 50%}.hero:after{background:linear-gradient(90deg,#080d17de,#080d17a6)}.hero__mark{display:none}.hero h1{font-size:clamp(2.3rem,8.2vw,3.4rem);line-height:1.07}.hero .eyebrow{font-size:.6875rem;max-width:270px}.hero__tagline{font-size:1.25rem;margin-top:20px}.hero__lead{margin-top:16px;font-size:.9375rem}.hero__facts{font-size:.75rem;gap:8px 15px}.actions{flex-direction:column;align-items:stretch;margin-top:25px}.button{padding:13px 19px}.section{padding-block:52px}.section-head,.split,.contacts .split{grid-template-columns:1fr;gap:20px}.section-head{margin-bottom:28px}.section-head>p{font-size:1rem}h2{font-size:2rem;line-height:1.1}.object-grid,.format-grid,.specialist-grid{grid-template-columns:1fr;gap:18px}.object-card__image img{aspect-ratio:1.8}.object-card__body{padding:23px}.short-list{margin:16px 0}.object-card .text-action{align-self:flex-start}.format-card{padding:24px}.format-card__top{margin-bottom:16px}.format-card h3{font-size:1.4rem}.price{margin-block:19px}.format-card__description{margin-bottom:18px}.format-card__purpose{margin-top:9px}.journey-list{grid-template-columns:1fr;gap:14px}.journey-card{position:relative;padding:20px 145px 18px 20px;min-height:185px}.step-number{width:34px;height:34px;margin-bottom:12px}.journey-card h3{min-height:0}.journey-card__intro{min-height:0;margin:10px 0 3px;font-size:.875rem}.journey-card>img{position:absolute;right:14px;top:20px;width:112px;height:140px;aspect-ratio:auto;object-fit:cover;object-position:50% 15%}.journey-card details p{font-size:.875rem}.journey-card:has(details[open]){padding-bottom:20px}.journey-card:nth-child(n+4){margin-top:0}.specialist-card{min-height:340px;padding:24px}.specialist-card>.number{margin-bottom:98px}.specialist-card.is-open .portrait{width:135px;height:270px}.specialist-card.is-open .specialist-card__copy{padding-right:129px;transform:translateY(-40px)}.specialist-card__copy{max-width:none}.specialist-card h3{font-size:1.2rem}.portrait{right:18px;top:20px}.realty-head{grid-template-columns:1fr;gap:28px}.realty-head h2{font-size:2.2rem}.plusagent-brand{margin-bottom:20px}.market-frame figcaption{padding:16px}.market-frame figcaption>img{width:62px;height:62px}.market-frame strong{font-size:.9375rem}.realty-principles{margin-top:25px;gap:12px}.realty-principles li{padding:17px}.realty-principles h3{font-size:.9375rem}.realty-principles p{font-size:.8125rem}.realty-goals article{padding:23px}.realty-goals .short-list{display:block}.expert{gap:17px}.expert>img{width:86px;height:112px}.expert>div{flex:1}.expert h3{font-size:1.15rem}.expert .button{max-width:none;width:100%;margin:4px 0 0}.expert .eyebrow{font-size:.625rem}.agreement-list article{padding-block:20px;gap:18px}.agreement-list h3{font-size:1.2rem}.case-copy{padding:24px}.case-copy h3{font-size:1.55rem}.case-copy dl>div{grid-template-columns:1fr;gap:7px}.case-gallery figure{aspect-ratio:1.15}.case-gallery figcaption{font-size:.6875rem;padding-inline:15px}.case-copy .text-action{font-size:.9375rem}.faq summary{font-size:.9375rem}.contacts .split{gap:32px}.contacts .contact-actions{gap:24px;margin-bottom:18px}address dl{grid-template-columns:1fr 1fr;gap:12px}address dd{font-size:.9375rem}.form-card{padding:23px}.form-row{grid-template-columns:1fr}.footer>.wrap{flex-wrap:wrap;gap:18px}.footer .brand{flex-basis:100%}.contact-widget{right:12px;bottom:12px}.contact-widget__toggle{padding:11px 16px;font-size:.8125rem}dialog{padding:25px 20px;max-height:calc(100dvh - 24px)}dialog h2{font-size:1.7rem}.dialog-close{right:12px;top:12px}.note{font-size:.8125rem}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.journey-card{padding-right:119px}.journey-card>img{width:91px}.specialist-card{padding:20px}.specialist-card.is-open .portrait{width:111px}.specialist-card.is-open .specialist-card__copy{padding-right:110px}.realty-principles{grid-template-columns:1fr}address dl{grid-template-columns:1fr}}
@media(max-width:980px){.hero__mark{display:none}}
@media(max-width:700px){.journey-card details p{width:calc(100% + 125px)}}
@media(max-width:360px){.journey-card details p{width:calc(100% + 99px)}}
/* Reserve an actual gutter: card padding must not consume the portrait clearance. */
.specialist-card{--reveal-width:124px;--portrait-right:20px;--card-inset:24px}
.specialist-card__copy{overflow-wrap:anywhere}
.specialist-card.is-open .portrait{width:var(--reveal-width)}
.specialist-card.is-open .specialist-card__copy{padding-right:calc(var(--reveal-width) + var(--portrait-right) - var(--card-inset) + 16px)}
.specialist-card.is-open .specialist-card__copy h3{hyphens:auto}
@media(min-width:1900px){.specialist-card{--reveal-width:140px}}
@media(max-width:1550px){.specialist-card{--reveal-width:106px;--portrait-right:16px;--card-inset:20px}}
@media(min-width:1201px) and (max-width:1550px){.specialist-card.is-open .specialist-card__copy h3{font-size:1rem;line-height:1.25}}
@media(max-width:1200px){.specialist-card{--reveal-width:150px;--card-inset:26px}}
@media(max-width:980px){.specialist-card{--reveal-width:124px}}
@media(max-width:700px){.specialist-card{--reveal-width:135px;--portrait-right:18px;--card-inset:24px}}
@media(max-width:360px){.specialist-card{--reveal-width:111px;--card-inset:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover,.object-card:hover,.format-card:hover{transform:none}}

/* Compact service cards and progressively disclosed service details. */
.format-card .price{white-space:normal;min-height:5.3em}.format-card .price--individual strong{font-size:clamp(1.15rem,1.5vw,1.55rem);letter-spacing:-.025em}
.format-card__list{padding-left:19px;color:#d4dfef;margin:0 0 26px;line-height:1.6}.format-card__list li+li{margin-top:7px}.format-card__list li::marker{color:#9cc6ff}
.format-card__actions{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.format-more{font:inherit;font-size:.875rem;color:#c5d7f2;background:none;border:0;border-bottom:1px solid #c5d7f260;padding:8px 0;text-align:left;cursor:pointer}.format-more:hover{color:#fff}
.format-dialog{width:min(690px,calc(100% - 28px))}.format-dialog h3{font-size:1.1rem;margin:24px 0 12px}.format-dialog ul,.format-dialog ol{padding-left:22px;margin:14px 0 20px}.format-dialog li+li{margin-top:10px}.format-dialog>.button{margin-top:12px;white-space:normal;text-align:center}.format-dialog__close{position:absolute;right:18px;top:14px;width:40px;height:40px;font-size:2rem;background:none;border:0;border-radius:50%;line-height:1;cursor:pointer}.format-dialog__close:hover{background:#eef2f9}

@media(max-width:700px){.format-card .price{min-height:0}.format-card .price--individual strong{font-size:1.5rem}.format-dialog__close{right:12px;top:12px}}

/* Four vertical repair packages inside the existing service dialog. */
.format-dialog--repair{width:min(1320px,calc(100% - 32px));padding:32px}
.repair-packages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch;margin-top:24px}
.repair-package{display:flex;flex-direction:column;min-width:0;padding:22px 18px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.repair-package--recommended{border:2px solid var(--blue);padding:21px 17px;background:linear-gradient(155deg,#edf4ff,#f5f1fb)}
.repair-package__badge{min-height:30px;margin-bottom:12px}.repair-package__badge span{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--blue);color:#fff;font-size:.75rem;font-weight:600;line-height:1.5}
.format-dialog .repair-package h3{font-size:1.4rem;margin:0 0 12px}.repair-package--recommended h3{color:var(--blue)}
.repair-package__purpose{min-height:3.2em;font-size:.875rem;line-height:1.55;color:var(--muted)}
.repair-package__price{padding:18px 0;margin:0 0 18px;border-bottom:1px solid var(--line);white-space:nowrap;line-height:1.3}
.repair-package__price strong{font-size:clamp(1.55rem,2.1vw,2rem);letter-spacing:-.035em;color:var(--ink)}.repair-package__price span{font-size:.8125rem;color:var(--muted)}
.format-dialog .repair-package ul{font-size:.875rem;line-height:1.6;padding-left:18px;margin:0 0 22px}.repair-package li::marker{color:var(--blue)}
.repair-package__note{font-size:.8125rem;line-height:1.55;color:var(--muted);margin-top:auto;padding-bottom:20px}
.repair-package .button{font-size:.8125rem;padding:12px 10px;width:100%;white-space:normal;text-align:center;min-height:46px}.repair-package .button--outline{border:1px solid #a6bce0;background:#fff;color:#16468c;box-shadow:none}.repair-package .button--outline:hover{background:#eaf1fc}
@media(max-width:1100px){.repair-packages{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-package__price strong{font-size:2rem}}
@media(max-width:700px){.format-dialog--repair{padding:25px 20px;width:calc(100% - 28px)}.repair-packages{grid-template-columns:minmax(0,1fr);gap:18px}.repair-package{padding:20px}.repair-package--recommended{padding:19px}.repair-package__purpose{min-height:0}.repair-package:not(.repair-package--recommended) .repair-package__badge{display:none}.repair-package__note{margin-top:0}}

/* Short comparison plus a complete, grouped package description. */
.repair-packages{align-items:start}.repair-package__summary{min-height:12.8em}.repair-package__details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 16px}
.repair-package__details summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 0;color:#16468c;font-size:.8125rem;font-weight:600;line-height:1.4}
.repair-package__details summary:after{content:'+';margin-left:auto;font-size:1.2rem}.repair-package__details[open] summary:after{content:'−'}
.details-close-label{display:none}.repair-package__details[open] .details-open-label{display:none}.repair-package__details[open] .details-close-label{display:inline}
.repair-package__full section{padding:14px 0;border-top:1px solid var(--line)}.repair-package__full h4{font-size:.875rem;line-height:1.35;margin:0 0 10px;color:var(--ink)}.format-dialog .repair-package__full ul{margin:0;font-size:.8125rem}.repair-package__full li+li{margin-top:7px}
.repair-package__note{min-height:7.8em;margin-top:0}.repair-package:has(.repair-package__details[open]) .repair-package__summary{display:none}
@media(max-width:700px){.repair-package__summary,.repair-package__note{min-height:0}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.contact-schedule{margin:24px 0;color:var(--muted)}.contact-schedule strong{color:var(--ink)}.contact-geography{margin:24px 0}.contact-geography h3{font-size:1.15rem;margin-bottom:10px}.contact-geography p{color:var(--muted)}.turnkey-cost{margin:18px 0 24px}.turnkey-cost>div{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.turnkey-cost dd{margin:0;text-align:right;font-weight:600}.turnkey-cost__total{color:#16468c;font-weight:700}@media(max-width:450px){.turnkey-cost>div{grid-template-columns:1fr;gap:5px}.turnkey-cost dd{text-align:left}}


/* One reader: photo, meaning, then navigation. No text hidden below the controls. */
#case-preview{background:#fff}
#case-preview .section-head{align-items:end;gap:32px;margin-bottom:24px}
#case-preview .section-head h2{font-size:clamp(1.8rem,3.1vw,3rem);line-height:1.1;letter-spacing:-.035em}
#case-preview .section-head>p{font-size:1rem;line-height:1.6;max-width:440px}
.case-room-nav{position:relative;display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:3px 2px 12px;margin-bottom:12px;scrollbar-width:thin;scrollbar-color:#ccd3df transparent;overscroll-behavior-x:contain}
.case-room-nav button{flex:none;white-space:nowrap;min-height:44px;padding:10px 17px;border:1px solid var(--line);border-radius:99px;background:#fff;font:inherit;font-size:.8125rem;color:var(--ink);cursor:pointer}
.case-room-nav button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}
.case-room-nav button:focus-visible,.case-navigation button:focus-visible,.case-details summary:focus-visible{outline:3px solid #3273d6;outline-offset:2px}
#case-preview .case-card,#case-preview .case-card.is-portrait{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:minmax(0,1fr) 64px;grid-template-areas:'photo copy' 'navigation navigation';height:min(620px,calc(100svh - 120px));min-height:430px;gap:0;align-items:stretch;border:1px solid #dce1e9;border-radius:18px;background:#fff;overflow:hidden;scroll-margin-top:100px}
#case-preview .case-gallery{grid-area:photo;position:relative;display:block;background:#eeede9;min-width:0;min-height:0;width:100%;height:100%}
#case-preview .case-gallery figure,#case-preview .case-card.is-portrait .case-gallery figure{position:relative;margin:0;width:100%;max-width:100%;height:100%;min-height:0;aspect-ratio:auto;flex:none;background:#eeede9;border-radius:0;overflow:hidden}
#case-preview .case-gallery figure>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:scaleX(-1);padding:0}
.case-photo-hit{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:zoom-in;touch-action:pan-y}
.case-photo-hit:focus-visible{outline:3px solid var(--blue);outline-offset:-4px}
.case-zoom-hint{position:absolute;right:12px;bottom:12px;pointer-events:none;border-radius:99px;background:#fffffff0;color:var(--ink);padding:9px 13px;font-size:.75rem;box-shadow:0 2px 10px #0001}
#case-preview .case-copy{grid-area:copy;min-width:0;min-height:0;padding:32px;display:flex;flex-direction:column;justify-content:center;background:#fff}
.case-slide-panels{display:block;min-width:0}
.case-slide-copy[hidden],[data-case-details][hidden]{display:none!important}
#case-preview .case-slide-copy h3{font-size:clamp(1.5rem,2.2vw,2.15rem);font-weight:600;line-height:1.2;letter-spacing:-.025em;margin:0 0 16px}
.case-summary{font-size:1.0625rem;line-height:1.6;color:#424c5b;margin:0}
.case-navigation{grid-area:navigation;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:14px;padding:8px 18px;min-width:0;border-top:1px solid #e3e6ec;background:#fff}
#case-caption{position:static;min-width:0;margin:0;text-align:center;color:#526075;font-size:.8125rem;line-height:1.35;font-variant-numeric:tabular-nums}
.case-navigation button,.case-photo-controls button{flex:none;width:46px;height:46px;border:1px solid #c7cfdb;border-radius:50%;background:#fff;color:var(--ink);font-size:1.35rem;cursor:pointer}
.case-navigation button:hover,.case-photo-controls button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.case-support{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-top:20px}
.case-details-panels{flex:1;min-width:0;max-width:680px}
.case-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-details summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;font-size:.875rem;font-weight:600;cursor:pointer;list-style:none}
.case-details summary::-webkit-details-marker{display:none}
.case-details summary span{font-size:1.25rem;font-weight:400;transition:transform .2s}
.case-details[open] summary span{transform:rotate(45deg)}
#case-preview .case-details dl{margin:10px 0 0}
#case-preview .case-details dl>div{display:block;border:0;padding:0 0 16px}
#case-preview .case-details dt{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#5e687a;margin-bottom:5px}
#case-preview .case-details dd{margin:0;font-size:.9375rem;line-height:1.6;color:#424c5b}
#case-preview .case-cta{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:20px;border:0;border-radius:99px;background:#143969;color:white;padding:14px 22px;min-height:48px;font-size:.9rem;text-decoration:none}
.case-credits{margin-top:22px;max-width:780px;font-size:.7rem;line-height:1.6;color:var(--muted)}
#case-photo-dialog{width:min(1000px,calc(100% - 24px));height:min(960px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);padding:16px;background:#fff;overflow:auto}
#case-photo-dialog[open]{display:grid;grid-template-rows:auto minmax(100px,1fr) auto 48px;gap:12px}
.case-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
#case-photo-dialog h2{font-size:1rem;line-height:1.3;margin:0;padding:0}
.case-photo-close{position:static;flex:none;width:44px;height:44px;font-size:2rem;background:#fff;border:0;border-radius:50%;cursor:pointer}
#case-large-image{display:block;min-height:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:scaleX(-1);background:#eeede9}
.case-dialog-copy h3{font-size:1.25rem;line-height:1.25;margin:0 0 7px;letter-spacing:-.02em}
.case-dialog-copy p{font-size:1rem;line-height:1.45;margin:0;color:#424c5b}
.case-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0}
.case-photo-controls p{margin:0;text-align:center;font-size:.8rem}
@media(max-width:1023px){
 #case-preview .section-head{grid-template-columns:1fr;gap:14px}
 #case-preview .section-head>p{max-width:620px}
 #case-preview .case-card,#case-preview .case-card.is-portrait{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,1fr) auto 58px;grid-template-areas:'photo' 'copy' 'navigation';height:min(680px,calc(100svh - 110px));min-height:400px;border-radius:14px}
 #case-preview .case-copy{padding:18px 22px}
 #case-preview .case-slide-copy h3{font-size:1.5rem;line-height:1.2;margin:0 0 8px;min-height:2.4em}
 .case-summary{font-size:1rem;line-height:1.45;min-height:4.35em}
 .case-navigation{padding:6px 16px;grid-template-columns:44px minmax(0,1fr) 44px}
 .case-navigation button{width:44px;height:44px}
}
@media(max-width:600px){
 #case-preview .section-head{margin-bottom:20px;gap:12px}
 #case-preview .section-head>p{font-size:.9375rem}
 .case-room-nav{margin-bottom:6px;gap:7px}
 .case-room-nav button{padding:10px 15px}
 #case-preview .case-copy{padding:14px 16px}
 #case-preview .case-slide-copy h3{font-size:1.3125rem;min-height:2.4em}
 .case-summary{font-size:1rem;line-height:1.45;min-height:4.35em}
 #case-caption{font-size:.75rem}
 .case-support{display:flex;flex-direction:column;gap:18px;margin-top:18px}
 .case-details-panels,#case-preview .case-cta{width:100%;max-width:none}
 .case-credits{padding-bottom:38px;margin-top:20px}
 #case-photo-dialog{padding:12px}
 #case-photo-dialog[open]{gap:10px}
 .case-dialog-copy h3{font-size:1.15rem}
 .case-dialog-copy p{font-size:.9375rem}
}
@media(max-width:360px){.case-summary{min-height:5.8em}}
@media(max-width:1023px) and (max-height:500px) and (orientation:landscape){
 #case-preview .case-card,#case-preview .case-card.is-portrait{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr) 54px;grid-template-areas:'photo copy' 'navigation navigation';height:calc(100svh - 100px);min-height:250px}
 #case-preview .case-copy{padding:12px 18px}
 #case-preview .case-slide-copy h3{font-size:1.125rem;min-height:0}
 .case-summary{font-size:.9375rem;min-height:0}
 #case-photo-dialog[open]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:44px minmax(0,1fr) 46px}
 .case-dialog-heading{grid-column:1/-1}#case-large-image{grid-row:2/4}.case-dialog-copy{align-self:center}.case-photo-controls{grid-column:2}
}

.case-mobile{display:none}
@media(max-width:1023px){
 #case-preview .case-card,#case-preview .case-card.is-portrait{display:none}
 .case-mobile{display:block;min-width:0;scroll-margin-top:100px}
 .case-mobile-hint{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;font-size:.75rem;line-height:1.4;color:#526075}
 .case-mobile-hint>span:last-child{white-space:nowrap;color:#143969;font-weight:600}
 .case-mobile-rail{position:relative;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;border-radius:14px;outline-offset:4px}
 .case-mobile-rail::-webkit-scrollbar{display:none}
 .case-mobile-rail:after{content:'';flex:0 0 24px}
 .case-mobile-slide{flex:0 0 calc(100% - 36px);height:min(650px,calc(100svh - 188px));min-height:380px;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;border:1px solid #d6deea;border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
 .case-mobile-picture{position:relative;flex:1;min-height:0;background:#eeede9}
 .case-mobile-picture>img{display:block;width:100%;height:100%;object-fit:contain;transform:scaleX(-1);user-select:none}
 .case-mobile-zoom{position:absolute;right:10px;top:10px;border:0;border-radius:99px;background:#fffffff0;min-height:44px;padding:10px 13px;color:#15243c;font:inherit;font-size:.75rem;cursor:pointer}
 .case-mobile-slide footer{flex:none;min-height:76px;display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:space-between;gap:0 10px;padding:8px 14px;border-top:1px solid #dce3ed;background:#fff}
 .case-mobile-slide footer>span{font-size:.8125rem;color:#526075}
 .case-mobile-slide footer button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;border:0;background:transparent;padding:4px 0;font:inherit;font-size:.875rem;font-weight:600;text-align:left;color:#143969;cursor:pointer}
 .case-mobile-slide footer button>span{font-size:1.4rem}
 .case-mobile-text{background:#edf3fa}
 .case-mobile-text>header{position:relative;flex:1;align-self:flex-start;width:calc(50% - 12px);min-height:45px;margin:12px 12px 0;padding:0;overflow:hidden;border-radius:10px;background:#e7e8e6}
 .case-mobile-text>header img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scaleX(-1);border-radius:0}
 .case-mobile-text>header>div{position:absolute;left:8px;top:8px;max-width:calc(100% - 16px);padding:7px 10px;border-radius:99px;background:#fffffff0}
 .case-mobile-text>header span{display:block;font-size:.75rem;font-weight:600;color:#15243c}
 .case-mobile-text>header small{display:none}
 .case-mobile-meaning{flex:none;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:18px;max-width:570px}
 #case-preview .case-mobile-meaning h3{font-size:clamp(1.3rem,3.2vw,2rem);line-height:1.18;letter-spacing:-.025em;margin:0 0 14px;color:#15243c}
 .case-mobile-meaning>.eyebrow{font-size:.625rem;letter-spacing:.09em;margin:0 0 10px}
 .case-mobile-meaning>p:last-child{font-size:clamp(1rem,2vw,1.2rem);line-height:1.5;margin:0;color:#424c5b}
 .case-mobile-text:after{content:'';flex:1;min-height:0}
 .case-mobile-text footer{order:1;background:transparent;border-top-color:#d6deea;min-height:62px}
 .case-mobile-text footer button{width:100%}
 .case-mobile-controls{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:14px;margin-top:10px}
 .case-mobile-controls>button{width:44px;height:44px;border:1px solid #c7cfdb;border-radius:50%;background:white;color:#143969;font-size:1.35rem;cursor:pointer}
 .case-mobile-controls>button:disabled{opacity:.3;cursor:default}
 .case-mobile-pair{display:flex;gap:4px;justify-content:center}
 .case-mobile-pair button{min-height:44px;padding:9px 12px;border:0;border-radius:99px;background:#f0f3f7;color:#526075;font:inherit;font-size:.8125rem;cursor:pointer}
 .case-mobile-pair button[aria-pressed=true]{background:#143969;color:white}
 .case-mobile button:focus-visible,.case-mobile-rail:focus-visible{outline:3px solid #3273d6;outline-offset:2px}
 .case-mobile-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .case-mobile-rail.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
 .case-mobile-rail.is-dragging button{pointer-events:none}
}
@media(max-width:360px){
 .case-mobile-hint{font-size:.6875rem;gap:6px}
 .case-mobile-text>header{margin:10px 10px 0}
 .case-mobile-meaning{padding:14px}
 #case-preview .case-mobile-meaning h3{font-size:1.25rem;margin-bottom:10px}
 .case-mobile-meaning>p:last-child{line-height:1.4}
 .case-mobile-meaning>.eyebrow{margin-bottom:8px}
 .case-mobile-pair button{padding:9px 10px}
}
@media(max-width:1023px) and (max-height:500px) and (orientation:landscape){
 .case-mobile-slide{height:270px;min-height:270px}
 .case-mobile-text{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-rows:1fr 62px}
 .case-mobile-text>header{grid-column:1;grid-row:1;justify-self:start;align-self:start;width:calc(50% - 6px);height:calc(50% - 12px);margin:12px 0 0 12px}
 .case-mobile-text:after{display:none}
 .case-mobile-meaning{grid-column:2;grid-row:1;padding:16px}
 .case-mobile-text footer{grid-column:1/-1}
 #case-preview .case-mobile-meaning h3{font-size:1.4rem}
 .case-mobile-meaning>p:last-child{font-size:1rem}
}


/* Match Alexander's face scale to neighbouring specialist portraits. */
.specialist-card--4 .portrait__image{background-size:auto 390px;background-position:50% -51px}

/* Align staff by facial landmarks, not by the different source canvas sizes.
   Approximate shared face height: 64px; eye line: 46px from portrait top.
   Scale stays fixed on reveal; horizontal offsets preserve the face centre. */
.specialist-card--1{--team-photo-height:270px;--team-photo-x:-110px;--team-photo-y:0px}
.specialist-card--2{--team-photo-height:569px;--team-photo-x:-90px;--team-photo-y:-125px}
.specialist-card--3{--team-photo-height:284px;--team-photo-x:-97px;--team-photo-y:0px}
.specialist-card--4{--team-photo-height:413px;--team-photo-x:9px;--team-photo-y:-57px}
.specialist-card .portrait__image{background-size:auto var(--team-photo-height);background-position:calc(50% + var(--team-photo-x)) var(--team-photo-y)}
/* Irina: preserve the shared team face scale and eye line. */
.specialist-card--2{--team-photo-height:300px;--team-photo-x:-17px;--team-photo-y:-6px}
.specialist-card__copy .specialist-name{font-size:.9375rem;font-weight:600;color:var(--ink);margin-top:8px;line-height:1.4}

/* Anastasia uses the original designer portrait, identified by the user. */
.specialist-card--1{--team-photo-height:569px;--team-photo-x:-90px;--team-photo-y:-125px}

/* Additional architect, using the same facial scale and eye-line as the team. */
.specialist-card--5{--team-photo-height:328px;--team-photo-x:-2px;--team-photo-y:-15px}
.specialist-card--5 h3{overflow-wrap:normal;hyphens:auto}
@media(min-width:1201px){.specialist-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}.specialist-grid>.specialist-card{flex:0 0 calc((100% - 36px)/3);min-width:0}}
@media(min-width:1900px){.specialist-grid>.specialist-card{flex-basis:calc((100% - 72px)/5)}}

/* Six specialists: balanced rows of three on desktop, two/tablet, one/mobile. */
.specialist-card--6{--team-photo-height:400px;--team-photo-x:3px;--team-photo-y:-24px}
.specialist-card--6 h3{overflow-wrap:normal;hyphens:auto}
@media(min-width:1201px){.specialist-grid>.specialist-card{flex-basis:calc((100% - 36px)/3)}}

/* User-selected Dmitry portrait: match face scale and eye line. */
.specialist-card--5{--team-photo-height:390px;--team-photo-x:-2px;--team-photo-y:-27px}
