.espwa-addr{
--addr-navy:#1a4f96;
--addr-navy-deep:#0b3a6d;
--addr-ink:#1c3f78;
--addr-muted:#2a4d82;
--addr-orange:#f4a000;
--addr-orange-hot:#ff8c00;
--addr-gold:#e8c43d;
--addr-card:#ffffff;
--addr-bg:#ffffff;
--addr-radius:20px;
--addr-shadow:0 12px 28px rgba(18,50,100,.12);
--addr-pin:#f4a000;
--addr-map-land:#eef6ee;
--addr-map-sea:#d5eaf8;
--addr-map-route:#1f73c4;
--addr-map-start:#1f73c4;
--addr-map-end:#f4a000;
background:var(--addr-bg);
padding:36px 0 72px;
}

.espwa-addr .container{
max-width:1160px;
}

.espwa-addr-hero{
display:grid;
grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);
gap:20px 32px;
align-items:center;
margin-bottom:38px;
}

.espwa-addr-hero__info{
display:flex;
align-items:flex-start;
gap:14px;
max-width:540px;
}

.espwa-addr-pin{
flex:0 0 auto;
width:32px;
height:40px;
margin-top:2px;
filter:drop-shadow(0 6px 8px rgba(244,160,0,.32));
}

.espwa-addr-kicker{
margin:0 0 7px;
font-size:24px;
line-height:1.15;
font-weight:700;
letter-spacing:-.02em;
color:#111;
}

.espwa-addr-copy{
margin:0;
font-size:16px;
line-height:1.65;
font-weight:400;
letter-spacing:.01em;
color:#111;
}

.espwa-addr-maps{
display:flex;
justify-content:center;
margin-top:76px;
}

