/* Canarias Prime Homes — v3 · editorial / Atlantic / light */
@font-face{font-family:"Manrope";src:url(/assets/fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";src:url(/assets/fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant";src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF}
@font-face{font-family:"Cormorant";src:url(/assets/fonts/cormorant-garamond-latin-ext-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF}
@font-face{font-family:"Cormorant";src:url(/assets/fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+20AC}

:root{
  --bg:#F7F5F0;--bg2:#EFEAE1;--paper:#FFFFFF;--ink:#1C2526;--ink2:#4F5A5B;--ink3:#7C8586;
  --line:rgba(28,37,38,.13);--line2:rgba(28,37,38,.07);
  --accent:#163D3A;--accent2:#1E4F4B;--sand:#D7C8B2;--sand2:#CDBB9E;--sand3:#E7DDCD;
  --serif:"Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --gut:clamp(20px,5vw,72px);--max:1320px;
  --sec:clamp(88px,11vw,168px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --r:2px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:500}
ul,ol{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px}
.skip:focus{left:8px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ic{width:20px;height:20px;flex:none}
.ic--sm{width:16px;height:16px}

/* layout */
.wrap{width:100%;max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:0 var(--gut)}
.sec{padding:var(--sec) 0}
.sec--paper{background:var(--paper)}
.sec--sand{background:var(--bg2)}

/* type */
.kicker{display:flex;align-items:center;gap:14px;margin:0 0 26px;font:600 11.5px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.55}
.kicker--light{color:rgba(255,255,255,.86)}
.h1,.h2,.h3{font-family:var(--serif);font-weight:500;letter-spacing:-.012em;color:var(--ink)}
.h2{font-size:clamp(36px,5.2vw,72px);line-height:1.04;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
.cta__grid>*,.value__grid>*,.price__grid>*,.why__grid>*,.fd__grid>*,.faq__grid>*,.team__box>*{min-width:0}
.h2 em,.h1 em{font-style:italic;color:var(--accent)}
.h2--md{font-size:clamp(34px,4.1vw,56px)}
.h2--light,.h2--light em{color:#fff}
.h3{font-size:clamp(24px,2.2vw,30px);line-height:1.15}
.lead{font-size:clamp(17px,1.35vw,19px);line-height:1.7;color:var(--ink2);max-width:40em}
.muted{color:var(--ink3)}
.head{max-width:860px;margin-bottom:clamp(48px,6vw,88px)}
.head .lead{margin-top:26px}
.head--split{max-width:none;display:grid;gap:28px}
@media(min-width:980px){.head--split{grid-template-columns:1.1fr .9fr;align-items:end;gap:80px}.head--split .lead{margin:0}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;border:1px solid transparent;border-radius:var(--r);font:600 12.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease);white-space:nowrap}
.btn .ic{width:18px;height:18px;transition:transform .45s var(--ease)}
.btn:hover .ic--go{transform:translateX(4px)}
.btn--accent{background:var(--accent);color:#fff}
.btn--accent:hover{background:var(--ink)}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{background:var(--sand3)}
.btn--ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.04);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn--ghost:hover{background:rgba(255,255,255,.14);border-color:#fff}
.btn--line{border-color:var(--line);color:var(--ink);background:transparent}
.btn--line:hover{border-color:var(--ink)}
.btn--sm{min-height:42px;padding:0 18px;font-size:11.5px}
.btn--block{width:100%}
.link{display:inline-flex;align-items:center;gap:10px;font:600 12.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding-bottom:6px;border-bottom:1px solid currentColor}
.link .ic{width:16px;height:16px;transition:transform .45s var(--ease)}
.link:hover .ic{transform:translateX(4px)}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:100;color:#fff;transition:background .45s var(--ease),color .45s var(--ease),transform .5s var(--ease),box-shadow .45s var(--ease)}
.hdr__in{display:flex;align-items:center;gap:24px;height:84px;max-width:calc(var(--max) + var(--gut)*2);margin:0 auto;padding:0 var(--gut);transition:height .45s var(--ease)}
.hdr.is-solid,.hdr.is-static{background:rgba(247,245,240,.94);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);color:var(--ink);box-shadow:0 1px 0 var(--line2)}
.hdr.is-solid .hdr__in{height:70px}
.hdr.is-hidden{transform:translateY(-100%)}
.brand{display:flex;align-items:center;gap:12px;flex:none;margin-right:auto}
.brand img{width:42px;height:42px}
.brand__dark{display:none}
.hdr.is-solid .brand__light,.hdr.is-static .brand__light,body.menu-open .brand__light{display:none}
.hdr.is-solid .brand__dark,.hdr.is-static .brand__dark,body.menu-open .brand__dark{display:block}
.brand__word{display:flex;flex-direction:column;font-family:var(--serif);font-size:19px;line-height:1;letter-spacing:.2em;text-transform:uppercase}
.brand__word small{font-family:var(--sans);font-size:8.5px;letter-spacing:.42em;margin-top:5px;opacity:.8}
.nav{display:none}
.nav ul{display:flex;gap:30px}
.nav a{position:relative;font-size:13.5px;font-weight:500;letter-spacing:.02em;padding:6px 0;opacity:.9;transition:opacity .3s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav a:hover,.nav a.is-on{opacity:1}
.nav a:hover::after,.nav a.is-on::after{transform:scaleX(1)}
.hdr__end{display:flex;align-items:center;gap:18px}
.lang{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.1em}
.lang a{opacity:.55;padding:6px 2px;transition:opacity .3s}
.lang a[aria-current],.lang a:hover{opacity:1}
.lang span{opacity:.3}
.hdr__cta{display:none}
.hdr .btn--accent{background:#fff;color:var(--ink)}
.hdr.is-solid .btn--accent,.hdr.is-static .btn--accent{background:var(--accent);color:#fff}
.burger{width:44px;height:44px;display:grid;place-content:center;gap:7px;background:none;border:0;cursor:pointer;color:inherit;margin-right:-10px}
.burger i{display:block;width:24px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
body.menu-open .burger i:first-child{transform:translateY(4.25px) rotate(45deg)}
body.menu-open .burger i:last-child{transform:translateY(-4.25px) rotate(-45deg)}
body.menu-open .hdr{background:var(--bg);color:var(--ink);box-shadow:none;transform:none}
@media(min-width:760px){.hdr__cta{display:inline-flex}}
@media(min-width:1180px){.nav{display:block}.burger{display:none}}

/* mobile menu */
.menu{position:fixed;inset:0;z-index:90;background:var(--bg);padding:104px var(--gut) 32px;overflow-y:auto;opacity:0;transform:translateY(-8px);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.menu.is-open{opacity:1;transform:none}
.menu__in{display:flex;flex-direction:column;min-height:100%;gap:40px}
.menu__links li{border-bottom:1px solid var(--line2)}
.menu__links a{display:flex;align-items:baseline;gap:18px;padding:16px 0;font-family:var(--serif);font-size:clamp(30px,8vw,40px);line-height:1.1}
.menu__links a small{font:600 11px/1 var(--sans);letter-spacing:.14em;color:var(--ink3);width:22px}
.menu__foot{margin-top:auto;display:grid;gap:14px}
.menu__foot .lang{justify-content:center;font-size:13px;gap:22px;padding-top:6px}
body.menu-open{overflow:hidden}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#20302f}
.hero__img{position:absolute;inset:0}
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:62% 55%;transform:scale(1.06);transition:transform 2.4s var(--ease)}
.is-ready .hero__img img{transform:scale(1)}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,22,24,.42) 0%,rgba(12,22,24,0) 26%,rgba(12,22,24,0) 42%,rgba(12,22,24,.62) 100%),linear-gradient(90deg,rgba(12,22,24,.38),rgba(12,22,24,0) 62%)}
@media(max-width:760px){.hero__shade{background:linear-gradient(180deg,rgba(12,22,24,.5) 0%,rgba(12,22,24,.34) 30%,rgba(12,22,24,.62) 55%,rgba(12,22,24,.8) 100%)}}
.hero__in{position:relative;padding-top:140px;padding-bottom:clamp(40px,7vh,84px);width:100%}
.hero__h{font-family:var(--serif);font-weight:500;font-size:clamp(48px,8.4vw,128px);line-height:.96;letter-spacing:-.02em;margin:0 0 30px;max-width:11em}
.hero__h span{display:block}
.hero__h em{font-style:italic;color:var(--sand3)}
.hero__sub{font-size:clamp(16px,1.45vw,19px);line-height:1.65;max-width:34em;color:rgba(255,255,255,.9);margin-bottom:38px}
.hero__sub strong{font-weight:600;color:#fff;display:block;margin-bottom:6px}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:clamp(44px,8vh,90px);padding-top:22px;border-top:1px solid rgba(255,255,255,.26);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.hero__foot span:last-child{display:none}
@media(min-width:760px){.hero__foot span:last-child{display:inline}}
@media(max-width:560px){.hero__ctas .btn{width:100%}.hero__h{margin-bottom:22px}}
.js [data-in]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js.is-ready [data-in]{opacity:1;transform:none}
.js.is-ready [data-in]:nth-child(2){transition-delay:.1s}
.js.is-ready .hero__h [data-in]:nth-child(2){transition-delay:.16s}
.js.is-ready .hero__sub{transition-delay:.28s}
.js.is-ready .hero__ctas{transition-delay:.38s}
.js.is-ready .hero__foot{transition-delay:.5s}

/* figures */
.figs{background:var(--paper);border-bottom:1px solid var(--line2)}
.figs ul{display:grid;grid-template-columns:1fr 1fr}
.figs li{padding:34px 0 34px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line2)}
.figs li:nth-child(odd){padding-right:18px}
.figs li:nth-child(even){padding-left:18px;border-left:1px solid var(--line2)}
.figs li:nth-child(-n+2){border-top:0}
.figs b{font-family:var(--serif);font-weight:500;font-size:clamp(46px,5.4vw,76px);line-height:.9;letter-spacing:-.02em;color:var(--ink)}
.figs b small{font-size:.6em;vertical-align:.28em;margin-right:2px;color:var(--accent)}
.figs b.figs__txt{font-size:clamp(22px,2vw,30px);line-height:1.15;letter-spacing:0;padding-top:.3em}
.figs span{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink3)}
@media(min-width:900px){.figs ul{grid-template-columns:repeat(4,1fr)}.figs li{padding:56px 36px!important;border-top:0!important;border-left:1px solid var(--line2)}.figs li:first-child{border-left:0;padding-left:0!important}}

/* value */
.value__grid{display:grid;gap:56px}
.value__txt .lead+.lead{margin-top:-4px}
.pillars{margin-top:44px;border-top:1px solid var(--line)}
.pillars li{display:grid;grid-template-columns:44px 1fr;gap:4px 18px;padding:22px 0;border-bottom:1px solid var(--line)}
.pillars i{font:500 italic 22px/1 var(--serif);color:var(--accent);padding-top:4px}
.pillars strong{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1}
.pillars p{grid-column:2;margin:0;color:var(--ink2);font-size:15px}
.value__img{position:relative}
.value__img .frame{aspect-ratio:4/5}
.cap{margin-top:14px;font-size:12px;letter-spacing:.06em;color:var(--ink3);display:flex;gap:10px;align-items:center}
.cap::before{content:"";width:18px;height:1px;background:currentColor}
@media(min-width:980px){.value__grid{grid-template-columns:1fr 1fr;gap:clamp(60px,8vw,130px);align-items:center}.value__img{order:-1}}

/* frames & images */
.frame{position:relative;overflow:hidden;background:var(--sand3)}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
a:hover .frame img,.frame:hover img{transform:scale(1.035)}

/* pricing */
.price{background:var(--paper)}
.price__grid{display:grid;gap:60px}
.price__quote{margin:36px 0 0;padding:4px 0 4px 26px;border-left:1px solid var(--accent);font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.3vw,32px);line-height:1.25;color:var(--ink)}
.factors{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px}
.factors li{font-size:13px;font-weight:500;padding:8px 14px;border:1px solid var(--line);border-radius:40px;color:var(--ink2)}
.price__tool{margin-top:30px;font-size:14px;color:var(--ink3)}
.price__tool strong{color:var(--ink);font-weight:600}
.viz{background:var(--bg);padding:clamp(20px,3vw,40px);border:1px solid var(--line2);width:100%;max-width:640px;margin:0 auto}
.viz__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:22px}
.viz__top b{font-family:var(--serif);font-weight:500;font-size:26px}
.viz__top span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal em{font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.1em;color:var(--ink3);text-align:center;padding-bottom:4px}
.cal i{position:relative;aspect-ratio:1/.74;border-radius:1px;background:rgba(22,61,58,var(--d,.08));font-style:normal;font-size:10px;color:var(--ink2);padding:5px 6px;line-height:1}
.cal i[data-hot]{color:#fff}@media(max-width:480px){.cal i[data-tag]::after{display:none}.cal{gap:3px}}
.cal i[data-tag]::after{content:attr(data-tag);position:absolute;left:6px;bottom:5px;font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:inherit;opacity:.85;white-space:nowrap}
.cal i.x{background:transparent}
.chart{margin-top:30px}
.chart svg{width:100%;height:auto;overflow:visible}
.chart__legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;font-size:12px;color:var(--ink2)}
.chart__legend span{display:inline-flex;align-items:center;gap:8px}
.chart__legend span::before{content:"";width:18px;height:2px;background:var(--accent)}
.chart__legend span.flat::before{background:none;border-top:1.5px dashed var(--sand2);height:0}
.viz__note{margin:18px 0 0;font-size:11.5px;color:var(--ink3)}
.js .viz .line{stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 2.2s var(--ease) .2s}
.js .viz.in .line{stroke-dashoffset:0}
@media(min-width:1040px){.price__grid{grid-template-columns:.92fr 1.08fr;gap:clamp(60px,7vw,110px);align-items:center}}

/* services */
.svc{display:grid;gap:0;border-top:1px solid var(--line)}
.svc__col{padding:34px 0 38px;border-bottom:1px solid var(--line)}
.svc__n{font:500 italic 20px/1 var(--serif);color:var(--accent)}
.svc__col h3{font-family:var(--serif);font-size:32px;line-height:1.1;margin:12px 0 20px}
.svc__col li{position:relative;padding:9px 0 9px 20px;font-size:15px;color:var(--ink2);border-top:1px solid var(--line2)}
.svc__col li:first-child{border-top:0}
.svc__col li::before{content:"";position:absolute;left:0;top:19px;width:8px;height:1px;background:var(--accent)}
@media(min-width:700px){.svc{grid-template-columns:1fr 1fr;column-gap:48px}}
@media(min-width:1100px){.svc{grid-template-columns:repeat(4,1fr);border-top:0}.svc__col{border-bottom:0;border-top:1px solid var(--ink);padding-top:30px}}

/* method */
.method{background:var(--bg2)}
.steps{display:grid;gap:0;counter-reset:s}
.steps li{position:relative;padding:36px 0;border-top:1px solid var(--line)}
.steps__n{display:block;font-family:var(--serif);font-size:clamp(64px,7vw,104px);line-height:.8;color:var(--sand2);letter-spacing:-.03em;margin-bottom:24px}
.steps h3{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.steps p{margin:0;color:var(--ink2);font-size:15.5px;max-width:24em}
@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr);column-gap:36px}.steps li{padding:30px 0 0}.steps li::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--accent)}}

