/* Approved SA LP. CSS order is intentional; use only on this template. */
:root{
--ink:#152c3d;
--blue:#006dae;
--deep:#063d61;
--pale:#edf5f9;
--line:#cbdbe3;
--muted:#4e6573;
--orange:#b64b12;
--paper:#fff;
--radius:4px}
*{
box-sizing:border-box}
html{
scroll-behavior:smooth;
scroll-padding-top:108px;
scroll-padding-bottom:132px}
body{
margin:0;
color:var(--ink);
background:var(--paper);
font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
font-size:18px;
line-height:1.9;
letter-spacing:.015em}
h1,h2,h3,p,figure{
margin:0}
h1,h2,h3{
font-weight:800;
line-height:1.45;
letter-spacing:.015em}
h2{
font-size:clamp(30px,3.35vw,46px);
letter-spacing:.025em}
h3{
font-size:25px}
a{
color:inherit;
text-decoration:none}
button,input,select,textarea{
font:inherit}
button,a,input,select,textarea,summary{
-webkit-tap-highlight-color:transparent}
button{
cursor:pointer}
img{
max-width:100%;
display:block}
button{
color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{
outline:3px solid #e9a024;
outline-offset:4px}
input:focus-visible,select:focus-visible,textarea:focus-visible{
outline:3px solid #73b7dc;
outline-offset:1px}
.wrap{
width:calc(100% - 80px);
max-width:1200px;
margin-inline:auto}
.section{
padding:92px 0}
.small{
font-size:14px;
line-height:1.75;
letter-spacing:0;
color:var(--muted)}
.chunk{
display:inline-block}
.blue{
color:var(--blue)}
.section-label{
color:var(--blue);
font-size:22px;
font-weight:800;
margin-bottom:22px;
display:flex;
align-items:center;
gap:14px}
.section-label:before{
content:"";
width:28px;
height:3px;
background:currentColor;
flex:none}
.section-head{
display:flex;
justify-content:space-between;
align-items:flex-end;
gap:45px;
margin-bottom:44px}
.section-head>p{
max-width:490px}
.button{
display:flex;
align-items:center;
justify-content:space-between;
gap:26px;
max-width:460px;
background:var(--orange);
border:1px solid var(--orange);
color:white;
padding:20px 27px;
font-size:21px;
font-weight:800;
line-height:1.55;
box-shadow:0 4px 0 #7e3008;
border-radius:var(--radius);
min-height:64px;
text-align:left}
.button:hover{
background:#913a0d}
.button>span:last-child{
font-size:29px;
line-height:1;
flex:none}
.text-link{
display:inline-flex;
align-items:center;
justify-content:space-between;
gap:28px;
font-weight:800;
color:var(--blue);
border-bottom:2px solid var(--blue);
min-height:44px}
.mobile-only{
display:none}
.skip{
position:fixed;
left:10px;
top:-100px;
z-index:200;
background:#fff;
padding:12px}
.skip:focus{
top:8px}
.review-bar{
background:var(--ink);
color:#fff;
font-size:12px;
line-height:1.5;
padding:6px 16px;
text-align:center}
.header{
position:sticky;
top:0;
z-index:30;
background:#fffffff7;
border-bottom:1px solid var(--line);
box-shadow:0 3px 14px #142d4010}
.header-inner{
display:flex;
align-items:center;
gap:28px;
min-height:94px;
justify-content:space-between}
.brand{
display:flex;
align-items:center;
gap:12px;
flex:none}
.brand img{
width:58px;
height:auto}
.brand b{
font-size:23px;
color:var(--blue);
line-height:1.4;
display:block;
letter-spacing:0}
.brand small{
display:block;
font-size:13px;
line-height:1.6}
.header nav{
display:flex;
gap:22px;
margin-left:auto;
font-size:16px;
font-weight:700}
.header nav a{
padding-block:12px}
.header nav a:hover{
color:var(--blue)}
.header-cta{
padding:12px 18px;
background:var(--blue);
color:white;
font-size:16px;
font-weight:800;
border-radius:3px}
.header-cta span{
margin-left:15px}

/* Hero is a vertical-flow composition, not constrained to one screen. */
.hero{
padding:58px 0 22px;
background:linear-gradient(110deg,#fff 35%,#f2f7f9 100%);
border-bottom:1px solid var(--line);
overflow:clip}
.hero-grid{
display:grid;
grid-template-columns:1.17fr 1fr;
gap:42px;
align-items:center}
.audience{
font-size:22px;
font-weight:800;
color:var(--blue);
margin-bottom:20px;
border-left:4px solid var(--blue);
padding-left:15px}
.hero-lead{
font-size:clamp(30px,3.4vw,48px);
display:inline-block;
line-height:1.5}
.hero-main{
display:block;
margin-top:15px;
font-size:clamp(40px,4.5vw,61px);
font-weight:900;
line-height:1.42;
color:var(--blue);
letter-spacing:-.035em}
.hero-main .chunk{
display:block}
.hero-punch{
font-size:23px;
font-weight:800;
margin:25px 0 14px;
letter-spacing:0}
.hero-desc{
font-size:18px}
.hero .button{
margin-top:28px}
.hero-note{
margin-top:14px}
.hero-visual{
position:relative;
padding:8px 0 0}
.file-tag{
position:relative;
z-index:1;
font-size:17px;
font-weight:800;
color:var(--deep);
letter-spacing:.12em;
padding:14px 18px;
background:#fff;
border-left:5px solid var(--blue);
box-shadow:0 5px 18px #15394c0c;
width:max-content;
max-width:100%;
margin-left:18px;
margin-bottom:-26px}
.property-pair{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
transform:rotate(1deg);
padding-bottom:22px}
.property-photo{
position:relative;
aspect-ratio:.51;
overflow:hidden;
background:#d3d8d8;
border:6px solid white;
box-shadow:0 7px 20px #0b263918}
.property-photo.second{
transform:translateY(35px)}
.property-photo img{
width:100%;
height:100%;
object-fit:cover;
transform:scale(1.32)}
.property-photo figcaption{
position:absolute;
bottom:0;
left:0;
right:0;
padding:18px 7px;
background:linear-gradient(transparent,#0b2135e8);
font-size:16px;
line-height:1.7;
font-weight:800;
color:#fff;
text-align:center;
padding-top:45px;
letter-spacing:0}
.hero-stamp{
position:relative;
z-index:2;
background:var(--blue);
color:#fff;
padding:16px 24px;
box-shadow:8px 8px 0 #bddce9;
transform:rotate(-3deg);
width:82%;
margin:0 auto}
.hero-stamp>span{
font-size:16px;
display:block}
.hero-stamp strong{
display:block;
font-size:32px;
line-height:1.4;
letter-spacing:.08em}
.hero-stamp strong span{
font-size:44px;
margin-left:12px}
.image-note{
font-size:12px;
margin-top:22px}
.hero-terms{
display:grid;
grid-template-columns:repeat(3,1fr);
border-top:2px solid var(--deep);
border-bottom:1px solid var(--line);
margin-top:54px;
padding-block:20px;
gap:0}
.hero-terms>div{
text-align:center;
padding:6px 16px;
border-right:1px solid var(--line)}
.hero-terms>div:last-child{
border:0}
.hero-terms>div>span{
font-size:16px;
font-weight:700;
display:block}
.hero-terms strong{
font-size:42px;
color:var(--blue);
display:block;
line-height:1.4;
font-variant-numeric:tabular-nums}
.hero-terms strong span{
font-size:22px;
margin-left:4px}
.hero-terms strong small{
font-size:20px;
margin-right:8px}
.terms-note{
padding-top:12px}

.properties{
background:#fff}
.property-cases{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:24px}
.property-case{
border-top:3px solid var(--deep);
padding-top:20px;
display:flex;
flex-direction:column;
min-width:0}
.case-heading{
position:relative;
display:grid;
grid-template-columns:36px 1fr;
gap:4px 10px;
align-items:center}
.num{
color:var(--blue);
font-size:28px;
font-weight:800;
line-height:1.4}
.case-heading h3{
font-size:23px;
letter-spacing:0}
.type-note{
grid-column:1/-1;
font-size:14px;
color:var(--muted);
margin-top:6px}
.diagram{
height:188px;
position:relative;
margin-top:20px;
margin-bottom:22px;
background:var(--pale);
overflow:hidden;
flex-shrink:0}
.ownership{
padding:16px 23px 6px}
.house-roof{
width:100%;
height:38px;
background:var(--deep);
clip-path:polygon(50% 0,100% 100%,0 100%)}
.ownership-block{
display:grid;
grid-template-columns:1fr 1fr;
text-align:center;
line-height:1.7;
font-size:13px;
border:2px solid var(--deep)}
.ownership-block>div{
padding:12px 2px;
background:white}
.ownership-block .selected-share{
background:var(--blue);
color:#fff;
border-right:2px dashed white}
.ownership-block b{
font-size:23px}
.diagram-caption{
display:block;
text-align:center;
font-size:12px;
margin-top:7px}
.lease{
padding:20px 25px}
.lease-building{
height:85px;
background:repeating-linear-gradient(90deg,#d6e5ec 0,#d6e5ec 18px,#eff5f8 18px,#eff5f8 24px);
width:135px;
margin:0 auto;
border:2px solid #7d99a9;
display:flex;
align-items:center;
justify-content:center;
box-shadow:5px -5px 0 #c6d9e3}
.lease-building span{
background:#fff;
padding:3px 7px;
font-size:13px}
.lease-ground{
background:var(--blue);
color:white;
border:3px solid var(--blue);
display:flex;
align-items:center;
justify-content:center;
gap:12px;
min-height:43px;
box-shadow:0 7px 0 #abd2e4}
.lease-ground b{
font-size:23px}
.lease-ground span{
font-size:12px}
.site-plan{
background-color:var(--pale);
background-image:linear-gradient(#cee0ea 1px,transparent 1px),linear-gradient(90deg,#cee0ea 1px,transparent 1px);
background-size:17px 17px;
padding:18px}
.site-house{
position:absolute;
left:25px;
top:20px;
width:120px;
height:83px;
border:2px dashed var(--blue);
background:#fff;
display:grid;
place-content:center;
font-size:19px;
font-weight:800;
transform:rotate(-5deg)}
.site-road{
position:absolute;
bottom:12px;
left:0;
right:0;
height:28px;
line-height:28px;
background:#c3d7e1;
text-align:right;
padding-right:30px;
font-size:12px}
.site-path{
position:absolute;
bottom:38px;
left:62px;
width:96px;
font-size:12px;
text-align:center;
background:var(--blue);
color:white;
line-height:2.4}
.site-label{
position:absolute;
top:32px;
right:16px;
writing-mode:vertical-rl;
font-size:12px;
color:var(--blue)}
.exit-diagram{
display:flex;
align-items:center;
justify-content:center;
gap:12px;
padding-bottom:28px}
.exit-diagram>span{
border:2px solid #779bad;
background:white;
padding:20px 10px;
font-size:21px;
font-weight:800}
.exit-diagram .sa-block{
background:var(--blue);
color:white;
border-color:var(--blue);
font-size:30px;
padding:12px}
.exit-diagram>b{
font-size:30px}
.exit-diagram>small{
position:absolute;
bottom:20px;
font-size:14px;
left:0;
right:0;
text-align:center}
.scenario{
font-size:20px;
font-weight:800;
line-height:1.7;
margin-bottom:18px;
letter-spacing:0}
.property-case>p:not(.scenario):not(.answer){
font-size:16px;
line-height:1.9;
flex:1}
.answer{
font-size:17px;
font-weight:800;
color:var(--blue);
border-bottom:2px solid var(--blue);
padding-block:17px 10px;
margin-top:10px;
letter-spacing:0}
.property-end{
margin-top:44px;
padding:28px 34px;
background:var(--pale);
border-left:4px solid var(--blue);
display:grid;
grid-template-columns:1fr auto;
column-gap:30px}
.property-end strong{
font-size:25px;
line-height:1.7}
.property-end>span{
font-size:17px}
.property-end .text-link{
grid-column:2;
grid-row:1/3;
align-self:center;
white-space:nowrap}

.terms{
background:#f0f3f3;
border-block:1px solid var(--line)}
.fee-grid{
margin-top:40px;
display:grid;
grid-template-columns:.9fr 1.1fr;
gap:0;
background:#fff;
border:1px solid var(--line);
box-shadow:9px 9px 0 #e0e8eb}
.fee-display{
padding:34px 42px;
background:var(--blue);
color:white;
position:relative;
overflow:hidden}
.fee-display:after{
content:"";
width:230px;
height:230px;
border:1px solid #ffffff30;
border-radius:50%;
position:absolute;
right:-100px;
top:5px;
pointer-events:none}
.fee-display>span{
font-size:17px;
display:block}
.fee-title{
font-size:26px;
font-weight:800;
margin-top:24px}
.fee-display>strong{
display:block;
font-size:100px;
line-height:1.35;
letter-spacing:.12em;
margin:8px 0 4px}
.fee-display>p:last-of-type{
font-size:19px}
.small-value{
border-top:1px solid #ffffff75;
margin-top:30px;
padding-top:20px;
display:flex;
gap:10px;
align-items:baseline;
flex-wrap:wrap;
font-size:15px}
.small-value b{
font-size:36px;
line-height:1.4;
letter-spacing:0}
.small-value small{
font-size:19px}
.work-panel{
padding:40px 42px}
.work-panel h3{
font-size:30px;
line-height:1.7;
margin-bottom:16px}
.work-panel>p{
font-size:17px}
.work-list{
list-style:none;
padding:0;
display:grid;
grid-template-columns:1fr 1fr;
gap:0 20px;
margin:25px 0 18px}
.work-list li{
border-top:1px solid var(--line);
padding:14px 0;
line-height:1.8;
font-size:17px;
font-weight:700}
.work-list span{
color:var(--blue);
margin-right:6px}
.work-panel>p.small{
font-size:14px}
.reseller{
display:flex;
align-items:center;
gap:34px;
margin-top:40px;
padding:30px 0 0;
border-top:1px solid #b4c7d0}
.reseller-label{
font-size:17px;
font-weight:800;
white-space:nowrap;
color:var(--blue)}
.reseller h3{
font-size:25px;
margin-bottom:8px}
.reseller p{
font-size:17px}
.reseller-arrow{
font-size:52px;
color:var(--blue);
margin-left:auto}

.speed{
background:var(--deep);
color:#fff;
position:relative}
.speed:before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(125deg,transparent 60%,#ffffff04 60%);
pointer-events:none}
.speed .wrap{
position:relative}
.speed .section-label{
color:#8ed8ff}
.speed-top{
display:flex;
gap:40px;
justify-content:space-between;
align-items:flex-end}
.speed-top>p{
color:#e4eff5}
.speed-stats{
display:grid;
grid-template-columns:repeat(3,1fr);
margin-top:45px;
border-top:1px solid #7e9ead;
border-bottom:1px solid #7e9ead;
padding:26px 0}
.stat{
padding:8px 30px;
text-align:center;
border-right:1px solid #7e9ead}
.stat:last-child{
border:0}
.stat-label{
font-size:19px;
font-weight:700;
display:block}
.stat>strong{
display:flex;
align-items:baseline;
justify-content:center;
gap:4px;
line-height:1.35;
height:149px;
font-weight:800;
padding-top:4px;
white-space:nowrap}
.stat strong>b{
font-size:108px;
letter-spacing:-.06em;
font-weight:800}
.stat strong>em{
font-size:32px;
font-style:normal}
.stat strong>small{
font-size:23px;
font-weight:700;
align-self:baseline}
.stat>strong.word-stat{
font-size:73px;
padding-top:27px;
gap:5px}
.stat p{
font-size:15px;
line-height:1.8;
color:#e3eff5}
.settlement strong{
color:#ffdf8b}
.timing-note{
display:flex;
align-items:center;
gap:14px;
margin-top:28px}
.timing-note p{
font-size:17px}
.timing-note b{
font-size:23px;
display:block;
line-height:1.5}
.timing-note a{
font-size:27px;
font-weight:800;
letter-spacing:.015em;
margin-left:auto;
white-space:nowrap}
.timing-note a span{
margin-left:20px}
.dot{
width:12px;
height:12px;
background:#91d8fc;
border-radius:50%;
box-shadow:0 0 0 7px #ffffff14;
flex:none}

.handoff{
display:grid;
grid-template-columns:1fr 60px 1fr;
align-items:stretch}
.your-side,.sa-side{
padding:35px;
background:var(--pale);
border:1px solid var(--line)}
.sa-side{
border:2px solid var(--blue);
background:#fff}
.role-label{
font-size:20px;
font-weight:800;
color:var(--blue);
display:block;
margin-bottom:12px}
.handoff h3{
font-size:26px;
margin-bottom:24px}
.document-set{
display:flex;
gap:12px;
justify-content:center;
padding-block:8px 28px}
.document-set>span{
display:flex;
align-items:center;
flex-direction:column;
gap:14px;
background:white;
border:1px solid var(--line);
box-shadow:4px 4px 0 #dbe7ed;
width:31%;
padding:15px 5px;
font-size:15px;
font-weight:700;
white-space:nowrap}
.document-set i{
display:block;
width:37px;
height:42px;
border:2px solid var(--blue);
position:relative;
background:repeating-linear-gradient(0deg,transparent 0,transparent 6px,#b8d0de 6px,#b8d0de 8px) center/23px 26px no-repeat}
.your-side p{
font-size:16px}
.handoff-arrow{
align-self:center;
font-size:40px;
font-weight:800;
color:var(--blue);
text-align:center}
.sa-side ol{
list-style:none;
margin:0;
padding:0}
.sa-side li{
display:flex;
align-items:center;
gap:15px;
border-top:1px solid var(--line);
padding:13px 0;
font-size:18px}
.sa-side li>span{
font-size:28px;
line-height:1.4;
color:var(--blue);
font-weight:800}
.mini-cta{
margin-top:40px;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
border-bottom:2px solid var(--deep);
padding-bottom:30px}
.mini-cta p{
font-size:18px}
.mini-cta strong{
font-size:25px}
.mini-cta .button{
font-size:19px}

.results{
background:#f0f4f6}
.result-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px}
.result{
background:white;
border:1px solid var(--line);
border-top:4px solid var(--blue);
padding:32px;
display:flex;
flex-direction:column;
min-width:0}
.result-kicker{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
font-size:14px;
color:var(--blue);
margin-bottom:22px}
.result-kicker>span{
letter-spacing:.14em;
font-size:16px;
font-weight:800}
.result h3{
font-size:26px;
line-height:1.65}
.result-price{
border-block:1px solid var(--line);
margin:24px 0;
padding:16px 0}
.result-price>span{
font-size:16px;
display:block}
.result-price strong{
display:block;
font-size:56px;
line-height:1.5;
color:var(--blue);
letter-spacing:-.03em;
font-variant-numeric:tabular-nums}
.result-price small{
font-size:23px;
margin-left:10px}
.result-story{
flex:1}
.result-story>span{
display:inline-block;
font-size:13px;
color:var(--blue);
font-weight:800;
letter-spacing:.08em}
.result-story p{
font-size:16px;
line-height:1.9;
margin-bottom:18px}
.case-open{
width:100%;
min-height:50px;
padding:12px 16px;
background:var(--pale);
border:1px solid #94b5c9;
display:flex;
align-items:center;
justify-content:space-between;
font-size:16px;
font-weight:800;
color:var(--blue);
margin-top:6px}
.case-open:hover{
background:#dcebf3}
.case-open>span{
font-size:24px}
.case-material{
width:100%;
height:155px;
object-fit:contain;
margin-top:20px;
background:#f5f6f7;
border:1px solid #e7ecee}
.result-note{
margin-top:20px}

.faq-grid{
display:grid;
grid-template-columns:1fr 1.6fr;
gap:48px}
.faq h2{
font-size:35px}
.faqs{
border-top:2px solid var(--deep)}
details{
border-bottom:1px solid var(--line)}
summary{
list-style:none;
padding:23px 45px 23px 40px;
position:relative;
cursor:pointer;
font-weight:800;
font-size:18px;
line-height:1.8}
summary::-webkit-details-marker{
display:none}
summary:before{
content:"Q";
position:absolute;
left:0;
top:23px;
color:var(--blue);
font-size:23px;
font-weight:800;
line-height:1.4}
summary:after{
content:"＋";
position:absolute;
right:2px;
top:25px;
color:var(--blue);
font-size:23px;
line-height:1.4}
details[open] summary:after{
content:"−"}
details>p{
padding:0 30px 24px 40px;
font-size:16px;
line-height:1.9}

.contact{
background:var(--pale);
border-top:1px solid var(--line)}
.contact-grid{
display:grid;
grid-template-columns:.85fr 1.15fr;
gap:54px;
align-items:start}
.contact h2{
font-size:clamp(30px,2.8vw,38px);
letter-spacing:0}
.contact-copy>p:not(.section-label){
margin-top:25px;
font-size:17px}
.contact-call{
margin-top:35px;
border-top:2px solid var(--blue);
padding:24px 0}
.contact-call>span{
display:block;
font-size:17px;
font-weight:800;
color:var(--blue)}
.contact-call>a{
display:block;
color:var(--blue);
font-size:32px;
line-height:1.8;
font-weight:800;
letter-spacing:.01em;
white-space:nowrap}
.contact-call small{
font-size:15px}
.contact-doc{
padding:22px;
background:white;
border-left:3px solid var(--blue);
margin-top:12px}
.contact-doc b{
font-size:18px}
.contact-doc p{
font-size:15px;
margin-top:10px}
.inquiry{
padding:32px;
background:white;
border:1px solid var(--line)}
.form-notice{
padding:14px 18px;
background:#f2f4f5;
color:#405766;
font-size:14px;
line-height:1.75}
.required-note{
font-size:13px;
margin:22px 0}
.required-note>span,.required{
font-size:12px;
font-weight:700;
padding:2px 6px;
color:#a04110;
background:#fff2e9;
border:1px solid #ebc2a8;
vertical-align:middle}
.required{
margin-left:5px}
.optional{
font-size:12px;
font-weight:400;
color:var(--muted);
margin-left:7px}
.fields{
display:grid;
grid-template-columns:1fr 1fr;
gap:22px 20px}
.fields>label{
font-size:16px;
font-weight:700;
min-width:0}
.full{
grid-column:1/-1}
input:not([type=checkbox]),textarea,select{
width:100%;
display:block;
padding:11px 12px;
border:1px solid #a7bdca;
background:#fff;
border-radius:2px;
min-height:48px;
font-size:16px;
line-height:1.7;
color:var(--ink);
margin-top:8px;
min-width:0}
input::placeholder,textarea::placeholder{
color:#667c88}
textarea{
resize:vertical}
fieldset{
border:0;
padding:0;
margin:0;
min-width:0}
legend{
padding:0;
font-size:16px;
font-weight:700}
.checks{
display:grid;
grid-template-columns:1fr 1fr;
gap:8px 12px;
margin-top:10px}
.checks label{
display:flex;
align-items:center;
gap:7px;
font-size:16px;
min-height:44px;
cursor:pointer;
padding:7px 8px;
background:#f3f7f9;
border:1px solid #d5e1e8}
.checks input{
width:19px;
height:19px;
accent-color:var(--blue);
flex-shrink:0;
margin:0}
.file-label small{
display:block;
font-weight:400;
font-size:12px;
color:var(--muted);
margin-top:10px}
input[type=file]{
font-size:13px;
padding:10px;
background:#f7f9fa}
input[type=file]::file-selector-button{
font-size:14px;
min-height:38px;
border:1px solid #a4bac8;
background:#fff;
margin-right:8px;
color:var(--deep)}
.form-submit{
width:100%;
max-width:none;
font-size:18px;
margin-top:30px}
.form-status-ready{
padding:18px;
background:#edf6f0;
border:1px solid #9abaac;
margin-top:24px;
font-size:16px}
#form-status:focus{
outline:2px solid var(--blue);
outline-offset:3px}
.footer{
background:white;
padding:42px 0 156px;
border-top:1px solid var(--line)}
.footer>.wrap{
display:flex;
align-items:center;
justify-content:space-between}
.footer-brand{
display:flex;
align-items:center;
gap:15px}
.footer-brand img{
width:58px;
height:auto}
.footer-brand b{
color:var(--blue);
font-size:20px;
display:block}
.footer-brand span{
display:block;
font-size:14px}

.contact-dock{
position:fixed;
bottom:0;
left:0;
right:0;
z-index:35;
background:#fffffff7;
box-shadow:0 -4px 18px #102f4415;
border-top:1px solid var(--line);
padding:10px 20px max(10px,env(safe-area-inset-bottom))}
.contact-dock.is-hidden{
display:none}
.dock-actions{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
width:100%;
max-width:800px;
margin:auto}
.dock-button{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:1px;
border-radius:4px;
border:1px solid var(--blue);
min-height:84px;
padding:8px 12px;
line-height:1.5;
letter-spacing:0;
min-width:0}
.dock-phone{
background:#fff;
color:var(--blue)}
.dock-appraisal{
background:var(--orange);
border-color:var(--orange);
box-shadow:0 2px 0 #7e3008;
color:white}
.dock-eyebrow{
font-size:18px;
font-weight:700}
.dock-button strong{
font-size:22px;
display:block;
font-weight:800}
.dock-button small{
font-size:27px;
font-weight:800;
white-space:nowrap}
.dock-compact{
display:none}
.contact-dock .dock-button .dock-compact{
display:none}
.dock-phone:hover{
background:#edf6fb}
.dock-appraisal:hover{
background:#903a0e}

dialog{
padding:0;
border:0;
width:min(1040px,calc(100% - 28px));
max-height:90dvh;
box-shadow:0 10px 80px #00192780;
background:#f1f4f6;
color:var(--ink)}
dialog::backdrop{
background:#0b203dcc;
backdrop-filter:blur(3px)}
.dialog-bar{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding:12px 18px;
background:#fff;
position:sticky;
top:0;
z-index:1;
border-bottom:1px solid var(--line);
font-size:16px}
.dialog-bar>div{
display:flex;
gap:10px}
.dialog-bar button{
min-height:44px;
border:1px solid #9fb8c8;
background:#fff;
padding:7px 13px;
font-size:14px;
font-weight:700}
.material-scroll{
max-height:calc(90dvh - 74px);
overflow:auto;
padding:20px;
overscroll-behavior:contain}
.material-scroll img{
width:100%;
max-width:none;
height:auto;
margin:auto}
.material-scroll.is-zoomed img{
width:1400px;
max-width:none}
.dialog-open{
overflow:hidden}

@media(min-width:1600px){
.wrap{
max-width:1280px}
.hero-grid{
grid-template-columns:1.2fr 1fr;
gap:65px}
.hero-main{
font-size:64px}
.hero-lead{
font-size:49px}
.property-cases{
gap:30px}
}

@media(max-width:1100px){
.wrap{
width:calc(100% - 56px)}
.header nav{
display:none}
.hero-grid{
gap:28px}
.hero-main{
font-size:clamp(39px,4.5vw,53px)}
.hero-lead{
font-size:35px}
.hero-punch{
font-size:21px}
.hero-visual{
max-width:450px}
.hero-stamp{
padding:15px 18px}
.hero-stamp strong{
font-size:27px}
.hero-stamp strong span{
font-size:38px}
.property-cases{
grid-template-columns:repeat(2,minmax(0,1fr));
gap:38px 30px}
.case-heading h3{
font-size:26px}
.diagram{
height:188px}
.ownership{
padding-inline:70px}
.lease{
padding-inline:70px}
.site-house{
left:65px;
width:50%}
.site-path{
left:100px}
.site-label{
right:44px}
.scenario{
font-size:22px}
.property-case>p:not(.scenario):not(.answer){
font-size:17px}
.answer{
font-size:19px}
.section-head{
gap:25px}
.section-head>p{
font-size:16px;
max-width:410px}
.section-head>p br{
display:none}
.fee-display{
padding:32px}
.work-panel{
padding:32px}
.work-list{
grid-template-columns:1fr}
.work-list li{
padding:8px 0}
.stat{
padding-inline:18px}
.stat strong>b{
font-size:94px}
.stat>strong.word-stat{
font-size:62px}
.stat>strong{
height:137px}
.contact-grid{
gap:34px;
grid-template-columns:.8fr 1.2fr}
.inquiry{
padding:26px}
.contact h2{
font-size:30px}
.contact-call>a{
font-size:28px}
.your-side,.sa-side{
padding:26px}
.handoff h3{
font-size:23px}
.sa-side li{
font-size:16px}
.faq-grid{
grid-template-columns:.8fr 1.2fr;
gap:30px}
}

@media(max-width:799px){
.wrap{
width:calc(100% - 40px)}
.section{
padding:64px 0}
h2{
font-size:33px}
.section-label{
font-size:20px;
margin-bottom:18px}
.section-head,.speed-top{
display:block}
.section-head>p,.speed-top>p{
margin-top:22px;
font-size:17px;
max-width:none}
.header-inner{
min-height:78px;
gap:18px}
.brand b{
font-size:20px}
.brand img{
width:46px}
.brand small{
font-size:12px}
.header-cta{
font-size:13px;
padding:10px 12px}
.header-cta span{
margin-left:8px}
.hero{
padding-top:34px}
.hero-grid{
grid-template-columns:1fr;
gap:30px}
.hero-copy{
max-width:650px}
.hero-main .chunk{
display:inline-block}
.hero-main{
font-size:46px;
letter-spacing:-.025em}
.hero-lead{
font-size:35px}
.hero-visual{
width:100%;
max-width:none;
display:grid;
grid-template-columns:1fr .65fr;
align-items:center;
gap:0 24px}
.file-tag{
position:absolute;
top:0;
left:0;
font-size:14px;
padding:8px 13px;
margin:0;
transform:rotate(-1deg)}
.property-pair{
height:290px;
transform:none;
padding:0;
gap:8px}
.property-photo{
aspect-ratio:auto;
border-width:4px}
.property-photo.second{
transform:translateY(14px)}
.property-photo figcaption{
font-size:13px;
padding-inline:5px}
.hero-stamp{
width:100%;
margin:0;
padding:16px}
.hero-stamp strong{
font-size:24px;
letter-spacing:0}
.hero-stamp strong span{
display:block;
font-size:55px;
margin:0}
.hero-stamp>span{
font-size:14px}
.image-note{
grid-column:1/-1;
margin-top:26px}
.hero-terms{
margin-top:26px;
padding-block:16px}
.hero-terms>div{
padding:4px 10px}
.hero-terms>div>span{
font-size:13px}
.hero-terms strong{
font-size:34px}
.hero-terms strong span{
font-size:17px}
.hero-terms strong small{
font-size:16px}
.property-end{
display:flex;
flex-direction:column;
padding:24px;
gap:10px}
.property-end strong{
font-size:23px}
.property-end .text-link{
align-self:flex-start}
.ownership{
padding-inline:30px}
.lease{
padding-inline:35px}
.site-house{
left:28px}
.site-path{
left:65px}
.site-label{
right:16px}
.fee-grid{
grid-template-columns:1fr 1fr}
.fee-display{
padding:26px}
.fee-display>strong{
font-size:82px}
.fee-title{
font-size:23px}
.small-value{
display:block}
.small-value>span{
display:block}
.work-panel{
padding:26px}
.work-panel h3{
font-size:25px}
.reseller{
gap:18px;
align-items:flex-start}
.reseller-label{
white-space:normal;
max-width:150px;
font-size:16px;
flex-shrink:0}
.reseller h3{
font-size:22px}
.reseller-arrow{
font-size:35px}
.speed-stats{
margin-top:32px}
.stat{
padding:4px 12px}
.stat-label{
font-size:16px}
.stat strong>b{
font-size:74px}
.stat strong>em{
font-size:25px}
.stat strong>small{
font-size:18px}
.stat>strong.word-stat{
font-size:45px;
padding-top:26px}
.stat>strong{
height:118px;
padding-top:16px}
.stat p{
font-size:13px}
.timing-note a{
font-size:22px}
.timing-note a span{
margin-left:8px}
.timing-note p{
font-size:15px}
.timing-note b{
font-size:20px}
.handoff{
grid-template-columns:1fr 40px 1fr}
.your-side,.sa-side{
padding:22px}
.handoff h3{
font-size:21px}
.document-set{
gap:8px}
.document-set>span{
font-size:12px}
.your-side p{
font-size:15px}
.your-side p br{
display:none}
.sa-side li{
font-size:15px;
gap:10px}
.sa-side li>span{
font-size:24px}
.handoff-arrow{
font-size:32px}
.mini-cta{
display:block}
.mini-cta .button{
margin-top:24px;
max-width:none}
.result{
padding:24px}
.result h3{
font-size:22px}
.result-kicker{
display:block}
.result-kicker b{
display:block;
font-size:13px}
.result-price strong{
font-size:47px}
.faq-grid{
grid-template-columns:1fr;
gap:24px}
.contact-grid{
grid-template-columns:1fr;
gap:36px}
.contact-copy>p br{
display:none}
.contact h2{
font-size:36px}
.contact-call{
display:inline-block;
padding:18px 25px 18px 0;
margin-top:24px}
.contact-call>a{
font-size:32px}
.contact-doc{
max-width:520px}
.inquiry{
padding:30px}
.footer>.wrap{
gap:24px}
.footer-brand b{
font-size:18px}
}

@media(max-width:599px){
body{
font-size:17px;
line-height:1.9}
.wrap{
width:calc(100% - 36px)}
html{
scroll-padding-top:90px}
.section{
padding:54px 0}
h2{
font-size:clamp(28px,7.4vw,34px);
line-height:1.55;
letter-spacing:0}
.section-label{
font-size:19px;
gap:10px;
letter-spacing:0}
.section-label:before{
width:21px}
.section-head{
margin-bottom:30px}
.section-head>p{
font-size:17px;
margin-top:20px}
.section-head>p br{
display:none}
.header-inner{
min-height:74px}
.brand{
gap:8px}
.brand img{
width:40px}
.brand b{
font-size:clamp(16px,4.7vw,21px);
white-space:nowrap}
.brand small{
font-size:11px}
.header-cta{
display:none}
.hero{
padding:28px 0 18px}
.hero-grid{
gap:28px}
.audience{
font-size:18px;
margin-bottom:18px;
padding-left:11px}
.hero-lead{
font-size:clamp(29px,8.1vw,37px);
letter-spacing:0}
.hero-main{
font-size:clamp(36px,10.2vw,46px);
line-height:1.47;
margin-top:13px;
letter-spacing:-.045em}
.hero-main .chunk{
display:block}
.hero-punch{
font-size:20px;
margin:22px 0 13px;
line-height:1.8}
.hero-desc{
font-size:16px;
letter-spacing:0;
line-height:1.85}
.hero-desc br{
display:none}
.hero .button{
margin-top:24px;
max-width:none;
font-size:20px;
padding:17px 20px;
min-height:68px;
gap:12px}
.hero .button>span:first-child{
font-size:20px;
line-height:1.65}
.hero-note{
font-size:13px;
margin-top:12px}
.hero-visual{
grid-template-columns:1fr .57fr;
gap:0 13px}
.property-pair{
height:256px;
gap:6px}
.property-photo img{
transform:scale(1.3)}
.property-photo figcaption{
writing-mode:vertical-rl;
font-size:13px;
left:auto;
right:0;
top:0;
bottom:0;
padding:15px 6px;
line-height:1.7;
background:linear-gradient(270deg,#132c3fd9,transparent);
letter-spacing:.05em}
.file-tag{
font-size:12px;
padding:7px 10px;
border-left-width:3px;
top:-7px}
.hero-stamp{
padding:14px 10px;
box-shadow:5px 5px 0 #bddce9}
.hero-stamp strong{
font-size:22px;
line-height:1.5}
.hero-stamp strong span{
font-size:44px}
.hero-stamp>span{
font-size:12px}
.image-note{
font-size:11px;
margin-top:25px}
.hero-terms{
grid-template-columns:1fr 1fr;
row-gap:14px;
border-top-width:2px;
margin-top:24px;
padding:16px 0}
.hero-terms>div:nth-child(2){
border:0}
.hero-terms>div:nth-child(3){
grid-column:1/-1;
border-top:1px solid var(--line);
padding-top:14px;
display:flex;
align-items:center;
justify-content:center;
gap:20px}
.hero-terms>div>span{
font-size:13px;
line-height:1.6}
.hero-terms strong{
font-size:36px;
line-height:1.4}
.hero-terms strong span{
font-size:15px;
display:block;
margin-left:0;
line-height:1.5}
.hero-terms>div:nth-child(3) strong{
font-size:42px}
.hero-terms>div:nth-child(3) strong span{
display:inline-block;
font-size:25px;
margin-left:5px}
.hero-terms>div:nth-child(3) strong small{
font-size:18px}
.terms-note{
font-size:12px;
padding-top:10px}
.property-cases{
grid-template-columns:1fr;
gap:30px}
.property-case{
display:grid;
grid-template-columns:110px 1fr;
gap:0 18px;
border:1px solid var(--line);
border-top:3px solid var(--deep);
padding:20px 18px 0}
.case-heading{
grid-column:1/-1;
grid-template-columns:36px 1fr;
gap:2px 8px}
.case-heading h3{
font-size:25px}
.num{
font-size:29px}
.type-note{
font-size:13px;
margin-top:5px}
.diagram{
grid-column:1;
grid-row:2/4;
height:141px;
margin:20px 0 14px;
align-self:start}
.scenario{
grid-column:2;
font-size:18px;
margin:20px 0 10px;
line-height:1.8}
.scenario br{
display:none}
.property-case>p:not(.scenario):not(.answer){
grid-column:2;
font-size:15px;
line-height:1.8}
.answer{
grid-column:1/-1;
font-size:18px;
margin:0 -18px;
padding:14px 18px;
background:var(--pale);
border:0;
margin-top:18px}
.ownership{
padding:22px 6px 5px}
.house-roof{
height:28px}
.ownership-block{
font-size:9px;
line-height:1.7;
border-width:1px}
.ownership-block>div{
padding:10px 0}
.ownership-block b{
font-size:18px}
.diagram-caption{
display:none}
.lease{
padding:29px 6px}
.lease-building{
height:55px;
width:73px}
.lease-building span{
font-size:9px;
padding:2px}
.lease-ground{
display:block;
text-align:center;
line-height:1.5;
min-height:31px}
.lease-ground b{
font-size:18px}
.lease-ground span{
display:none}
.site-house{
left:12px;
top:23px;
width:60px;
height:54px;
font-size:14px}
.site-path{
left:20px;
width:66px;
font-size:9px;
bottom:32px}
.site-road{
font-size:9px;
height:22px;
line-height:22px;
bottom:10px;
padding-right:6px}
.site-label{
top:18px;
right:7px;
font-size:9px}
.exit-diagram{
gap:4px;
padding:0 4px 14px}
.exit-diagram>span{
font-size:14px;
padding:12px 4px;
border-width:1px}
.exit-diagram .sa-block{
font-size:20px;
padding:8px 4px}
.exit-diagram>b{
font-size:18px}
.exit-diagram>small{
font-size:9px;
bottom:24px}
.property-end{
margin-top:28px;
padding:20px 17px;
gap:12px}
.property-end strong{
font-size:21px;
letter-spacing:0}
.property-end>span{
font-size:16px}
.property-end .text-link{
font-size:17px}
.fee-grid{
grid-template-columns:1fr;
margin-top:30px;
box-shadow:5px 5px 0 #dce7ec}
.fee-display{
padding:25px}
.fee-display>span{
font-size:16px}
.fee-title{
font-size:25px;
margin-top:17px}
.fee-display>strong{
font-size:91px;
margin:4px 0;
line-height:1.3}
.fee-display>p:last-of-type{
font-size:17px}
.small-value{
display:flex;
align-items:baseline;
gap:4px 8px;
margin-top:22px;
padding-top:18px}
.small-value>span{
font-size:14px}
.small-value b{
font-size:32px}
.small-value small{
font-size:17px}
.work-panel{
padding:26px 25px}
.work-panel h3{
font-size:26px;
margin-bottom:14px}
.work-panel>p{
font-size:16px}
.work-list{
grid-template-columns:1fr;
margin-top:20px}
.work-list li{
font-size:17px;
padding:11px 0}
.reseller{
display:block;
margin-top:30px;
padding-top:24px}
.reseller-label{
max-width:none;
display:block;
font-size:17px;
margin-bottom:12px}
.reseller h3{
font-size:23px}
.reseller p{
font-size:16px}
.reseller-arrow{
display:none}
.speed-top>p{
font-size:16px;
margin-top:22px}
.speed-top>p br{
display:none}
.speed-stats{
grid-template-columns:1fr;
padding:0;
margin-top:30px}
.stat{
border-right:0;
border-bottom:1px solid #7e9ead;
display:grid;
grid-template-columns:1fr 1fr;
gap:4px 15px;
text-align:left;
padding:23px 0;
align-items:center}
.stat-label{
font-size:19px;
line-height:1.7}
.stat>strong{
grid-column:2;
grid-row:1/3;
height:auto;
padding:0;
line-height:1.3;
justify-content:flex-end}
.stat>strong.word-stat{
font-size:44px;
padding:0}
.stat strong>small{
font-size:17px;
align-self:center}
.stat strong>b{
font-size:77px;
line-height:1.15}
.stat strong>em{
font-size:24px}
.stat p{
grid-column:1;
font-size:13px;
line-height:1.8}
.stat p br{
display:none}
.settlement{
padding-block:27px}
.settlement strong>b{
font-size:98px}
.timing-note{
display:grid;
grid-template-columns:12px 1fr;
gap:12px 16px;
margin-top:27px}
.timing-note p{
font-size:15px}
.timing-note a{
grid-column:2;
font-size:25px;
margin:0;
justify-self:start}
.timing-note a span{
margin-left:15px}
.dot{
margin-left:3px}
.handoff{
display:block}
.your-side,.sa-side{
padding:25px}
.handoff h3{
font-size:24px;
margin-bottom:22px}
.role-label{
font-size:18px}
.document-set{
padding-bottom:20px;
gap:12px}
.document-set>span{
font-size:13px;
width:33%;
padding:14px 5px}
.document-set i{
width:34px;
height:39px}
.handoff-arrow{
transform:rotate(90deg);
height:56px;
line-height:56px;
font-size:35px}
.your-side p{
font-size:15px}
.sa-side li{
font-size:17px;
padding:13px 0}
.sa-side li>span{
font-size:28px}
.mini-cta{
margin-top:30px;
padding-bottom:25px}
.mini-cta p{
font-size:17px}
.mini-cta strong{
font-size:23px;
line-height:1.7}
.mini-cta .button{
font-size:18px;
padding:17px 20px;
gap:16px}
.result-grid{
grid-template-columns:1fr;
gap:26px}
.result{
padding:25px 22px}
.result-kicker{
display:flex;
margin-bottom:16px;
gap:8px}
.result-kicker>span{
font-size:14px}
.result-kicker b{
font-size:12px}
.result h3{
font-size:24px;
line-height:1.7}
.result-price{
margin:20px 0;
padding:14px 0}
.result-price strong{
font-size:53px}
.result-price>span{
font-size:15px}
.result-story p{
font-size:16px}
.case-open{
font-size:15px;
padding-inline:12px}
.case-material{
height:175px}
.result-note{
font-size:12px}
.faq-grid{
gap:22px}
.faq h2{
font-size:30px}
summary{
font-size:17px;
padding:20px 30px 20px 32px}
summary:before{
top:23px;
font-size:21px}
summary:after{
right:0;
top:23px;
font-size:20px}
details>p{
font-size:16px;
padding:0 10px 22px 32px}
.contact h2{
font-size:clamp(26px,7.15vw,33px);
line-height:1.65}
.contact-copy>p:not(.section-label){
font-size:16px;
margin-top:20px}
.contact-copy>p br{
display:block}
.contact-call{
padding:20px 0;
width:100%;
margin-top:24px}
.contact-call>a{
font-size:32px}
.contact-doc{
padding:18px;
margin-top:0}
.contact-doc b{
font-size:17px}
.contact-doc p{
font-size:15px}
.inquiry{
padding:23px 18px}
.form-notice{
font-size:13px;
padding:12px}
.fields{
grid-template-columns:1fr;
gap:19px}
.fields>label{
font-size:16px}
.form-submit{
font-size:17px;
padding:17px 18px;
gap:10px}
.required-note{
margin:20px 0}
.checks{
gap:8px;
font-size:15px}
.checks label{
font-size:15px;
gap:6px;
padding-inline:6px}
.footer{
padding-top:30px;
padding-bottom:154px}
.footer>.wrap{
display:block}
.footer-brand{
gap:10px}
.footer-brand b{
font-size:18px}
.footer-brand img{
width:43px}
.footer-brand span{
font-size:13px}
.footer .small{
margin-top:20px;
font-size:12px}
.contact-dock{
padding:8px 12px max(8px,env(safe-area-inset-bottom))}
.dock-actions{
gap:8px}
.dock-button{
min-height:88px;
padding:7px 4px}
.dock-eyebrow{
font-size:13px;
line-height:1.6}
.dock-button strong{
font-size:20px;
line-height:1.4}
.dock-button small{
font-size:16px;
line-height:1.6}
.contact-dock .dock-wide{
display:none}
.contact-dock .dock-button .dock-compact{
display:block}
.dock-appraisal strong>span{
display:block}
.dialog-bar{
display:block;
padding:10px 12px}
.dialog-bar>b{
display:block;
margin-bottom:8px;
font-size:14px}
.dialog-bar>div{
justify-content:space-between;
gap:8px}
.dialog-bar button{
font-size:13px;
padding-inline:10px}
.material-scroll{
padding:10px;
max-height:calc(90dvh - 110px)}
}

@media(max-width:359px){
.wrap{
width:calc(100% - 30px)}
.brand{
gap:7px}
.brand img{
width:34px}
.brand b{
font-size:17px}
.hero-lead{
font-size:29px}
.hero-main{
font-size:36px;
letter-spacing:-.06em}
.hero-punch{
font-size:19px}
.hero-desc{
font-size:15px}
.hero .button>span:first-child{
font-size:18px}
.mobile-only{
display:block}
.hero-visual{
grid-template-columns:1fr .5fr;
gap:0 10px}
.hero-stamp{
padding:11px 8px}
.hero-stamp strong{
font-size:20px}
.hero-stamp strong span{
font-size:40px}
.hero-stamp>span{
font-size:11px}
.hero-terms>div{
padding-inline:4px}
.hero-terms>div>span{
font-size:12px}
.hero-terms strong span{
font-size:14px}
.section-label{
font-size:18px}
.property-case{
grid-template-columns:92px 1fr;
column-gap:14px;
padding:18px 14px 0}
.answer{
margin-inline:-14px;
padding-inline:14px;
font-size:17px}
.case-heading h3{
font-size:23px}
.scenario{
font-size:17px}
.property-case>p:not(.scenario):not(.answer){
font-size:15px}
.diagram{
height:133px}
.exit-diagram>small{
font-size:8px}
.ownership-block{
font-size:8px}
.lease-building{
width:66px}
.site-house{
width:53px;
left:8px}
.site-label{
right:4px;
font-size:8px}
.site-path{
left:15px;
width:62px}
.stat{
grid-template-columns:.9fr 1.1fr;
gap:4px 9px}
.stat-label{
font-size:17px}
.stat strong>small{
font-size:15px}
.stat>strong.word-stat{
font-size:42px}
.stat strong>b{
font-size:70px}
.stat strong>em{
font-size:22px}
.settlement strong>b{
font-size:90px}
.stat p{
font-size:12px}
.small-value>span:last-child{
display:block}
.result{
padding:22px 18px}
.result h3{
font-size:22px}
.result-kicker{
display:block}
.result-kicker b{
margin-top:4px}
.contact h2{
font-size:26px}
.contact-call>a{
font-size:29px}
.inquiry{
padding:20px 14px}
.form-submit{
font-size:16px;
padding-inline:13px}
.dock-button small{
font-size:16px}
.document-set{
gap:8px}
.document-set>span{
font-size:12px}
.sa-side li{
font-size:16px;
gap:8px}
.sa-side li>span{
font-size:25px}
.your-side,.sa-side{
padding:22px}
}

@media(max-width:599px){
.mobile-only{
display:block}
.hero-copy{
display:contents}
.hero-grid{
row-gap:0}
.hero .audience{
order:1}
.hero h1{
order:2}
.hero .hero-punch{
order:3}
.hero .hero-visual{
order:4;
margin:20px 0 15px}
.hero .hero-desc{
order:5}
.hero .button{
order:6}
.hero .hero-note{
order:7}
.scenario{
grid-column:1/-1;
grid-row:2;
margin:18px 0 6px;
font-size:19px}
.scenario br{
display:none}
.property-case .diagram{
grid-row:3;
margin:14px 0}
.property-case>p:not(.scenario):not(.answer){
grid-row:3;
margin:14px 0;
align-self:center;
font-size:16px}
.ownership-block{
font-size:12px}
.ownership-block>div{
padding:8px 0}
.ownership-block .selected-share{
font-size:11px}
.ownership-block b{
font-size:18px}
.lease-building span{
font-size:12px}
.site-label{
font-size:11px}
.site-path{
font-size:11px}
.site-road{
font-size:12px}
.exit-diagram>span{
white-space:nowrap}
.exit-diagram>small{
font-size:12px;
bottom:21px}
.stat-label .chunk{
display:block}
.stat p{
font-size:14px}
.hero .hero-desc{
font-size:16px}
}

@media(max-width:359px){
.property-case{
grid-template-columns:100px 1fr;
gap:0 13px}
.scenario{
font-size:18px}
.property-case>p:not(.scenario):not(.answer){
font-size:16px}
.ownership-block{
font-size:11px}
.ownership-block .selected-share{
font-size:10px}
.site-label{
font-size:10px}
.exit-diagram{
display:grid;
grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);
column-gap:3px;
align-content:center;
align-items:center}
.exit-diagram>span{
font-size:13px;
padding:12px 2px;
text-align:center;
letter-spacing:0}
.exit-diagram .sa-block{
font-size:18px;
padding:10px 2px}
.exit-diagram>b{
font-size:14px}
.exit-diagram>small{
font-size:11px}
.hero .hero-desc{
font-size:15px}
.stat p{
font-size:13px}
.sa-side li{
font-size:16px}
.mini-cta strong{
font-size:22px}
}

@media(max-height:450px){
.header-inner{
min-height:58px}
.brand img{
width:35px}
.brand small{
display:none}
.header .brand b{
font-size:18px}
.contact-dock{
padding-block:5px}
.dock-button{
min-height:68px;
padding-block:3px}
.dock-eyebrow{
font-size:12px}
.dock-button strong{
font-size:17px}
.dock-button small{
font-size:20px}
.contact-dock .dock-button .dock-compact{
display:none}
.contact-dock .dock-phone .dock-eyebrow .dock-compact{
display:block}
.dock-appraisal strong>span{
display:inline-block}
html{
scroll-padding-top:72px;
scroll-padding-bottom:90px}
}

@media(prefers-reduced-motion:reduce){
html{
scroll-behavior:auto}
*{
animation:none!important;
transition:none!important}
}
@media print{
.review-bar,.header,.contact-dock,.inquiry,.mini-cta .button,.button{
display:none!important}
.wrap{
width:100%;
max-width:none}
.section{
padding:25px 0;
break-inside:avoid}
.hero{
padding-top:0}
.footer{
padding-bottom:20px}
.hero-visual{
max-width:380px}
body{
font-size:12pt}
details>p{
display:block}
.case-material{
height:auto}
}


.case-thumb{
display:block;
width:100%;
padding:0;
background:transparent;
border:0;
text-align:inherit;
cursor:zoom-in}
.case-thumb:hover .case-material{
border-color:var(--blue)}


/* Direct contact revision. Preserve the approved editorial layout. */
.header-cta{
display:inline-flex;
align-items:center;
min-height:44px}

.hero-direct{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
max-width:550px;
margin-top:26px}

.quick-link{
display:flex;
flex-direction:column;
justify-content:center;
gap:5px;
min-height:82px;
padding:14px 16px;
border:1.5px solid var(--blue);
border-radius:var(--radius);
letter-spacing:0;
line-height:1.45}

.quick-link>span{
font-size:15px;
font-weight:700}

.quick-link>b{
font-size:20px;
white-space:nowrap}

.quick-link i{
font-style:normal;
margin-left:6px}

.quick-phone{
background:#fff;
color:var(--blue)}

.quick-mail{
background:var(--orange);
border-color:var(--orange);
color:#fff;
box-shadow:0 3px 0 #7e3008}

.quick-phone:hover{
background:var(--pale)}

.quick-mail:hover{
background:#913a0d}

.frontage{
display:flex;
align-items:center;
justify-content:center;
padding:0;
background:var(--pale)}

.frontage svg{
width:100%;
max-width:280px;
height:auto;
display:block;
font-family:inherit;
letter-spacing:0}

.direct-contact{
padding-block:76px}

.direct-heading{
text-align:center}

.direct-heading .section-label{
justify-content:center}

.direct-contact h2{
font-size:clamp(30px,3.35vw,46px);
line-height:1.5}

.direct-heading>p:last-child{
margin-top:22px;
font-size:18px}

.direct-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:24px;
margin:38px auto 0;
max-width:1060px}

.direct-card{
display:flex;
flex-direction:column;
align-items:center;
padding:28px 24px 0;
border:2px solid var(--blue);
border-radius:var(--radius);
background:#fff;
line-height:1.5;
letter-spacing:0;
min-width:0}

.direct-label{
display:flex;
align-items:center;
gap:12px;
font-size:24px;
font-weight:800;
color:var(--blue)}

.direct-label svg{
width:28px;
height:28px;
fill:none;
stroke:currentColor;
stroke-width:1.8;
stroke-linejoin:round;
flex-shrink:0}

.direct-value{
font-size:clamp(27px,3vw,42px);
font-weight:800;
color:var(--blue);
white-space:nowrap;
margin-top:16px;
line-height:1.6;
font-variant-numeric:tabular-nums}

.direct-detail{
font-size:16px;
margin-top:6px;
margin-bottom:24px;
color:var(--muted)}

.direct-action{
align-self:stretch;
display:flex;
align-items:center;
justify-content:space-between;
gap:15px;
background:var(--blue);
color:#fff;
font-size:20px;
font-weight:800;
min-height:60px;
padding:14px 22px;
margin:auto -24px 0}

.direct-action b{
font-size:26px;
line-height:1}

.direct-mail{
border-color:var(--orange)}

.direct-mail .direct-label,.direct-mail .direct-value{
color:var(--orange)}

.direct-mail .direct-value{
font-size:clamp(20px,2.18vw,30px);
line-height:2.24}

.direct-mail .direct-action{
background:var(--orange)}

.direct-card:hover .direct-action{
filter:brightness(.88)}

.direct-footnote{
text-align:center;
font-size:16px;
margin-top:22px}

.dock-mail{
background:var(--orange);
border-color:var(--orange);
box-shadow:0 2px 0 #7e3008;
color:#fff}

.dock-mail:hover{
background:#913a0d}

.dock-mail strong{
white-space:nowrap}

.dock-mail strong>span{
font-size:22px;
margin-left:8px}

.team{
background:#f5f8fa;
border-block:1px solid var(--line)}

.team-grid{
display:grid;
grid-template-columns:1fr 1.25fr;
gap:72px;
align-items:center}

.team-proof{
border:3px double var(--blue);
background:#fff;
padding:32px}

.team-proof .section-label{
font-size:20px;
margin-bottom:25px;
gap:10px}

.team-proof .section-label:before{
width:20px}

.proof-label{
font-size:23px;
color:var(--deep);
font-weight:800}

.proof-value{
line-height:1.4;
color:var(--blue);
white-space:nowrap;
letter-spacing:-.02em}

.proof-value strong{
font-size:clamp(64px,7vw,86px);
font-weight:800}

.proof-value span{
font-size:28px;
font-weight:800;
margin-left:9px}

.proof-source{
font-size:14px;
color:var(--muted);
margin-top:14px}

.team-copy>p{
margin-top:20px;
font-size:18px}

.team-scopes{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
margin-top:24px}

.team-scopes span{
font-size:16px;
font-weight:700;
padding:13px 12px;
background:#fff;
border:1px solid var(--line);
border-top:3px solid var(--blue);
text-align:center}

.team-copy>p.team-experts{
font-size:16px;
color:var(--muted)}

.footer>.wrap{
display:grid;
grid-template-columns:1fr auto;
gap:22px}

.company-brief{
grid-column:1/-1;
grid-row:2;
padding-top:22px;
border-top:1px solid var(--line);
font-size:14px;
line-height:1.8}

.company-brief b{
font-size:17px;
margin-right:18px}

.company-brief p>span{
display:inline-block}

.company-brief a{
display:inline-flex;
min-height:44px;
align-items:center;
gap:18px;
color:var(--blue);
font-weight:700;
border-bottom:1px solid var(--blue);
margin-top:10px}

@media(max-width:1100px){

 .hero-direct{
grid-template-columns:1fr;
max-width:440px;
gap:10px}

 .quick-link{
min-height:62px;
flex-direction:row;
justify-content:space-between;
align-items:center}

 .direct-grid{
gap:18px}

 .direct-card{
padding-inline:18px}

 .direct-action{
margin-inline:-18px}

 .direct-detail{
font-size:15px}

 .team-grid{
gap:32px}

 .team-proof{
padding:25px}

 .team-proof .section-label{
font-size:18px;
display:block}

 .team-proof .section-label:before{
display:none}

 .proof-value strong{
font-size:65px}

 .team-scopes{
grid-template-columns:1fr}

}

@media(max-width:799px){

 .direct-grid{
grid-template-columns:1fr;
max-width:520px}

 .direct-value{
font-size:38px}

 .direct-mail .direct-value{
font-size:26px;
line-height:1.6}

 .direct-action{
margin-top:0}

 .hero-direct{
max-width:500px;
grid-template-columns:1fr 1fr}

 .quick-link{
flex-direction:column;
justify-content:center;
align-items:flex-start}

 .team-grid{
grid-template-columns:1fr}

 .team-proof{
max-width:520px;
width:100%;
margin:auto}

 .team-scopes{
grid-template-columns:1fr 1fr}

}

@media(max-width:599px){

 .header-cta{
display:none}

 .hero-direct{
order:6;
grid-template-columns:1fr;
gap:10px;
max-width:none;
margin-top:24px}

 .quick-link{
flex-direction:row;
align-items:center;
justify-content:space-between;
padding:13px 15px;
min-height:57px}

 .quick-link>span{
font-size:15px}

 .quick-link>b{
font-size:18px}

 .frontage-case.property-case{
grid-template-columns:1fr;
gap:0}

 .frontage-case .frontage{
grid-column:1;
grid-row:3;
height:188px;
margin:14px 0}

 .frontage-case .scenario,.frontage-case.property-case>p:not(.scenario):not(.answer){
grid-column:1}

 .frontage-case .scenario{
font-size:20px;
margin:18px 0 10px}

 .frontage-case.property-case>p:not(.scenario):not(.answer){
grid-row:4;
margin-top:0}

 .frontage-case .answer{
grid-row:5}

 .frontage-case .scenario br{
display:none}

 .direct-contact{
padding-block:52px}

 .direct-contact h2{
font-size:clamp(29px,7.5vw,35px)}

 .direct-heading>p:last-child{
font-size:16px;
margin-top:18px}

 .direct-grid{
margin-top:28px;
gap:20px}

 .direct-card{
padding:22px 18px 0}

 .direct-label{
font-size:22px}

 .direct-label svg{
width:26px;
height:26px}

 .direct-value{
font-size:clamp(27px,7.7vw,34px);
margin-top:14px}

 .direct-mail .direct-value{
font-size:clamp(18px,5.15vw,23px)}

 .direct-detail{
font-size:14px;
text-align:center;
margin-bottom:22px}

 .direct-action{
font-size:19px;
min-height:56px;
margin-inline:-18px;
padding:13px 18px}

 .direct-footnote{
font-size:15px;
text-align:left;
margin-top:20px}

 .dock-mail strong{
font-size:19px}

 .dock-mail strong>span{
display:none}

 .dock-mail .dock-eyebrow{
font-size:12px}

 .team-proof{
padding:24px}

 .team-proof .section-label{
font-size:20px;
margin-bottom:18px}

 .proof-label{
font-size:21px}

 .proof-value strong{
font-size:clamp(60px,18vw,78px)}

 .proof-value span{
font-size:26px}

 .team-copy>p{
font-size:16px}

 .team-scopes{
grid-template-columns:1fr;
gap:10px}

 .team-scopes span{
font-size:17px;
text-align:left;
padding-inline:18px}

 .footer>.wrap{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:20px}

 .company-brief b{
display:block;
margin:0 0 7px}

 .footer .small{
margin-top:0}

}

@media(max-width:359px){

 .quick-link{
padding-inline:10px;
gap:6px}

 .quick-link>b{
font-size:17px}

 .quick-link>span{
font-size:14px}

 .direct-mail .direct-value{
font-size:18px}

 .dock-mail strong{
font-size:18px}

}

@media(max-height:450px){
.dock-mail .dock-eyebrow{
font-size:12px}
.dock-mail strong{
font-size:18px}
}


/* Copy/order retake: keep the approved design and readable type sizes. */
.referral-note{
padding-top:18px;
color:var(--blue);
font-size:17px;
font-weight:700;
line-height:1.85;
letter-spacing:0}

.settlement-note{
padding-top:5px;
font-size:13px;
line-height:1.8}

.retake-terms-title .headline-statement{
display:block}

.retake-terms-title .chunk,.referral-note .chunk{
white-space:nowrap}

@media(max-width:599px){

 .referral-note{
padding-top:16px;
font-size:16px;
line-height:1.85}

 .settlement-note{
font-size:12px;
line-height:1.8}

}