.espwa-addr-maps-btn{
display:inline-flex;
align-items:center;
gap:10px;
padding:11px 16px 11px 12px;
border-radius:999px;
background:linear-gradient(135deg,#ffb347 0%, #f4a000 42%, #ff8c00 100%);
color:#fff !important;
text-decoration:none !important;
font-size:14.5px;
font-weight:700;
letter-spacing:.01em;
box-shadow:0 8px 18px rgba(244,160,0,.28);
transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.espwa-addr-maps-btn:hover,
.espwa-addr-maps-btn:focus{
color:#fff !important;
transform:translateY(-2px);
box-shadow:0 12px 24px rgba(244,160,0,.36);
filter:brightness(1.03);
}

.espwa-addr-maps-btn__icon{
flex:0 0 auto;
width:28px;
height:28px;
border-radius:50%;
background:rgba(255,255,255,.2);
color:#fff;
display:inline-flex;
align-items:center;
justify-content:center;
}

.espwa-addr-maps-btn__icon svg{
width:16px;
height:16px;
display:block;
}

.espwa-addr-maps-btn__label{
line-height:1;
}

.espwa-addr-maps-btn__arrow{
flex:0 0 auto;
width:16px;
height:16px;
opacity:.9;
transition:transform .22s ease;
}

.espwa-addr-maps-btn:hover .espwa-addr-maps-btn__arrow,
.espwa-addr-maps-btn:focus .espwa-addr-maps-btn__arrow{
transform:translateX(3px);
}

.espwa-addr-map{
display:flex;
align-items:center;
justify-content:flex-end;
text-decoration:none;
border-radius:18px;
transition:transform .22s ease, filter .22s ease;
}

.espwa-addr-map:hover,
.espwa-addr-map:focus{
transform:translateY(-2px);
filter:saturate(1.08);
}

.espwa-addr-map svg{
width:100%;
max-width:430px;
height:auto;
display:block;
}

.espwa-addr-steps{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:26px;
}

.espwa-addr-step{
padding-bottom:6px;
}

.espwa-addr-step__head{
display:flex;
align-items:center;
gap:12px;
margin:0 0 14px;
}

.espwa-addr-step__num{
flex:0 0 auto;
width:26px;
height:26px;
border-radius:50%;
background:var(--addr-navy);
color:#fff;
font-size:12px;
font-weight:700;
letter-spacing:0;
display:inline-flex;
align-items:center;
justify-content:center;
box-shadow:0 4px 10px rgba(26,79,150,.26);
}

.espwa-addr-step__title{
margin:0;
font-size:16px;
line-height:1.3;
font-weight:600;
font-style:italic;
letter-spacing:-.015em;
color:#111;
}

.espwa-addr-step__visual{
position:relative;
}

.espwa-addr-step__visual img{
width:100%;
aspect-ratio:5/4;
object-fit:cover;
object-position:center;
border-radius:var(--addr-radius);
display:block;
}

.espwa-addr-step__caption{
position:absolute;
left:12px;
right:12px;
bottom:-32px;
display:flex;
align-items:center;
gap:12px;
background:var(--addr-card);
border-radius:16px;
padding:15px 16px;
box-shadow:var(--addr-shadow);
min-height:86px;
}

.espwa-addr-step__icon{
flex:0 0 auto;
width:40px;
height:40px;
color:var(--addr-navy);
display:flex;
align-items:center;
justify-content:center;
}

.espwa-addr-step__icon svg{
width:32px;
height:32px;
display:block;
}

.espwa-addr-step__text{
margin:0;
font-size:13px;
line-height:1.55;
font-weight:400;
letter-spacing:.01em;
color:#111;
}

.espwa-addr-help{
display:flex;
align-items:center;
justify-content:center;
gap:14px;
margin-top:14px;
padding:18px 24px;
background:var(--addr-navy-deep);
border-radius:16px;
text-decoration:none !important;
color:#fff !important;
box-shadow:0 10px 24px rgba(11,58,109,.2);
transition:transform .22s ease, background .22s ease;
}

.espwa-addr-help:hover,
.espwa-addr-help:focus{
color:#fff !important;
background:#0a3260;
transform:translateY(-1px);
}

.espwa-addr-help__icon{
flex:0 0 auto;
width:38px;
height:38px;
color:var(--addr-orange-hot);
}

.espwa-addr-help__icon svg{
width:34px;
height:34px;
display:block;
}

.espwa-addr-help__label{
font-style:italic;
font-weight:700;
font-size:16px;
letter-spacing:-.01em;
color:var(--addr-gold);
margin-right:6px;
}

.espwa-addr-help__text{
margin:0;
font-size:15px;
line-height:1.4;
font-weight:500;
letter-spacing:.01em;
color:#fff;
}

.espwa-addr-help__text b{
font-weight:800;
}

.espwa-addr--page{
--addr-pin:#1a1d23;
--addr-map-land:#f3f4ee;
--addr-map-sea:#e4f28a;
--addr-map-route:#1a1d23;
--addr-map-start:#1a1d23;
--addr-map-end:#c8e24a;
--addr-card:#f6f7f0;
--addr-shadow:none;
padding:48px 0 88px;
}

.espwa-addr--page .container{
width:min(1180px,calc(100% - 48px));
max-width:1180px;
margin:0 auto;
padding:0;
}

.espwa-addr-crumb{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:6px 8px;
margin:0 0 36px;
color:#98a2b3;
font-family:Montserrat,sans-serif;
font-size:12px;
font-weight:500;
letter-spacing:.02em;
}

.espwa-addr-crumb a{
color:#98a2b3;
text-decoration:none;
}

.espwa-addr-crumb a:hover{
color:#1a1d23;
text-decoration:none;
}

.espwa-addr-crumb span{
color:#c5cad3;
}

.espwa-addr-crumb strong{
color:#1a1d23;
font-weight:600;
}

.espwa-addr--page .espwa-addr-hero{
grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
gap:48px 64px;
align-items:center;
margin-bottom:72px;
}

.espwa-addr--page .espwa-addr-hero__info{
align-items:flex-start;
gap:16px;
max-width:none;
}

.espwa-addr--page .espwa-addr-pin{
width:48px;
height:48px;
margin-top:4px;
padding:12px;
border-radius:14px;
background:#e4f28a;
filter:none;
box-sizing:border-box;
}

.espwa-addr--page .espwa-addr-pin svg{
display:block;
width:100%;
height:100%;
}

.espwa-addr--page .espwa-addr-kicker{
margin:0 0 14px;
color:#98a2b3;
font-size:10px;
font-weight:700;
letter-spacing:.14em;
text-transform:uppercase;
}

.espwa-addr--page .espwa-addr-title{
margin:0 0 18px;
color:#1a1d23;
font-family:"Fraunces",Georgia,serif;
font-size:clamp(32px,4.4vw,52px);
font-weight:500;
line-height:1.12;
letter-spacing:-.03em;
}

.espwa-addr--page .espwa-addr-copy{
margin:0;
color:#3d4450;
font-size:16.5px;
line-height:1.8;
max-width:38em;
}

.espwa-addr--page .espwa-addr-maps-btn{
gap:12px;
width:max-content;
max-width:100%;
margin-top:28px;
padding:5px 5px 5px 16px;
border-radius:14px;
background:#c8e24a;
color:#1c1a27 !important;
box-shadow:none;
font-family:Montserrat,sans-serif;
font-size:11px;
font-weight:700;
letter-spacing:.07em;
line-height:1;
text-transform:uppercase;
white-space:nowrap;
transform:none;
filter:none;
}

.espwa-addr--page .espwa-addr-maps-btn:hover,
.espwa-addr--page .espwa-addr-maps-btn:focus{
background:#d3ec5a;
color:#1c1a27 !important;
transform:none;
box-shadow:none;
filter:none;
}

.espwa-addr--page .espwa-addr-maps-btn__arrow{
width:34px;
height:34px;
border-radius:10px;
background:#fff;
color:#1c1a27;
opacity:1;
display:inline-flex;
align-items:center;
justify-content:center;
transition:transform .22s ease;
}

.espwa-addr--page .espwa-addr-maps-btn__arrow svg{
width:16px;
height:16px;
display:block;
}

.espwa-addr--page .espwa-addr-maps-btn:hover .espwa-addr-maps-btn__arrow,
.espwa-addr--page .espwa-addr-maps-btn:focus .espwa-addr-maps-btn__arrow{
transform:translate(1px,-1px);
}

.espwa-addr--page .espwa-addr-map{
position:relative;
justify-content:center;
padding:36px 28px 28px;
background:#f6f7f0;
border-radius:28px;
overflow:hidden;
}

.espwa-addr--page .espwa-addr-map::before{
content:"";
position:absolute;
top:-28px;
right:-24px;
width:140px;
height:140px;
border-radius:50%;
background:#e4f28a;
z-index:0;
pointer-events:none;
}

.espwa-addr--page .espwa-addr-map::after{
content:"";
position:absolute;
bottom:-36px;
left:-28px;
width:96px;
height:96px;
border-radius:24px;
background:#c8e24a;
opacity:.42;
transform:rotate(-12deg);
z-index:0;
pointer-events:none;
}

.espwa-addr--page .espwa-addr-map svg{
position:relative;
z-index:1;
max-width:none;
}

.espwa-addr--page .espwa-addr-map:hover,
.espwa-addr--page .espwa-addr-map:focus{
transform:none;
filter:none;
}

.espwa-addr-intro{
margin:0 0 28px;
}

.espwa-addr-intro h2{
margin:0;
color:#1a1d23;
font-family:"Fraunces",Georgia,serif;
font-size:clamp(26px,3vw,36px);
font-weight:500;
line-height:1.15;
letter-spacing:-.03em;
}

.espwa-addr--page .espwa-addr-steps{
gap:28px 20px;
}

.espwa-addr--page .espwa-addr-step{
padding-bottom:0;
}

.espwa-addr--page .espwa-addr-step__num{
width:28px;
height:28px;
background:#c8e24a;
color:#1c1a27;
box-shadow:none;
font-weight:700;
}

.espwa-addr--page .espwa-addr-step__title{
font-family:"Fraunces",Georgia,serif;
font-size:20px;
font-weight:500;
font-style:italic;
letter-spacing:-.02em;
color:#1a1d23;
}

.espwa-addr--page .espwa-addr-step__visual img{
border-radius:24px;
aspect-ratio:4/3;
}

.espwa-addr--page .espwa-addr-step__caption{
position:static;
left:auto;
right:auto;
bottom:auto;
margin:12px 0 0;
padding:16px 16px 14px;
min-height:0;
border-radius:18px;
background:#f6f7f0;
box-shadow:none;
}

.espwa-addr--page .espwa-addr-step__icon{
width:40px;
height:40px;
border-radius:12px;
background:#e4f28a;
color:#1c1a27;
}

.espwa-addr--page .espwa-addr-step__icon svg{
width:22px;
height:22px;
}

.espwa-addr--page .espwa-addr-step__text{
font-size:13.5px;
line-height:1.6;
color:#3d4450;
}

.espwa-addr--page .espwa-addr-help{
justify-content:flex-start;
margin-top:56px;
padding:22px 24px;
background:#f6f7f0;
border-radius:20px;
color:#1a1d23 !important;
box-shadow:none;
}

.espwa-addr--page .espwa-addr-help:hover,
.espwa-addr--page .espwa-addr-help:focus{
background:#eef0e6;
color:#1a1d23 !important;
transform:none;
}

.espwa-addr--page .espwa-addr-help__icon{
width:48px;
height:48px;
border-radius:14px;
background:#e4f28a;
color:#1c1a27;
display:inline-flex;
align-items:center;
justify-content:center;
}

.espwa-addr--page .espwa-addr-help__icon svg{
width:22px;
height:22px;
}

.espwa-addr--page .espwa-addr-help__text{
color:#3d4450;
font-size:15px;
font-weight:500;
}

.espwa-addr--page .espwa-addr-help__label{
display:block;
margin:0 0 4px;
color:#1a1d23;
font-family:"Fraunces",Georgia,serif;
font-size:20px;
font-style:italic;
font-weight:500;
letter-spacing:-.02em;
}

.espwa-addr--page .espwa-addr-help__text b{
color:#1a1d23;
font-weight:700;
}

.espwa-addr--home{
padding:40px 0 56px;
}

.espwa-addr--home .espwa-addr-hero{
margin-bottom:48px;
gap:36px 48px;
}

.espwa-addr--home .espwa-addr-title{
font-size:clamp(28px,3.4vw,44px);
margin-bottom:14px;
}

.espwa-addr--home .espwa-addr-maps-btn{
margin-top:22px;
}

@media (max-width:1100px){
.espwa-addr-step__title{
font-size:15px;
}
.espwa-addr--page .espwa-addr-step__title{
font-size:18px;
}
.espwa-addr-help__text,
.espwa-addr-help__label{
font-size:14px;
}
.espwa-addr--page .espwa-addr-help__label{
font-size:18px;
}
}

@media (max-width:991px){
.espwa-addr{
padding:16px 0 48px;
}
.espwa-addr--page{
padding:32px 0 64px;
}
.espwa-addr--home{
padding:28px 0 40px;
}
.espwa-addr-hero,
.espwa-addr--page .espwa-addr-hero{
grid-template-columns:1fr;
margin-bottom:24px;
}
.espwa-addr--page .espwa-addr-hero{
margin-bottom:48px;
gap:28px;
}
.espwa-addr-map{
justify-content:flex-start;
}
.espwa-addr-map svg{
max-width:300px;
}
.espwa-addr--page .espwa-addr-map svg{
max-width:none;
}
.espwa-addr-steps{
grid-template-columns:1fr;
gap:56px;
max-width:540px;
margin:0 auto;
}
.espwa-addr--page .espwa-addr-steps{
gap:28px;
max-width:none;
}
.espwa-addr-maps{
margin-top:62px;
}
.espwa-addr-help{
margin-top:18px;
flex-wrap:wrap;
text-align:center;
padding:20px 16px;
}
.espwa-addr--page .espwa-addr-help{
margin-top:40px;
text-align:left;
}
}

@media (max-width:760px){
.espwa-addr-kicker{
font-size:20px;
}
.espwa-addr--page .espwa-addr-kicker{
font-size:10px;
}
.espwa-addr-pin{
width:28px;
height:36px;
}
.espwa-addr--page .espwa-addr-pin{
width:44px;
height:44px;
padding:10px;
}
.espwa-addr-copy{
font-size:15px;
}
.espwa-addr--page .espwa-addr-copy{
font-size:15.5px;
}
.espwa-addr-maps{
margin-top:56px;
}
.espwa-addr-maps-btn{
padding:12px 16px 12px 12px;
}
.espwa-addr--page .espwa-addr-maps-btn{
padding:5px 5px 5px 16px;
}
.espwa-addr-map{
display:none;
}
.espwa-addr--page .espwa-addr-map{
display:flex;
}
.espwa-addr-step__title{
font-size:15px;
}
.espwa-addr--page .espwa-addr-step__title{
font-size:18px;
}
.espwa-addr-step__visual img{
aspect-ratio:4/3;
}
.espwa-addr-step__caption{
left:10px;
right:10px;
bottom:-26px;
min-height:0;
padding:13px 12px;
}
.espwa-addr--page .espwa-addr-step__caption{
left:auto;
right:auto;
bottom:auto;
padding:14px;
}
.espwa-addr-help__text,
.espwa-addr-help__label{
font-size:14px;
}
.espwa-addr--page .container{
width:min(1180px,calc(100% - 32px));
}
}