/* portfolio */
.pf{display:grid;gap:clamp(40px,4vw,64px) 28px}
.pf__i a,.pf__i>div{display:block}
.pf__i .frame{aspect-ratio:4/3}
.pf__meta{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:18px}
.pf__meta h3{font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);line-height:1.1}
.pf__meta p{margin:6px 0 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.pf__type{font-size:12px;color:var(--ink3);white-space:nowrap;padding-top:6px}
.pf__tag{position:absolute;left:14px;top:14px;background:rgba(247,245,240,.92);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px}
@media(min-width:760px){.pf{grid-template-columns:repeat(6,1fr)}.pf__i{grid-column:span 3}.pf__i--xl{grid-column:span 4}.pf__i--xl .frame{aspect-ratio:16/11}.pf__i--sm{grid-column:span 2}.pf__i--sm .frame{aspect-ratio:3/4}.pf__i--sm .pf__meta{display:block}}
@media(min-width:760px){.pf__i--off{margin-top:clamp(40px,8vw,120px)}}
.hdfm{margin-top:clamp(64px,7vw,100px);padding:30px 0 0;border-top:1px solid var(--line);display:grid;gap:18px;align-items:center}
.hdfm p{margin:0;color:var(--ink2);max-width:52em}
.hdfm strong{color:var(--ink);font-weight:600}
@media(min-width:900px){.hdfm{grid-template-columns:1fr auto;gap:40px}}

/* why */
.why__grid{display:grid;gap:56px}
.why__img .frame{aspect-ratio:4/5}
.points{display:grid;gap:0;margin-top:40px;border-top:1px solid var(--line)}
.points li{padding:20px 0;border-bottom:1px solid var(--line)}
.points strong{display:block;font-weight:600;font-size:15.5px;margin-bottom:4px}
.points span{color:var(--ink2);font-size:15px}
@media(min-width:640px){.points{grid-template-columns:1fr 1fr;column-gap:32px}}
@media(min-width:1040px){.why__grid{grid-template-columns:1.15fr .85fr;gap:clamp(60px,7vw,120px);align-items:center}}

/* founders */
.founders{background:var(--paper)}
.fd__grid{display:grid;gap:52px}
.fd__photo{position:relative;aspect-ratio:16/10;background:linear-gradient(135deg,var(--sand3),var(--bg2));display:grid;place-items:center;overflow:hidden}
.fd__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fd__ph{text-align:center;padding:24px}
.fd__ph b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(56px,7vw,96px);line-height:1;color:var(--sand2);letter-spacing:.04em}
.fd__ph span{display:inline-block;margin-top:18px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);border:1px dashed var(--sand2);padding:8px 12px}
.fd__txt .lead{margin-bottom:20px}
.fd__names{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.fd__names strong{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.3vw,32px);line-height:1.1}
.fd__names span{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
@media(min-width:1040px){.fd__photo{aspect-ratio:4/5}.fd__grid{grid-template-columns:1.1fr .9fr;gap:clamp(60px,7vw,120px);align-items:center}}

/* team */

.team__box{display:grid;gap:30px;padding-top:clamp(56px,6vw,80px);border-top:1px solid var(--line)}
.team__roles{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px}
.team__roles li strong{display:block;font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.1;margin-bottom:6px}
.team__roles li span{font-size:14px;color:var(--ink2)}.team__roles li{min-width:0;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}@media(max-width:359px){.team__roles{grid-template-columns:1fr}}
.team__people{margin-top:6px;font-size:14px;color:var(--ink3)}
.team__people b{color:var(--ink);font-weight:600}
@media(min-width:1000px){.team__box{grid-template-columns:.8fr 1.2fr;gap:80px}}@media(min-width:1280px){.team__roles{grid-template-columns:repeat(4,1fr)}}

/* destinations */
.dest{background:var(--bg2)}
.isl{display:grid;gap:14px}
.isl__i{position:relative;overflow:hidden;color:#fff;min-height:360px;background:#2a3b3a}
.isl__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.isl__i:hover img{transform:scale(1.04)}
.isl__i::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,22,24,0) 45%,rgba(12,22,24,.62))}
.isl__cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:26px 26px 24px}
.isl__cap strong{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(32px,3.2vw,46px);line-height:1}
.isl__cap span{display:block;margin-top:10px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.84)}
@media(min-width:760px){.isl{grid-template-columns:repeat(3,1fr)}.isl__i--main{grid-column:1/-1;min-height:clamp(420px,46vw,620px)}.isl__i{min-height:clamp(380px,38vw,520px)}.isl__i--main .isl__cap{padding:44px}.isl__i--main .isl__cap strong{font-size:clamp(48px,5.6vw,80px)}}

