/*
Theme Name: Porthos Ramon
Theme URI: https://porthos.carlosramon.dev/
Author: Carlos Ramón
Description: Tema WordPress propio para el home de Look & Feel 3.
Version: 1.0.1
Text Domain: porthos-ramon
*/

@font-face{font-family:Bestigia;src:url('assets/media/wp-content/uploads/2026/04/Bestigia-Regular.ttf') format('truetype');font-display:swap}
:root{--orange:#ee6c29;--orange-dark:#df5c1d;--blue:#7aa6b3;--blue-light:#cadbe1;--ink:#282b2b;--paper:#f5f5f3;--line:rgba(40,43,43,.22);--display:Bestigia,Georgia,serif;--body:Poppins,Arial,sans-serif;--shell:min(1200px,calc(100% - 96px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:10px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.6rem;line-height:1.45;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit}
button,a{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}
.sr-only,.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;padding:1rem 1.5rem;background:#fff;color:#000;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.section-shell{width:var(--shell);margin-inline:auto}
.section-kicker{font-size:1.45rem;font-weight:600;letter-spacing:.11em;line-height:1.25}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);font-weight:400;line-height:.9;letter-spacing:.01em}
h2{font-size:clamp(5rem,7vw,10.4rem);margin-bottom:2.4rem}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;padding:2.2rem 0;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.34),transparent);transition:background-color .25s,padding .25s}
.site-header.is-scrolled{padding-block:1.35rem;background:rgba(40,43,43,.94)}
.header-inner{width:min(1400px,calc(100% - 72px));margin:auto;display:flex;align-items:center;gap:3.5rem}
.site-brand{display:flex;align-items:center;gap:1.2rem;margin-right:auto;text-decoration:none}
.brand-mark{width:5.2rem;height:5.2rem}.brand-wordmark{width:17rem;max-height:3.5rem}
.primary-nav{display:flex;align-items:center;gap:2.5rem;font-size:1.45rem}.primary-nav a{text-decoration:none}.primary-nav a:hover{text-decoration:underline}
.header-contact,.pill-button{display:inline-flex;align-items:center;justify-content:center;min-height:4.4rem;padding:.9rem 2rem;border:1px solid currentColor;border-radius:3rem;text-decoration:none;font-size:1.4rem;font-weight:600}
.header-contact{color:#fff;border-color:#fff}.header-contact:hover,.pill-button:hover{background:#fff;color:var(--ink)}
.menu-toggle{display:none;width:4.5rem;height:4.5rem;border:1px solid #fff;border-radius:50%;background:transparent;color:#fff;padding:1.15rem}.menu-toggle span{display:block;height:1px;background:#fff;margin:.45rem 0}
.hero{position:relative;min-height:100svh;background:#333;color:#fff;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero-slides,.hero-mobile-slides,.hero-overlay{position:absolute;inset:0}.hero-mobile-slides{display:none}
.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transition:opacity .7s ease}.hero-slide.is-active{opacity:1}
.hero-overlay{z-index:1;background:linear-gradient(90deg,rgba(20,23,23,.6),rgba(20,23,23,.08) 65%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 50%)}
.hero-copy{position:relative;z-index:2;width:var(--shell);margin:0 auto 18rem}.hero-copy h1{font-size:clamp(7rem,11vw,16rem);line-height:.82;margin:0 0 2.4rem}.hero-copy p{max-width:35rem;font-size:1.85rem;margin-bottom:2.8rem}.hero-copy .pill-button{color:#fff;background:var(--orange);border-color:var(--orange)}.hero-copy .pill-button:hover{color:#fff;background:var(--orange-dark);border-color:var(--orange-dark)}
.hero-utilities{position:absolute;z-index:3;right:5%;bottom:3.5rem;display:grid;grid-template-columns:repeat(5,1fr);width:min(61rem,47%);background:rgba(245,245,243,.95);color:var(--ink);border-radius:.4rem;overflow:hidden}.utility-card{min-height:10.2rem;padding:1.3rem .7rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-decoration:none;border-right:1px solid var(--line);font-size:1.2rem;line-height:1.15}.utility-card:last-child{border:0}.utility-card:hover{background:var(--blue-light)}.utility-card img{width:5.8rem;height:4.6rem;object-fit:contain;margin-bottom:.7rem}
.project-intro,.plans-section,.amenities-section,.multimedia-section,.gallery-section{padding-block:11rem}.section-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(25rem,.8fr);gap:7rem;align-items:end;margin-bottom:5.5rem}.section-heading h2{margin-top:1.3rem}.section-heading>p{max-width:38rem;margin:0 0 .8rem;font-size:1.7rem}.feature-grid{display:grid;grid-template-columns:1.08fr .84fr .84fr;gap:2rem;align-items:end}.feature-grid article{position:relative;overflow:hidden}.feature-grid article:first-child{margin-bottom:6rem}.feature-grid img{width:100%;aspect-ratio:1.12;object-fit:cover}.feature-grid article:first-child img{aspect-ratio:.82}.feature-grid h3{position:absolute;left:2rem;bottom:1.5rem;color:#fff;font-size:2rem;margin:0;text-shadow:0 1px 1rem #000}
.facts-section{padding-block:8rem;background:var(--blue-light);max-width:none;width:100%;padding-inline:max(48px,calc((100% - 1200px)/2));}
.facts-layout{display:grid;grid-template-columns:.93fr 1.07fr;gap:10rem;align-items:center;max-width:1200px;margin:auto}.facts-image img{width:100%;max-height:58rem;object-fit:contain}.facts-list details{border-top:1px solid var(--ink);padding:1.8rem 0}.facts-list details:last-child{border-bottom:1px solid var(--ink)}.facts-list summary{cursor:pointer;list-style:none;font-family:var(--display);font-size:3.2rem;display:flex;justify-content:space-between;align-items:center}.facts-list summary::-webkit-details-marker{display:none}.facts-list summary:after{content:'+';font-family:Arial;font-size:2.6rem}.facts-list details[open] summary:after{content:'−'}.facts-list p{font-size:1.7rem;margin:1.4rem 0 .2rem}.certifications{display:flex;align-items:center;gap:2rem;margin-top:1.6rem}.certifications img{width:9rem;height:5rem;object-fit:contain}
.finance-section{display:flex;align-items:center;justify-content:space-between;gap:5rem;padding-block:10rem;background:var(--orange);color:#fff;max-width:none;width:100%;padding-inline:max(48px,calc((100% - 1200px)/2));}.finance-section h2{margin:1.4rem 0 2.2rem}.finance-section p{font-size:1.7rem;max-width:45rem}.dark-button{color:var(--ink);background:#fff;border-color:#fff;white-space:nowrap}.dark-button:hover{color:#fff;background:transparent}
.plans-section{background:#fff}.plan-tabs,.gallery-tabs,.map-tabs{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.5rem}.plan-tab,.gallery-tab,.map-tab{border:1px solid var(--ink);padding:1rem 2.2rem;background:transparent;color:var(--ink);cursor:pointer;border-radius:3rem}.plan-tab.is-active,.plan-tab:hover,.gallery-tab.is-active,.gallery-tab:hover,.map-tab.is-active,.map-tab:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.plan-panel{display:none;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;min-height:32rem;background:var(--paper);padding:4rem}.plan-panel.is-active{display:grid}.plan-panel img{width:100%;height:32rem;object-fit:contain}.plan-panel p{font-family:var(--display);font-size:4rem}
.amenities-section{background:var(--ink);color:#fff}.amenities-section .section-heading>p{color:#f0f0ed}.amenities-section .text-link{display:inline-flex;gap:1.8rem;color:#fff;text-decoration:none;font-weight:600;margin-bottom:4rem}.text-link span{font-size:2.2rem}.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.28)}.amenity-card{min-height:19rem;padding:2.4rem;background:var(--ink);display:flex;flex-direction:column;justify-content:flex-end}.amenity-card img{width:7rem;height:7rem;object-fit:contain;margin-bottom:auto;filter:brightness(0) invert(1)}.amenity-card h3{font-family:var(--display);font-size:2.7rem;font-weight:400;margin:0}
.multimedia-section{background:var(--blue)}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.media-grid a{position:relative;min-height:27rem;overflow:hidden;text-decoration:none;background:var(--ink)}.media-grid img{width:100%;height:100%;min-height:27rem;object-fit:cover;transition:transform .45s}.media-grid a:hover img{transform:scale(1.04)}.media-grid a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 60%)}.media-grid span{position:absolute;z-index:1;bottom:2rem;left:2rem;color:#fff;font-family:var(--display);font-size:3.5rem;line-height:.9}
.gallery-section{background:var(--paper)}.gallery-heading{align-items:start}.gallery-heading .gallery-tabs{justify-content:flex-end}.gallery-panel{display:none;grid-template-columns:repeat(4,1fr);gap:1.2rem}.gallery-panel.is-active{display:grid}.gallery-panel figure{margin:0;overflow:hidden;background:#ddd}.gallery-panel figure:first-child{grid-column:span 2;grid-row:span 2}.gallery-panel img{width:100%;height:22rem;object-fit:cover;transition:transform .5s}.gallery-panel figure:first-child img{height:45rem}.gallery-panel figure:hover img{transform:scale(1.04)}
.location-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:6rem;align-items:center;padding-block:11rem}.location-copy h2{margin:1.4rem 0 2.5rem}.location-copy p{max-width:42rem;font-size:1.7rem}.address{display:flex;align-items:center;gap:1rem;margin:3rem 0;font-weight:600}.map-actions{display:flex;gap:1rem;flex-wrap:wrap}.map-actions a{padding:.9rem 1.8rem;border:1px solid var(--ink);border-radius:3rem;text-decoration:none;font-size:1.4rem}.map-actions a:hover{color:#fff;background:var(--ink)}.map-view{min-width:0}.map-tabs{justify-content:flex-end}.map-panels{position:relative;aspect-ratio:1.45;overflow:hidden;background:#d0d0ce}.map-panel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s}.map-panel.is-active{opacity:1}
.site-footer{background:var(--orange);color:#fff}.news{padding-block:9rem 10rem}.news h2{font-size:clamp(6rem,9vw,12rem);margin:1rem 0 5rem}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7rem}.news article{border-top:1px solid rgba(255,255,255,.7);padding-top:2.2rem}.news h3{font-size:2.8rem;line-height:1.08;max-width:45rem}.news p{font-size:1.65rem;max-width:49rem}.news a{text-decoration:none;border:1px solid #fff;padding:1rem 2rem;border-radius:3rem;display:inline-flex;gap:4rem}.news a:hover{background:#fff;color:var(--orange)}
.footer-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:8rem;padding-block:9rem;background:var(--ink)}.footer-contact h2{font-size:clamp(5rem,7vw,9rem);margin:1.5rem 0 2rem}.footer-contact-copy p{max-width:40rem;font-size:1.7rem}.contact-form{display:grid;gap:1.2rem;align-content:start}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:1.2rem 1.4rem;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.7);border-radius:0;outline:0}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.78)}.contact-form select{color:#fff}.contact-form option{color:var(--ink)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--orange)}.check{display:flex;gap:.7rem;align-items:flex-start;font-size:1.25rem}.check input{width:auto;margin-top:.4rem}.form-submit{justify-self:start;border:1px solid #fff;padding:1.2rem 2rem;border-radius:3rem;background:var(--orange);color:#fff;cursor:pointer}.form-submit:hover{background:#fff;color:var(--ink)}.form-note{min-height:2rem;color:var(--blue-light);font-size:1.3rem;margin:0}.footer-details{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;align-items:start;padding-block:6rem}.footer-logo{width:18rem;max-height:9rem;object-fit:contain;object-position:left}.footer-details h3{font-size:1.5rem;margin-bottom:1rem}.footer-details p{font-size:1.4rem}.footer-details a{text-decoration:none}.footer-details a:hover{text-decoration:underline}.social-links{display:flex;gap:.8rem}.social-links a{width:3.4rem;height:3.4rem;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-weight:700}.legal-links{border-top:1px solid rgba(255,255,255,.4);padding-block:2rem;display:flex;gap:3rem;flex-wrap:wrap;font-size:1.3rem}.legal-links a{text-decoration:none}.footer-base{display:flex;justify-content:space-between;gap:2rem;padding:1.6rem 5%;font-size:1.2rem;background:rgba(0,0,0,.16)}.footer-base a{text-decoration:none}
@media (max-width:900px){:root{--shell:min(calc(100% - 44px),680px)}.header-inner{width:calc(100% - 44px);gap:1.2rem}.brand-wordmark{width:14rem}.menu-toggle{display:block}.primary-nav{position:fixed;inset:7.5rem 0 auto;background:rgba(40,43,43,.98);padding:2rem 2.2rem;display:none;flex-direction:column;align-items:flex-start;gap:1.8rem}.menu-is-open .primary-nav{display:flex}.header-contact{display:none}.hero{min-height:90rem}.hero-slides{display:none}.hero-mobile-slides{display:block}.hero-copy{width:var(--shell);margin-bottom:23rem}.hero-copy h1{font-size:clamp(6rem,16vw,10rem)}.hero-copy p{font-size:1.6rem;max-width:28rem}.hero-utilities{right:22px;bottom:2.2rem;width:calc(100% - 44px);grid-template-columns:repeat(5,1fr)}.utility-card{min-height:9rem;font-size:1rem}.utility-card img{width:4.3rem;height:3.4rem}.section-heading,.facts-layout,.location-section,.footer-contact{grid-template-columns:1fr;gap:3rem}.project-intro,.plans-section,.amenities-section,.multimedia-section,.gallery-section,.location-section{padding-block:7rem}.feature-grid{grid-template-columns:1fr 1fr}.feature-grid article:first-child{grid-column:span 2;margin-bottom:0}.facts-section{padding-inline:22px}.facts-layout{gap:4rem}.finance-section{display:block;padding-inline:22px}.finance-section .dark-button{margin-top:2rem}.plan-panel{grid-template-columns:1fr;min-height:0}.plan-panel img{height:25rem}.amenities-grid{grid-template-columns:repeat(2,1fr)}.gallery-heading .gallery-tabs,.map-tabs{justify-content:flex-start}.gallery-panel{grid-template-columns:repeat(2,1fr)}.gallery-panel figure:first-child{grid-column:span 2}.footer-details{grid-template-columns:1fr 1fr}.footer-logo{grid-column:span 2}.footer-base{flex-direction:column}}
@media (max-width:560px){html{font-size:9px}.hero-utilities{grid-template-columns:repeat(3,1fr)}.utility-card:nth-child(4),.utility-card:nth-child(5){display:none}.feature-grid{display:block}.feature-grid article,.feature-grid article:first-child{margin:0 0 1.2rem}.feature-grid img,.feature-grid article:first-child img{aspect-ratio:1.5}.section-heading{margin-bottom:3.5rem}.section-heading>p{font-size:1.55rem}.facts-list summary{font-size:2.7rem}.amenities-grid{grid-template-columns:1fr 1fr}.amenity-card{min-height:15rem;padding:1.5rem}.amenity-card h3{font-size:2.2rem}.media-grid{grid-template-columns:1fr}.media-grid a,.media-grid img{min-height:22rem}.gallery-panel{display:none}.gallery-panel.is-active{display:grid;grid-template-columns:1fr 1fr}.gallery-panel figure:first-child{grid-column:span 2}.gallery-panel img,.gallery-panel figure:first-child img{height:18rem}.gallery-tabs{gap:.5rem}.gallery-tab,.map-tab,.plan-tab{padding:.8rem 1.2rem;font-size:1.25rem}.news-grid{grid-template-columns:1fr;gap:4rem}.news h3{font-size:2.3rem}.form-row{grid-template-columns:1fr}.footer-details{grid-template-columns:1fr}.footer-logo{grid-column:auto}.legal-links{gap:1.4rem}}
@media (prefers-color-scheme:dark){body{background:#171919;color:#f5f5f3}.project-intro,.plans-section,.gallery-section{background:#202323}.section-heading>p,.location-copy p{color:#d9dcda}.plans-section .plan-panel{background:#2a2d2d}.plans-section .plan-tab,.gallery-section .gallery-tab,.map-tab,.map-actions a{color:#fff;border-color:#fff}.plans-section .plan-tab.is-active,.plans-section .plan-tab:hover,.gallery-section .gallery-tab.is-active,.gallery-section .gallery-tab:hover,.map-tab.is-active,.map-tab:hover{border-color:var(--orange)}.facts-section{background:#334348}.facts-list details{border-color:#fff}.facts-list details:last-child{border-color:#fff}}
@media (forced-colors:active){*,*:before,*:after{border-color:CanvasText!important}.pill-button,.header-contact,.form-submit{border:2px solid ButtonText}.hero-overlay{display:none}.hero-copy,.hero-copy p{color:CanvasText}.hero{background:Canvas}}