/* reviews */
.rev__box{display:grid;gap:36px;padding:clamp(34px,5vw,64px);background:var(--paper);border:1px solid var(--line2)}
.rev__box blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.8vw,40px);line-height:1.2;color:var(--ink)}
.rev__box p{margin:0;color:var(--ink2)}
.rev__pending{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);border:1px dashed var(--sand2);padding:7px 11px;margin-bottom:18px}
@media(min-width:980px){.rev__box{grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}}

/* faq */
.faq__grid{display:grid;gap:40px}
.acc details{border-top:1px solid var(--line)}
.acc details:last-child{border-bottom:1px solid var(--line)}
.acc summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc summary h3{font-family:var(--sans);font-size:clamp(16px,1.3vw,18px);font-weight:500;line-height:1.4}
.acc__i{flex:none;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:transform .4s var(--ease),background .4s,border-color .4s}
.acc__i .ic{width:14px;height:14px}
.acc details[open] .acc__i{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:#fff}
.acc details p{margin:0;padding:0 56px 26px 0;color:var(--ink2);max-width:46em}
@media(min-width:1000px){.faq__grid{grid-template-columns:.75fr 1.25fr;gap:80px}.faq__grid .head{position:sticky;top:120px;align-self:start}}

/* final cta + form */
.cta{position:relative;color:#fff;overflow:hidden;background:#1b2b2a}
.cta__bg{position:absolute;inset:0}
.cta__bg img{width:100%;height:100%;object-fit:cover}
.cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,24,24,.78),rgba(12,24,24,.5) 55%,rgba(12,24,24,.35))}
.cta__grid{position:relative;display:grid;gap:52px;padding-top:var(--sec);padding-bottom:var(--sec)}
.cta__txt .lead{color:rgba(255,255,255,.86)}
.cta__alt{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.cta__meta{margin-top:40px;display:grid;gap:10px;font-size:14px;color:rgba(255,255,255,.8)}
.cta__meta a{display:inline-flex;align-items:center;gap:10px}
.cta__meta a:hover{color:#fff}
.form{background:var(--bg);color:var(--ink);padding:clamp(26px,3.6vw,48px);border-radius:var(--r)}
.form h3{font-family:var(--serif);font-size:clamp(28px,2.6vw,36px);line-height:1.1;margin-bottom:8px}
.form>p{color:var(--ink2);font-size:14.5px;margin-bottom:26px}
.fgrid{display:grid;gap:16px}
@media(min-width:560px){.fgrid{grid-template-columns:1fr 1fr}.f--full{grid-column:1/-1}}
.f label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-bottom:8px}
.f label small{font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--ink3)}
.f input,.f select{width:100%;height:52px;padding:0 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);font-size:16px;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231C2526' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.f input:focus,.f select:focus{outline:0;border-color:var(--accent)}
.f input:user-invalid{border-color:#a2513b}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--ink2);line-height:1.5}
.chk input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--accent)}
.chk a{text-decoration:underline;text-underline-offset:2px}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.form .btn{margin-top:8px}
.form__msg{margin:14px 0 0;font-size:14px;min-height:1.2em}
.form__msg.ok{color:var(--accent);font-weight:600}
.form__msg.err{color:#a2513b}
.form.is-sent .fgrid,.form.is-sent .btn{display:none}
@media(min-width:1040px){.cta__grid{grid-template-columns:1fr minmax(440px,.9fr);gap:clamp(60px,7vw,120px);align-items:center}}

/* footer */
.ftr{background:#13201F;color:rgba(255,255,255,.72);padding:clamp(72px,8vw,110px) 0 28px;font-size:14.5px}
.ftr__grid{display:grid;gap:44px}
.ftr__brand .brand{margin:0 0 22px;color:#fff}
.ftr__brand p{max-width:26em}
.ftr__islands{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.ftr h2{font:700 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sand);margin-bottom:22px}
.ftr li{margin-bottom:10px}
.ftr a:hover{color:#fff}
.ftr address{font-style:normal}
.ftr address p{margin-bottom:10px}
.ftr .lang{margin-top:22px}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:64px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:rgba(255,255,255,.5)}
.ftr__bottom p{margin:0}
@media(min-width:760px){.ftr__grid{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.ftr__grid{grid-template-columns:1.5fr 1fr 1.2fr 1fr}}

/* floating whatsapp — discreet */
.fab{position:fixed;right:18px;bottom:18px;z-index:80;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;box-shadow:0 6px 22px rgba(12,30,28,.22);opacity:0;transform:translateY(12px) scale(.94);pointer-events:none;transition:opacity .45s var(--ease),transform .45s var(--ease),background .3s}
.fab .ic{width:23px;height:23px}
.fab.is-on{opacity:1;transform:none;pointer-events:auto}
.fab:hover{background:var(--ink)}
.fab__tip{position:absolute;right:62px;top:50%;transform:translateY(-50%);white-space:nowrap;background:var(--ink);color:#fff;font-size:12px;font-weight:600;padding:8px 12px;border-radius:2px;opacity:0;pointer-events:none;transition:opacity .3s}
@media(hover:hover){.fab:hover .fab__tip{opacity:1}}
body.menu-open .fab{opacity:0;pointer-events:none}
@media(min-width:760px){.fab{right:28px;bottom:28px}}

/* reveal */
.js [data-rv]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0ms)}
.js [data-rv].in{opacity:1;transform:none}

/* legal / 404 */
.page .main-pad{padding-top:120px}
.legal__wrap{max-width:860px}
.legal__wrap h1{margin-bottom:40px}
.legal__sec{padding:34px 0;border-top:1px solid var(--line)}
.legal__sec h2{font-family:var(--serif);font-size:32px;margin-bottom:16px}
.legal__sec p{color:var(--ink2)}
.legal__sec a{text-decoration:underline;text-underline-offset:2px}
.nf{min-height:80vh;display:grid;place-items:center;text-align:center;padding:140px 0 80px}
.nf__code{font-family:var(--serif);font-size:clamp(96px,16vw,200px);line-height:.9;color:var(--sand2);margin:0 0 10px}
.nf .h2{margin-bottom:34px}
.nf__langs{margin-top:26px;display:flex;justify-content:center;gap:22px;font-size:13px}
.nf__langs a{text-decoration:underline;text-underline-offset:3px;color:var(--ink2)}


/* ===== v4 additions ===== */

/* language button + side panel */
.lbtn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px 0 11px;border:1px solid currentColor;border-color:rgba(255,255,255,.4);border-radius:40px;background:transparent;color:inherit;font:600 12px/1 var(--sans);letter-spacing:.12em;cursor:pointer;transition:border-color .3s,background .3s}
.lbtn .ic{width:16px;height:16px}
.lbtn:hover{background:rgba(255,255,255,.1)}
.hdr.is-solid .lbtn,.hdr.is-static .lbtn,body.menu-open .lbtn{border-color:var(--line)}
.hdr.is-solid .lbtn:hover,.hdr.is-static .lbtn:hover{background:rgba(28,37,38,.05)}
.lp{position:fixed;inset:0;z-index:160;pointer-events:none}.lp.is-open{pointer-events:auto}
.lp__scrim{position:absolute;inset:0;background:rgba(12,22,24,.42);opacity:0;transition:opacity .45s var(--ease)}
.lp__box{position:absolute;top:0;right:0;bottom:0;width:min(400px,88vw);background:var(--bg);box-shadow:-20px 0 60px rgba(12,22,24,.18);display:flex;flex-direction:column;padding:26px clamp(22px,4vw,40px) 32px;transform:translateX(100%);transition:transform .5s var(--ease);overflow-y:auto}
.lp.is-open .lp__scrim{opacity:1}
.lp.is-open .lp__box{transform:none}
.lp__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.lp__h{display:flex;align-items:center;gap:10px;margin:0;font:600 11.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.lp__h .ic{width:16px;height:16px}
.lp__x{width:44px;height:44px;display:grid;place-items:center;border:0;background:none;cursor:pointer;margin-right:-10px;color:var(--ink)}
.lp__list li{border-top:1px solid var(--line2)}
.lp__list li:last-child{border-bottom:1px solid var(--line2)}
.lp__list a{position:relative;display:flex;align-items:baseline;gap:18px;padding:17px 4px;transition:padding .35s var(--ease),color .3s}
.lp__list b{width:26px;font:700 11px/1 var(--sans);letter-spacing:.14em;color:var(--ink3)}
.lp__list span{font-family:var(--serif);font-size:27px;line-height:1.1}
.lp__list a:hover{padding-left:10px}
.lp__list a[aria-current]{color:var(--accent)}
.lp__list a[aria-current] b{color:var(--accent)}
.lp__list a[aria-current]::after{content:"";position:absolute;right:6px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--accent)}
body.lp-open{overflow:hidden}
.figs ul>li{min-width:0}.figs span{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media(max-width:560px){.cta__alt .btn,.menu__foot .btn{width:100%;white-space:normal;text-align:center;line-height:1.3;padding-top:12px;padding-bottom:12px}}
@media(max-width:400px){.hdr__in{gap:12px}.hdr__end{gap:8px}.brand{gap:9px}.brand img{width:36px;height:36px}.brand__word{font-size:16px;letter-spacing:.15em}.brand__word small{font-size:7.5px;letter-spacing:.36em}.lbtn{height:36px;padding:0 10px 0 9px}}
.lang--ftr{flex-wrap:wrap;row-gap:4px}

/* figures band over a subtle photo */
.figs{position:relative;overflow:hidden;background:#15302E;border-bottom:0;color:#fff}
.figs__bg{position:absolute;inset:0}
.figs__bg img{width:100%;height:100%;object-fit:cover;opacity:.9}
.figs::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,32,31,.9),rgba(14,32,31,.8))}
.figs .wrap{position:relative;z-index:1}
.figs b{color:#fff}
.figs b small{color:var(--sand)}
.figs span{color:rgba(255,255,255,.7)}
.figs li{border-color:rgba(255,255,255,.14)!important}

/* HDFM Collection */
.hdfm-sec{background:var(--bg2)}
.hd__brand{display:flex;align-items:center;gap:clamp(20px,2.4vw,34px)}.hd__logo{flex:none;width:auto;height:clamp(78px,7vw,104px)}.hd__brand .lead{margin:0;padding-left:clamp(20px,2.4vw,34px);border-left:1px solid var(--line)}@media(max-width:560px){.hd__brand{align-items:flex-start}.hd__logo{height:70px}}
.hd{display:grid;gap:clamp(34px,4vw,48px) 26px}
@media(min-width:700px){.hd{grid-template-columns:1fr 1fr}}
@media(min-width:1100px){.hd{grid-template-columns:repeat(3,1fr)}}
.hd__i{display:flex;flex-direction:column;min-width:0}
.hd__img{position:relative;display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;overflow:hidden;background:var(--sand3);cursor:zoom-in}
.hd__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.hd__img:hover img{transform:scale(1.04)}
.hd__count{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;background:rgba(247,245,240,.92);color:var(--ink);font:700 11px/1 var(--sans);letter-spacing:.08em}
.hd__count .ic{width:14px;height:14px}
.hd__body{display:flex;flex-direction:column;flex:1;padding-top:20px}
.hd__zone{margin:0 0 8px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.hd__body h3{font-family:var(--serif);font-size:clamp(25px,2.1vw,30px);line-height:1.1;overflow-wrap:break-word}
.hd__cap{display:flex;flex-wrap:wrap;gap:6px 18px;margin:16px 0 0;font-size:13.5px;color:var(--ink2)}
.hd__cap li{display:inline-flex;align-items:center;gap:7px}
.hd__cap .ic{width:17px;height:17px;color:var(--accent)}
.hd__feat{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 22px}
.hd__feat li{font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:30px;color:var(--ink2)}
.hd__go{margin-top:auto;align-self:flex-start}
.hd__go .ic{width:15px;height:15px}

/* owner testimonials */
.tm__grid{display:grid;gap:18px}
@media(min-width:1000px){.tm__grid{grid-template-columns:repeat(3,1fr);gap:24px}}
.tmc{position:relative;margin:0;display:flex;flex-direction:column;padding:clamp(28px,3vw,40px);padding-top:clamp(56px,5vw,70px);background:var(--bg);border:1px solid var(--line2)}
.tmc::before{content:"\201C";position:absolute;left:clamp(24px,2.6vw,36px);top:6px;font:500 110px/1 var(--serif);color:var(--sand2)}
.tmc__stars{position:absolute;right:clamp(24px,2.6vw,36px);top:clamp(28px,3vw,36px);display:flex;gap:2px;color:var(--accent)}
.tmc__stars .ic{width:12px;height:12px}
.tmc blockquote{margin:0 0 28px}
.tmc blockquote p{margin:0;font-family:var(--serif);font-size:clamp(21px,1.75vw,25px);line-height:1.35;color:var(--ink)}
.tmc figcaption{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
.tmc figcaption strong{display:block;font-weight:600;font-size:15px}
.tmc figcaption span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.team{padding-top:0}

/* lightbox */
.lb{position:fixed;inset:0;z-index:170;pointer-events:none;background:rgba(10,18,18,.94);display:grid;place-items:center;opacity:0;transition:opacity .35s var(--ease)}
.lb.is-open{opacity:1;pointer-events:auto}
.lb__fig{margin:0;max-width:min(1200px,92vw);text-align:center}
.lb__fig img{max-width:100%;max-height:80vh;width:auto;height:auto;margin:0 auto;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.lb__fig figcaption{margin-top:14px;font-size:13px;letter-spacing:.04em;color:rgba(255,255,255,.75)}
.lb__x,.lb__nav{position:absolute;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;transition:background .3s}
.lb__x:hover,.lb__nav:hover{background:rgba(255,255,255,.16)}
.lb__x{top:18px;right:18px}
.lb__prev{left:18px;top:50%;margin-top:-24px}
.lb__next{right:18px;top:50%;margin-top:-24px}
@media(max-width:700px){.lb__prev,.lb__next{top:auto;bottom:22px;margin:0}.lb__prev{left:calc(50% - 60px)}.lb__next{right:calc(50% - 60px)}.lb__fig img{max-height:72vh}}
body.lb-open{overflow:hidden}

/* form validation */
.form.was-validated input:invalid,.form.was-validated select:invalid{border-color:#a2513b;background:#fff8f5}
.form.was-validated .chk input:invalid{outline:1px solid #a2513b;outline-offset:2px}

/* ===== chat assistant ===== */
.cb-launch{position:fixed;right:18px;bottom:18px;z-index:86;width:58px;height:58px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 10px 30px rgba(12,30,28,.28),0 0 0 1px rgba(255,255,255,.08) inset;transition:transform .35s var(--ease),background .3s,opacity .3s}
.cb-launch svg{width:26px;height:26px;grid-area:1/1;transition:opacity .25s,transform .35s var(--ease)}
.cb-launch__x{grid-area:1/1;display:grid;place-items:center;opacity:0;transform:rotate(-45deg)}
.cb-launch:hover{background:var(--ink);transform:translateY(-2px)}
.cb-launch::after{content:"";position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:var(--sand);box-shadow:0 0 0 2px var(--accent)}
body.cb-open .cb-launch::after{display:none}
body.cb-open .cb-launch>svg{opacity:0;transform:rotate(45deg)}
body.cb-open .cb-launch__x{opacity:1;transform:none}
body.has-cb .fab{bottom:88px;width:46px;height:46px}
body.has-cb .fab .ic{width:21px;height:21px}
body.cb-open .fab,body.menu-open .cb-launch,body.lp-open .cb-launch,body.lb-open .cb-launch{opacity:0;pointer-events:none}
@media(min-width:760px){.cb-launch{right:28px;bottom:28px}body.has-cb .fab{bottom:100px;right:34px}}

.cb{position:fixed;right:18px;bottom:88px;z-index:150;width:min(392px,calc(100vw - 36px));height:min(640px,calc(100vh - 120px));height:min(640px,calc(100dvh - 120px));display:flex;flex-direction:column;background:var(--bg);color:var(--ink);border-radius:10px;overflow:hidden;box-shadow:0 30px 80px rgba(12,30,28,.28),0 0 0 1px rgba(28,37,38,.06);opacity:0;transform:translateY(14px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease);font-family:var(--sans)}
.cb.is-open{opacity:1;transform:none;pointer-events:auto}
@media(min-width:760px){.cb{right:28px;bottom:100px}}
.cb__hd{display:flex;align-items:center;gap:10px;padding:16px 10px 16px 16px;background:var(--accent);color:#fff}
.cb__hd img{width:36px;height:36px;border-radius:50%;background:#fff;padding:3px}
.cb__id{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.cb__id strong{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.05;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb__id span{display:flex;align-items:center;gap:7px;font-size:11.5px;letter-spacing:.06em;color:rgba(255,255,255,.78)}
.cb__dot{width:7px;height:7px;border-radius:50%;background:#8fd3a8;box-shadow:0 0 0 3px rgba(143,211,168,.22)}
.cb__ic{flex:none;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:background .25s}
.cb__ic:hover{background:rgba(255,255,255,.12)}
.cb__ic svg{width:19px;height:19px}
.cb__log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px 12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.cb__m{max-width:86%;padding:11px 14px;font-size:14.5px;line-height:1.55;border-radius:14px;word-wrap:break-word;overflow-wrap:anywhere;animation:cbIn .35s var(--ease)}
.cb__m p{margin:0}
.cb__m p+p,.cb__m p+ul,.cb__m ul+p{margin-top:8px}
.cb__m ul{margin:6px 0 0;padding-left:18px;list-style:disc}
.cb__m li{margin:2px 0}
.cb__m a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cb__m--a{align-self:flex-start;background:#fff;border:1px solid var(--line2);border-bottom-left-radius:4px;color:var(--ink)}
.cb__m--u{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.cb__m--s{align-self:center;display:flex;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--accent);background:rgba(22,61,58,.08);border-radius:30px}
.cb__m--s svg{width:15px;height:15px}
.cb__wa{display:inline-flex;align-items:center;gap:8px;margin-top:2px;padding:8px 12px;border-radius:30px;background:var(--accent);color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:600}
.cb__wa svg{width:16px;height:16px}
.cb__dots{display:inline-flex;gap:4px;padding:4px 2px}
.cb__dots i{width:6px;height:6px;border-radius:50%;background:var(--ink3);animation:cbDot 1.2s infinite ease-in-out}
.cb__dots i:nth-child(2){animation-delay:.15s}.cb__dots i:nth-child(3){animation-delay:.3s}
.cb__chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.cb__chip{padding:9px 13px;border:1px solid rgba(22,61,58,.28);border-radius:30px;background:transparent;color:var(--accent);font:500 13px/1.3 var(--sans);text-align:left;cursor:pointer;transition:background .25s,border-color .25s,color .25s}
.cb__chip:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.cb__ft{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 8px;border-top:1px solid var(--line2);background:var(--bg)}
.cb__ft textarea{flex:1;min-height:44px;max-height:120px;resize:none;padding:11px 14px;border:1px solid var(--line);border-radius:22px;background:#fff;font:400 16px/1.4 var(--sans);color:var(--ink);outline:0;transition:border-color .25s}
.cb__ft textarea:focus{border-color:var(--accent)}
.cb__send{flex:none;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;background:var(--accent);color:#fff;cursor:pointer;transition:background .25s,opacity .25s}
.cb__send:hover{background:var(--ink)}
.cb__send:disabled{opacity:.45;cursor:default}
.cb__send svg{width:20px;height:20px}
.cb__note{margin:0;padding:0 16px 10px;font-size:11px;color:var(--ink3);text-align:center}
.cb__note a{text-decoration:underline;text-underline-offset:2px}
@keyframes cbIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes cbDot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media(max-width:560px){
  .cb{right:0;bottom:0;width:100%;height:100%;height:100dvh;border-radius:0;transform:translateY(24px)}
  .cb__hd{padding-top:max(16px,env(safe-area-inset-top))}
  .cb__id strong{font-size:18px}
  .cb__note{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  body.cb-open{overflow:hidden}
  body.cb-open .cb-launch{opacity:0;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.cb__m{animation:none}}

@media print{.hdr,.fab,.menu,.cb,.cb-launch{display:none!important}.js [data-rv],.js [data-in]{opacity:1!important;transform:none!important}}

/* free revenue study: menu item + home band (only present when built with -StudyLive) */
.nav .nav__study a{display:inline-flex;align-items:center;gap:7px}
.nav .nav__study a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sand2);box-shadow:0 0 0 3px rgba(205,187,158,.25)}
.menu__links .nav__study a::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--sand2);align-self:center;margin-left:-6px}
@media(min-width:1180px) and (max-width:1439px){.nav ul{gap:20px}.nav a{font-size:13px}}
.sdb{background:var(--bg2);padding:clamp(56px,7vw,96px) 0}
.sdb__in{display:grid;gap:28px;align-items:center}
@media(min-width:900px){.sdb__in{grid-template-columns:1fr auto;gap:64px}}
.sdb .kicker{margin-bottom:18px}
.sdb__h{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4vw,52px);line-height:1.08;margin-bottom:14px;max-width:16em}
.sdb p{color:var(--ink2);max-width:40em;line-height:1.7}
@media(max-width:560px){.sdb .btn{width:100%;white-space:normal;text-align:center;line-height:1.35;padding-top:12px;padding-bottom:12px}}
/* contact section: free study card (replaces the old form when built with -StudyLive) */
.sdc .kicker{margin-bottom:16px}
.sdc>p{color:var(--ink2);line-height:1.65;margin:0 0 18px}
.sdc__pts{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 24px}
.sdc__pts li{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink)}
.sdc__pts li::before{content:"";width:16px;height:16px;border-radius:50%;flex:none;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.6'/%3E%3C/svg%3E") center/11px no-repeat}
.sdc .btn{white-space:normal;text-align:center;line-height:1.35;padding-top:12px;padding-bottom:12px}
.sdc__time{margin:12px 0 0!important;font-size:12.5px;color:var(--ink3);text-align:center}

/* ===== v4: carousels (our properties, owner reviews) ===== */
.car{position:relative;display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 2px 20px}
.car::-webkit-scrollbar{display:none}
.car:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.car__side{display:flex;flex-direction:column;gap:22px;min-width:0}
.car__side .lead{margin:0}
.car__nav{display:flex;gap:10px}
.car__btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.car__btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.car__btn .ic{width:18px;height:18px}

/* our properties */
.pc{flex:0 0 84%;scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;background:var(--accent);color:#fff;border-radius:14px;overflow:hidden;box-shadow:0 26px 50px -36px rgba(22,61,58,.7)}
@media(min-width:620px){.pc{flex-basis:calc((100% - 18px)/2)}}
@media(min-width:1000px){.pc{flex-basis:calc((100% - 36px)/3)}}
.pc__img{aspect-ratio:4/3;overflow:hidden;background:#0f2e2b}
.pc__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pc:hover .pc__img img{transform:scale(1.04)}
.pc__body{display:flex;flex-direction:column;flex:1;padding:22px}
.pc__name{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(23px,2vw,27px);line-height:1.15;color:#fff}
.pc__by{margin:7px 0 22px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sand)}
.pc__btns{margin-top:auto;display:grid;gap:10px}
.pc__btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;border:1px solid rgba(255,255,255,.35);border-radius:8px;color:#fff;font:700 12px/1.25 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-align:center;transition:background .3s,border-color .3s,color .3s}
.pc__btn:hover{background:rgba(255,255,255,.1);border-color:#fff}
.pc__btn--main{background:var(--sand);border-color:var(--sand);color:var(--ink)}
.pc__btn--main:hover{background:#fff;border-color:#fff}
.pc__btn .ic{width:16px;height:16px;flex:none}

/* owner reviews */
.rv{background:var(--paper);overflow:hidden}
.rv__track{scroll-snap-type:none;padding-left:var(--gut);padding-right:var(--gut);margin-top:6px}
@media(min-width:1464px){.rv__track{padding-left:calc((100vw - var(--max)) / 2)}}
.rvc{flex:0 0 min(84vw,430px);margin:0;display:flex;flex-direction:column;padding:28px 26px 22px;background:var(--bg);border:1px solid var(--line2);border-radius:14px}
.rvc__stars{display:flex;gap:3px;color:#B8913F}
.rvc__stars .ic{width:14px;height:14px}
.rvc blockquote{margin:16px 0 20px;flex:1}
.rvc blockquote p{margin:0;font-family:var(--serif);font-size:clamp(18px,1.5vw,20px);line-height:1.45;color:var(--ink)}
.rvc blockquote p::before{content:"\201C"}
.rvc blockquote p::after{content:"\201D"}
.rvc figcaption{padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;color:var(--ink3)}

/* our offices */
.of{background:#0F2A27;color:#fff;padding:var(--sec) 0}
.of__grid{display:grid;gap:48px;align-items:center}
.of__grid>*{min-width:0}
@media(min-width:900px){.of__grid{grid-template-columns:1fr 1fr;gap:clamp(56px,6vw,96px)}}
.of__media{position:relative;padding-bottom:48px}
.of__main{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
@media(min-width:900px){.of__main{aspect-ratio:4/4.6}.of__media{padding-bottom:64px}}
.of__detail{position:absolute;right:16px;bottom:0;width:34%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:12px;border:5px solid #0F2A27;box-shadow:0 24px 50px -20px rgba(0,0,0,.55)}
@media(min-width:900px){.of__detail{right:-28px;width:38%}}
.of__txt .h2{margin-bottom:22px}
.of__p{margin:0 0 20px;font-size:16px;line-height:1.75;color:rgba(255,255,255,.8)}
.of__hl{margin:0;padding-left:18px;border-left:2px solid var(--sand);font-family:var(--serif);font-size:clamp(21px,1.9vw,25px);line-height:1.35;color:var(--sand)}
.of__list{display:grid;gap:16px;margin:30px 0 32px;padding:24px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.of__list li{display:flex;gap:14px;align-items:flex-start}
.of__list .ic{width:18px;height:18px;flex:none;margin-top:3px;color:var(--sand)}
.of__list small{display:block;margin-bottom:3px;font:700 10.5px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.of__list span,.of__list a{color:#fff;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.of__list a:hover{color:var(--sand)}
.of__ctas{display:flex;flex-wrap:wrap;gap:12px}
.of__btn{background:var(--sand);color:var(--ink)}
.of__btn:hover{background:#fff}
@media(max-width:560px){.of__ctas .btn{width:100%;white-space:normal;text-align:center}}
/* v4 mobile tweaks */
@media(max-width:560px){.rvc{padding:22px 20px 18px}.rvc blockquote{margin:12px 0 16px}.rvc blockquote p{font-size:16.5px;line-height:1.42}}
.of{border-bottom:1px solid rgba(255,255,255,.08)}

/* ===== v5 ===== */
/* hero: content a little higher (the photo keeps some air below) */
.hero__in{padding-bottom:clamp(110px,19vh,230px);will-change:transform}
@media(max-width:760px){.hero__in{padding-bottom:clamp(76px,13vh,130px)}}
.hero__foot{margin-top:clamp(30px,5vh,60px)}
.hero__img{will-change:transform}

/* happy owners: homes + reviews on a dark photo */
.rs{position:relative;overflow:hidden;color:#fff;background:#0F2A27;padding:var(--sec) 0 calc(var(--sec) * .75)}
.rs__bg{position:absolute;inset:0}
.rs__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}
.rs::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,30,28,.93) 0%,rgba(10,30,28,.8) 42%,rgba(10,30,28,.94) 100%)}
.rs>*:not(.rs__bg){position:relative;z-index:2}
.rs__head{display:grid;gap:24px;margin-bottom:clamp(34px,4vw,56px)}
.rs__head>*{min-width:0}
@media(min-width:980px){.rs__head{grid-template-columns:1.1fr .9fr;align-items:end;gap:80px}}
.rs__side p{margin:0;max-width:34em;font-size:clamp(16px,1.3vw,18px);line-height:1.7;color:rgba(255,255,255,.78)}
.rs__side .rs__hint{display:flex;align-items:center;gap:12px;margin-top:22px;font:700 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sand)}
.rs__hint i{position:relative;width:48px;height:1px;overflow:hidden;background:rgba(215,200,178,.4)}
.rs__hint i::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:var(--sand);animation:rs-hint 2.4s var(--ease) infinite}
@keyframes rs-hint{to{left:100%}}
.rs__track{position:relative;display:flex;align-items:stretch;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px var(--gut) 28px;scroll-padding-left:var(--gut);cursor:grab}
@media(min-width:1464px){.rs__track{padding-left:calc((100vw - var(--max)) / 2);scroll-padding-left:calc((100vw - var(--max)) / 2)}}
.rs__track::-webkit-scrollbar{display:none}
.rs__track:focus-visible{outline:2px solid var(--sand);outline-offset:-2px}
.rs__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.rs__track.is-drag *{-webkit-user-select:none;user-select:none}
.rs__bar{max-width:420px;height:2px;border-radius:2px;overflow:hidden;background:rgba(255,255,255,.14)}
.rs__bar i{display:block;width:20%;height:100%;border-radius:2px;background:var(--sand);transition:transform .12s linear}
.rc{--fs:17px;flex:0 0 min(84vw,400px);scroll-snap-align:start;display:flex;flex-direction:column;min-width:0;background:var(--bg);color:var(--ink);border-radius:16px;overflow:hidden;box-shadow:0 34px 64px -34px rgba(0,0,0,.7)}
@media(min-width:1000px){.rc{--fs:18px}}
.rc__img{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0f2e2b}
.rc__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);-webkit-user-drag:none}
.rc:hover .rc__img img{transform:scale(1.04)}
.rc__cap{position:absolute;left:0;right:0;bottom:0;padding:56px 20px 16px;background:linear-gradient(180deg,rgba(10,24,22,0) 0%,rgba(10,24,22,.85) 100%)}
.rc__cap h3{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(22px,1.9vw,26px);line-height:1.12;color:#fff}
.rc__cap span{display:block;margin-top:6px;font:700 10px/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sand)}
.rc__body{display:flex;flex-direction:column;flex:1;padding:22px}
.rc__stars{display:flex;gap:3px;color:#B8913F}
.rc__stars .ic{width:13px;height:13px}
.rc__q{--lines:5;margin:14px 0 0;min-height:calc(var(--fs) * 1.45 * var(--lines))}
.rc__q p{margin:0;font-family:var(--serif);font-size:var(--fs);line-height:1.45;color:var(--ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--lines);overflow:hidden}
.rc__q p::before{content:"\201C"}
.rc__q p::after{content:"\201D"}
.rc.is-open .rc__q p{display:block;-webkit-line-clamp:unset;overflow:visible}
.rc__more{align-self:flex-start;margin-top:10px;padding:4px 0;background:none;border:0;font:700 11px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.rc__who{margin:14px 0 20px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.rc__btns{margin-top:auto;display:grid;gap:10px}
.rc__btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 16px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font:700 12px/1.25 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-align:center;transition:background .3s,border-color .3s,color .3s}
.rc__btn:hover{border-color:var(--ink)}
.rc__btn--main{background:var(--accent);border-color:var(--accent);color:#fff}
.rc__btn--main:hover{background:var(--ink);border-color:var(--ink)}
.rc__btn .ic{width:16px;height:16px;flex:none}

/* HDFM: side-scrolling cards on phones */
@media(max-width:699px){
  .hd{position:relative;display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:4px var(--gut) 18px;scroll-padding-left:var(--gut)}
  .hd::-webkit-scrollbar{display:none}
  .hd__i{flex:0 0 84%;scroll-snap-align:start}
}

/* team: management first, full width */
.team__roles li:first-child{grid-column:1/-1;padding-bottom:22px;border-bottom:1px solid var(--line)}
@media(min-width:1000px){.rc__q{--lines:6}}
@media(max-width:560px){.rc{--fs:16.5px}.rc__body{padding:20px}}

/* ===================== v6 — premium pass (mobile first) ===================== */
@keyframes v6in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* header: cleaner on phones, calm transition */
@media(max-width:759px){
  .hdr .lbtn{border-color:transparent!important;padding:0 8px;background:transparent}
  .hdr__in{height:72px}
  .hdr.is-solid .hdr__in{height:62px}
}
.hdr.is-solid,.hdr.is-static{background:rgba(247,245,240,.9);box-shadow:0 1px 0 rgba(28,37,38,.06)}
.menu.is-open .menu__links li{animation:v6in .5s var(--ease) both}
.menu.is-open .menu__links li:nth-child(2){animation-delay:.04s}.menu.is-open .menu__links li:nth-child(3){animation-delay:.08s}.menu.is-open .menu__links li:nth-child(4){animation-delay:.12s}.menu.is-open .menu__links li:nth-child(5){animation-delay:.16s}.menu.is-open .menu__links li:nth-child(6){animation-delay:.2s}.menu.is-open .menu__links li:nth-child(7){animation-delay:.24s}
.menu__links a{min-height:56px}

/* hero: almost a full first screen on phones, editorial, the main CTA dominates */
@media(max-width:760px){
  .hero{min-height:90vh;min-height:90svh}
  .hero__in{padding-top:112px;padding-bottom:calc(56px + env(safe-area-inset-bottom))}
  .hero__h{font-size:clamp(46px,13vw,62px);margin-bottom:18px}
  .hero__sub{font-size:16.5px;max-width:30em;margin-bottom:30px}
  .hero__ctas{gap:10px}
  .hero__ctas .btn--light{min-height:58px}
  .hero__ctas .btn--ghost{min-height:50px;border-color:rgba(255,255,255,.34);background:transparent}
  .hero__foot{margin-top:30px;font-size:10.5px}
}

/* authority band: big numbers, small labels, count-up once */
.figs b em{font-style:normal}
.figs b{font-size:clamp(58px,7vw,104px)}
.figs__sub{display:block;margin-top:-4px;font-style:normal;font-size:12px;letter-spacing:.04em;opacity:.72}
@media(max-width:899px){.figs li{padding-top:30px!important;padding-bottom:30px!important}}

/* editorial full-bleed moments */
.wow{position:relative;display:flex;align-items:flex-end;min-height:88vh;min-height:88svh;overflow:hidden;color:#fff;background:#0f2a27}
@media(min-width:761px){.wow{min-height:min(92vh,920px)}}
.wow__img{position:absolute;inset:0}
.wow__img img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;transform:scale(1.05);transition:transform 2.6s var(--ease)}
.wow.is-in .wow__img img{transform:scale(1)}
.wow::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,26,24,0) 34%,rgba(10,26,24,.72) 100%)}
.wow--top{align-items:flex-start}
.wow--top::after{background:linear-gradient(180deg,rgba(10,26,24,.7) 0%,rgba(10,26,24,.34) 42%,rgba(10,26,24,0) 66%)}
.wow--top .wow__img img{object-position:50% 50%}
.wow__in{position:relative;z-index:1;padding-top:120px;padding-bottom:clamp(56px,10vh,112px)}
.wow--top .wow__in{padding-top:clamp(96px,14vh,170px);padding-bottom:40px}
.wow__h{margin:0 0 20px;max-width:11em;font-family:var(--serif);font-weight:500;font-size:clamp(44px,6.6vw,100px);line-height:.98;letter-spacing:-.018em;color:#fff}
.wow__h em{font-style:italic;color:var(--sand3)}
.wow__p{margin:0;max-width:31em;font-size:clamp(16px,1.35vw,19px);line-height:1.65;color:rgba(255,255,255,.9)}
.wow .kicker{margin-bottom:20px}

/* "Tu propiedad. Gestionada como un negocio.": one statement + three big words */
.value__lead{margin:0 0 18px;max-width:18em;font-family:var(--serif);font-size:clamp(30px,3.2vw,44px);line-height:1.14;letter-spacing:-.01em;color:var(--ink)}
.pillars strong{font-size:clamp(34px,3.2vw,44px);letter-spacing:-.01em}
.pillars i{font-size:24px}
.pillars p{font-size:15.5px;line-height:1.6;max-width:28em}
@media(max-width:979px){
  .pillars{position:relative;display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:40px calc(-1 * var(--gut)) 0;padding:0 var(--gut) 6px;scroll-padding-left:var(--gut);border-top:0}
  .pillars::-webkit-scrollbar{display:none}
  .pillars li{flex:0 0 78%;scroll-snap-align:start;display:block;padding:26px 0 8px;border-bottom:0;border-top:1px solid var(--ink)}
  .pillars i{display:block;margin-bottom:18px}
  .pillars p{margin-top:12px}
}

/* dynamic pricing: short text + disclosure; the illustration reads like a revenue tool */
.more{margin-top:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.more summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:10px 0;cursor:pointer;list-style:none;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--ink)}
.more summary::-webkit-details-marker{display:none}
.more[open] .acc__i{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:#fff}
.more__in{padding:2px 0 24px}
.more[open] .more__in{animation:v6in .45s var(--ease)}
.more .factors{margin-top:0}
.price__quote{margin-top:30px}
.viz{border-radius:14px;background:#fff;border:1px solid var(--line2);box-shadow:0 34px 70px -44px rgba(22,61,58,.55)}
.viz__bar{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--line2);font:700 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.viz__dots{display:flex;gap:5px}
.viz__dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.viz__kpi{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 18px}
@media(min-width:560px){.viz__kpi{grid-template-columns:repeat(4,1fr)}}
.viz__kpi span{display:flex;flex-direction:column;gap:9px;min-width:0;padding:11px 12px 13px;border:1px solid var(--line2);border-radius:9px;background:var(--bg)}
.viz__kpi small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 9.5px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.viz__kpi i{display:block;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--accent) calc(var(--v) * 100%),var(--line) 0)}
.cal i{border-radius:4px}
.viz__heat{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.viz__heat span{margin-right:4px;font-weight:700}
.viz__heat i{flex:0 1 120px;height:6px;border-radius:3px;background:linear-gradient(90deg,rgba(22,61,58,.08),rgba(22,61,58,.95))}

/* services: four pillars as disclosures (open on desktop) */
.svc__col summary{display:grid;grid-template-columns:1fr auto;gap:0 16px;align-items:start;cursor:pointer;list-style:none}
.svc__col summary::-webkit-details-marker{display:none}
.svc__col summary .svc__n,.svc__col summary h3,.svc__col summary .svc__t{grid-column:1}
.svc__col summary .acc__i{grid-column:2;grid-row:1 / span 3;align-self:center}
.svc__col summary h3{margin:10px 0 8px}
.svc__t{margin:0;max-width:30em;font-size:15px;line-height:1.55;color:var(--ink2)}
.svc__col ul{margin-top:18px}
.svc__col[open] ul{animation:v6in .45s var(--ease)}
.svc__col[open] .acc__i{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:#fff}
@media(max-width:1099px){.svc__col{padding:26px 0 28px}}
@media(min-width:1100px){.svc__col summary{cursor:default}.svc__col .acc__i{display:none}}

/* how we work: a clean timeline on phones, progress follows the scroll */
@media(max-width:899px){
  .steps[data-tl]{position:relative;padding-left:36px}
  .steps[data-tl]::before,.steps[data-tl]::after{content:"";position:absolute;left:6px;top:10px;width:1px}
  .steps[data-tl]::before{bottom:40px;background:var(--line)}
  .steps[data-tl]::after{height:calc((100% - 50px) * var(--p,0));background:var(--accent)}
  .steps[data-tl] li{padding:0 0 40px;border-top:0}
  .steps[data-tl] li::before{content:"";position:absolute;left:-36px;top:8px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:1px solid var(--accent);transition:background .4s var(--ease)}
  .steps[data-tl] li.is-past::before{background:var(--accent)}
  .steps[data-tl] .steps__n{font-size:46px;margin-bottom:10px}
}

/* HDFM: compact cards (three features visible) */
.hd__feat li:nth-child(n+4){display:none}

/* "El estándar Prime": six short disclosures */
.points li{padding:16px 0}
.points details summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;cursor:pointer;list-style:none}
.points details summary::-webkit-details-marker{display:none}
.points details summary strong{margin:0;font-size:17px}
.points .acc__i{width:30px;height:30px}
.points details[open] .acc__i{transform:rotate(45deg);background:var(--accent);border-color:var(--accent);color:#fff}
.points details p{margin:8px 0 4px;max-width:34em;font-size:15px;line-height:1.6;color:var(--ink2)}
.points details[open] p{animation:v6in .45s var(--ease)}

/* destinations: big swipeable photos on phones, Gran Canaria first and larger */
@media(max-width:759px){
  .isl{position:relative;display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 6px;scroll-padding-left:var(--gut)}
  .isl::-webkit-scrollbar{display:none}
  .isl__i{flex:0 0 76%;min-height:460px;scroll-snap-align:start}
  .isl__i--main{flex-basis:86%}
}

/* FAQ: calm open animation (one open at a time via JS) */
.acc details[open] p{animation:v6in .45s var(--ease)}
.acc summary{min-height:64px}

/* final CTA: the free study as a professional tool */
.tool{background:var(--bg2);padding:var(--sec) 0}
.tool__grid{display:grid;gap:56px;align-items:center}
.tool__grid>*{min-width:0}
@media(min-width:980px){.tool__grid{grid-template-columns:1.05fr .95fr;gap:clamp(60px,7vw,120px)}}
.tool__txt .lead{margin-top:22px;max-width:30em}
.tool__pts{display:flex;flex-wrap:wrap;gap:10px 22px;margin:26px 0 30px}
.tool__pts li{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--ink)}
.tool__pts li::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='2.4'/%3E%3C/svg%3E") center/12px no-repeat}
.tool__ctas{display:flex;flex-wrap:wrap;gap:12px}
.tool__go{min-height:60px;padding:0 30px}
@media(max-width:560px){.tool__ctas .btn{width:100%;white-space:normal;text-align:center;line-height:1.35}}
.tool__time{margin-top:16px;font-size:13px;color:var(--ink3)}
.tool__meta{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);font-size:14px}
.tool__meta a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink2)}
.tool__meta a:hover{color:var(--accent)}
.tool__card{position:relative;padding:clamp(24px,3vw,38px);border:1px solid var(--line2);border-radius:14px;background:#fff;box-shadow:0 34px 80px -44px rgba(22,61,58,.5)}
.tool__tag{position:absolute;top:-12px;left:24px;padding:7px 12px;background:var(--sand);color:var(--ink);font:700 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.tool__card-h{margin:6px 0 22px;font-family:var(--serif);font-size:26px;line-height:1.15}
.tool__rows{display:grid;gap:10px}
.tool__row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.tool__row i{display:block;flex:none;width:96px;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--bg2) 0%,var(--sand3) 50%,var(--bg2) 100%);background-size:200% 100%;animation:v6shim 2.4s linear infinite}
.tool__row--hi{background:var(--accent);border-color:var(--accent);color:#fff}
.tool__row--hi i{width:120px;background:linear-gradient(90deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.18) 100%);background-size:200% 100%}
.tool__range{position:relative;height:4px;margin:26px 0 10px;border-radius:2px;background:var(--bg2)}
.tool__range::before{content:"";position:absolute;left:18%;right:22%;top:0;bottom:0;border-radius:2px;background:var(--sand2)}
.tool__range::after{content:"";position:absolute;left:47%;top:-5px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #fff}
.tool__foot{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
@keyframes v6shim{to{background-position:-200% 0}}

/* mobile sticky CTA (appears after the hero; WhatsApp lives inside it) */
.sbar{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:85;display:flex;gap:8px;height:56px;opacity:0;transform:translateY(140%);pointer-events:none;transition:transform .5s var(--ease),opacity .4s var(--ease)}
.sbar.is-on{opacity:1;transform:none;pointer-events:auto}
.sbar__go{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;border-radius:14px;background:var(--accent);color:#fff;font:700 12.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 16px 34px -14px rgba(12,30,28,.6)}
.sbar__go .ic{width:18px;height:18px}
.sbar__wa{flex:none;width:56px;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);color:var(--accent);box-shadow:0 16px 34px -18px rgba(12,30,28,.5)}
.sbar__wa .ic{width:22px;height:22px}
@media(min-width:760px){.sbar{display:none}}
@media(max-width:759px){
  body.sbar-on .fab{opacity:0;pointer-events:none}
  body.sbar-on .cb-launch{bottom:calc(78px + env(safe-area-inset-bottom))}
  body.has-sbar .ftr__bottom{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
}
body.menu-open .sbar,body.cb-open .sbar,body.lp-open .sbar{opacity:0;pointer-events:none}

/* type rhythm on phones */
@media(max-width:560px){
  .h2{font-size:clamp(34px,9.4vw,44px);line-height:1.06}
  .lead{font-size:16.5px;line-height:1.68}
  .head{margin-bottom:40px}
}

@media (prefers-reduced-motion:reduce){
  .wow__img img{transform:none!important;transition:none}
  .tool__row i{animation:none}
  .menu.is-open .menu__links li,.more[open] .more__in,.svc__col[open] ul,.points details[open] p,.acc details[open] p{animation:none}
  .steps[data-tl]::after{transition:none}
}
@media(min-width:761px){.wow:not(.wow--top) .wow__img img{object-position:50% 36%}}
.wow__h,.wow__p{text-shadow:0 1px 18px rgba(8,20,19,.35)}
