/*
Theme Name: Nordic Habitat
Theme URI: https://nordichabitat.pt
Author: Nordic Habitat
Description: Bespoke Nordic Habitat company website.
Version: 1.9.1
Text Domain: nordic-habitat
*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');

:root{--green:#173c31;--green-2:#285747;--gold:#b58a50;--cream:#f5f1ea;--paper:#fcfaf6;--ink:#1f2421;--muted:#68726c;--line:#ded8cd;--white:#fff;--shadow:0 18px 50px rgba(17,40,32,.13)}
body,button,input,textarea,select,.section-title,.hero h1,.brand,.stat strong,.story-card strong,.model-body h3,.benefit-num,.benefit h3,.system-copy h3,.reference-card h3,.modal-content h3,.project-info h2,.wip-heading h3,.progress-card h3{font-family:'Montserrat',Arial,Helvetica,sans-serif!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{margin:0 0 10px;color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.section{padding:100px 0}.section-title{max-width:760px;margin:0 0 18px;color:var(--green);font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,4rem);font-weight:500;line-height:1.08}.section-intro{max-width:760px;margin:0 0 46px;color:var(--muted);font-size:1.1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border:1px solid var(--green);background:var(--green);color:#fff;font-size:.9rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:.2s}.button:hover{background:var(--green-2);transform:translateY(-2px)}.button.light{border-color:#fff;background:#fff;color:var(--green)}.button.outline{background:transparent;color:var(--green)}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;border-bottom:1px solid rgba(255,255,255,.16);background:rgba(18,42,34,.88);color:#fff;backdrop-filter:blur(16px)}.admin-bar .site-header{top:32px}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}.brand{font-family:Georgia,serif;font-size:1.28rem;letter-spacing:.13em;text-transform:uppercase}.brand small{display:block;color:#d2b487;font-family:Arial,sans-serif;font-size:.56rem;letter-spacing:.25em}.main-nav{display:flex;align-items:center;gap:21px;font-size:.82rem;font-weight:700}.main-nav a:hover{color:#e5c28d}.language-link{padding:5px 8px;border:1px solid rgba(255,255,255,.45);color:#dfbd88}.nav-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.7rem}
.hero{position:relative;display:grid;align-items:end;min-height:94vh;padding:150px 0 80px;color:#fff;background:linear-gradient(90deg,rgba(10,27,21,.84) 0%,rgba(10,27,21,.36) 55%,rgba(10,27,21,.12)),url('assets/images/hero-coastal.jpeg') center/cover}.hero-copy{max-width:720px}.hero h1{margin:0 0 24px;font-family:Georgia,serif;font-size:clamp(3.2rem,7vw,6.8rem);font-weight:500;line-height:.96}.hero p{max-width:630px;margin:0 0 34px;font-size:1.2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:-1px;background:var(--green);color:#fff}.stat{padding:35px 7vw;border-right:1px solid rgba(255,255,255,.15)}.stat:last-child{border:0}.stat strong{display:block;color:#dfbd88;font-family:Georgia,serif;font-size:2.3rem;font-weight:500}.stat span{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.story-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:70px}.story-image{position:relative}.story-image img{width:100%;height:620px;object-fit:cover;box-shadow:var(--shadow)}.story-card{position:absolute;right:-28px;bottom:-28px;width:260px;padding:28px;background:var(--green);color:#fff}.story-card strong{display:block;color:#dfbd88;font-family:Georgia,serif;font-size:2rem}.story-copy p{color:var(--muted)}
.models{background:var(--cream)}.model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.model-card{overflow:hidden;background:#fff;box-shadow:0 10px 35px rgba(35,45,39,.08)}.model-card img{width:100%;height:340px;object-fit:cover}.model-body{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:28px}.model-body h3{margin:0;color:var(--green);font-family:Georgia,serif;font-size:2rem;font-weight:500}.model-body p{margin:4px 0 0;color:var(--muted)}.model-link{border:0;background:transparent;color:var(--gold);font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.modal{position:fixed;z-index:1000;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(8,24,18,.8)}.modal.open{display:flex}.modal-panel{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(1000px,100%);max-height:90vh;overflow:auto;background:#fff;box-shadow:var(--shadow)}.modal-panel img{width:100%;height:100%;min-height:500px;object-fit:contain;background:#f7f4ee}.modal-content{padding:52px}.modal-content h3{margin:0;color:var(--green);font-family:Georgia,serif;font-size:2.7rem;font-weight:500}.modal-content ul{padding-left:20px;color:var(--muted)}.modal-close{position:absolute;z-index:2;top:12px;right:14px;width:40px;height:40px;border:0;border-radius:50%;background:var(--green);color:#fff;font-size:1.4rem;cursor:pointer}
.benefits{background:var(--green);color:#fff}.benefits .section-title{color:#fff}.benefits .section-intro{color:#cbd8d2}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14)}.benefit{min-height:230px;padding:34px;background:var(--green)}.benefit-num{color:#d6b379;font-family:Georgia,serif;font-size:2rem}.benefit h3{margin:28px 0 8px;font-family:Georgia,serif;font-size:1.45rem}.benefit p{margin:0;color:#cbd8d2;font-size:.94rem}
.systems-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.system-card{border:1px solid var(--line);background:#fff}.system-card img{width:100%;height:310px;object-fit:contain;background:#fff}.system-copy{padding:26px}.system-copy h3{margin:0 0 8px;color:var(--green);font-family:Georgia,serif;font-size:1.55rem}.system-copy p{margin:0;color:var(--muted);font-size:.94rem}.technical-note{margin-top:24px;padding:18px 22px;border-left:3px solid var(--gold);background:var(--cream);color:var(--muted);font-size:.88rem}
.references{background:#ede8df}.reference-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.reference-card{background:#fff}.reference-card img{width:100%;height:230px;object-fit:cover}.reference-card div{padding:20px}.reference-card h3{margin:0 0 4px;color:var(--green);font-family:Georgia,serif;font-size:1.15rem}.reference-card p{margin:0;color:var(--muted);font-size:.82rem}
.portfolio-hero{padding:170px 0 75px;background:var(--green);color:#fff}.portfolio-hero .section-title{color:#fff}.portfolio-hero p{max-width:760px;color:#cbd8d2}.portfolio-section{padding:80px 0;background:var(--cream)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project-card{overflow:hidden;background:#fff;box-shadow:0 8px 30px rgba(30,43,36,.08)}.project-card img{width:100%;height:230px;object-fit:cover}.project-info{padding:24px}.project-info h2{margin:0 0 6px;color:var(--green);font-family:Georgia,serif;font-size:1.45rem;font-weight:500;line-height:1.2}.project-location{margin:0 0 18px;color:var(--gold);font-size:.82rem;font-weight:800;letter-spacing:.04em}.project-meta{display:grid;gap:10px;margin:0}.project-meta div{padding-top:10px;border-top:1px solid var(--line)}.project-meta dt{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.project-meta dd{margin:2px 0 0;font-size:.88rem;line-height:1.45}.progress-section{padding:85px 0;background:#fff}.wip-project{margin-bottom:55px}.wip-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:20px}.wip-heading h3{margin:0;color:var(--green);font-family:Georgia,serif;font-size:2.3rem;font-weight:500}.wip-heading p{margin:4px 0 0;color:var(--muted)}.wip-status{padding:8px 12px;background:var(--gold);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.wip-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:12px}.wip-gallery figure{position:relative;overflow:hidden;margin:0;background:var(--cream)}.wip-gallery figure:first-child{grid-row:1/3}.wip-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.wip-gallery figure:hover img{transform:scale(1.025)}.wip-gallery figcaption{position:absolute;right:10px;bottom:10px;padding:5px 9px;background:rgba(17,60,49,.86);color:#fff;font-size:.72rem;font-weight:800}.progress-grid{display:grid;grid-template-columns:1fr;gap:24px}.progress-card{position:relative;overflow:hidden;min-height:420px;background:var(--green);color:#fff}.progress-card img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.48}.progress-card-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:end;min-height:420px;padding:35px;background:linear-gradient(transparent,rgba(8,29,21,.92))}.progress-card h3{margin:0;font-family:Georgia,serif;font-size:2rem}
.about-hero{padding:180px 0 100px;background:linear-gradient(90deg,rgba(13,42,32,.94),rgba(13,42,32,.58)),url('assets/images/hero-secondary.jpg') center/cover;color:#fff}.about-hero .section-title{max-width:900px;color:#fff}.about-hero p{max-width:760px;font-size:1.15rem}.about-story{padding:90px 0;background:var(--paper)}.about-lead{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.about-lead h2{margin:0;color:var(--green);font-size:2.3rem;line-height:1.15}.about-lead p:first-child{margin-top:0}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;background:var(--line)}.about-value{padding:32px;background:#fff}.about-value strong{display:block;color:var(--gold);font-size:2rem}.about-value span{color:var(--green);font-size:.82rem;font-weight:800;text-transform:uppercase}.about-sections{padding:80px 0;background:var(--cream)}.about-sections details{margin-bottom:12px;border:1px solid var(--line);background:#fff}.about-sections summary{padding:22px 26px;color:var(--green);font-size:1.1rem;font-weight:700;cursor:pointer}.about-sections .detail-body{max-width:850px;padding:0 26px 26px;color:var(--muted)}.about-sections .detail-body h3{margin:26px 0 8px;color:var(--green);font-size:1.05rem}.about-quote{padding:85px 0;background:var(--green);color:#fff;text-align:center}.about-quote blockquote{max-width:900px;margin:0 auto;font-size:clamp(1.7rem,3vw,3rem);font-weight:600;line-height:1.25}
.contact{position:relative;background:linear-gradient(90deg,rgba(17,48,38,.96),rgba(17,48,38,.78)),url('assets/images/hero-secondary.jpg') center/cover;color:#fff}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:start;gap:70px}.contact .section-title{color:#fff}.contact p{color:#d8e0dc}.contact-links{display:grid;gap:14px;margin-top:30px}.contact-link{padding:18px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06)}.contact-link small{display:block;color:#dfbd88;text-transform:uppercase;letter-spacing:.12em}.contact-link strong{font-size:1.05rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:34px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.contact-form label{display:grid;gap:5px;color:#fff;font-size:.84rem}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.35);border-radius:0;background:rgba(255,255,255,.95);color:var(--ink);font:inherit}.contact-form textarea{min-height:120px;resize:vertical}.form-success{grid-column:1/-1;padding:12px;background:#d9eadf;color:#173c31}.site-footer{padding:32px 0;background:#0e241c;color:#adc0b7;font-size:.82rem}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-inner a{color:#fff}.cky-btn-revisit-wrapper,#cookie-law-info-again{background:var(--green)!important}.cky-consent-container .cky-btn{border-color:var(--green)!important}.cky-consent-container .cky-btn-accept{background:var(--green)!important;color:#fff!important}
@media(max-width:900px){.nav-toggle{display:block}.main-nav{position:absolute;top:82px;left:0;display:none;flex-direction:column;align-items:flex-start;width:100%;padding:25px 20px;background:var(--green)}.main-nav.open{display:flex}.story-grid,.contact-grid,.about-lead{grid-template-columns:1fr}.story-image img{height:480px}.story-card{right:0}.reference-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.benefit-grid{grid-template-columns:repeat(2,1fr)}.progress-grid{grid-template-columns:1fr}.about-values{grid-template-columns:1fr}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}@media(max-width:620px){body{font-size:16px}.section{padding:74px 0}.wrap{width:min(100% - 28px,1180px)}.hero{min-height:88vh;padding-bottom:55px;background-position:62% center}.hero h1{font-size:3.2rem}.stats{grid-template-columns:1fr}.stat{padding:22px 28px;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.model-grid,.benefit-grid,.systems-grid,.reference-grid,.portfolio-grid{grid-template-columns:1fr}.model-card img{height:260px}.story-image img{height:390px}.story-card{position:relative;right:auto;bottom:auto;width:100%}.system-card img{height:250px}.footer-inner{flex-direction:column}.contact-grid{gap:35px}.contact-form{grid-template-columns:1fr;padding:24px}.contact-form .full{grid-column:auto}.modal-panel{grid-template-columns:1fr}.modal-panel img{min-height:300px}.modal-content{padding:30px}.portfolio-hero{padding-top:145px}.wip-heading{align-items:start;flex-direction:column}.wip-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 180px 180px}.wip-gallery figure:first-child{grid-column:1/3;grid-row:auto}.wip-gallery figure:nth-child(4){grid-column:1/3}}
.whatsapp-contact{border-color:rgba(74,222,128,.55);background:rgba(37,211,102,.12)}.whatsapp-contact:hover{border-color:#25d366;background:rgba(37,211,102,.22)}
.discoverability{background:#fff}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.answer-grid article{padding:30px;border:1px solid var(--line);background:var(--paper)}.answer-grid h3{margin:0 0 10px;color:var(--green);font-size:1.25rem}.answer-grid p{margin:0;color:var(--muted)}@media(max-width:700px){.answer-grid{grid-template-columns:1fr}}

/* Bilingual navigation */
.language-switch{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.language-switch a{padding:4px 6px}.language-switch a[aria-current="true"]{color:#e5c28d;border-bottom:2px solid var(--gold);font-weight:800}.language-switch a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(min-width:901px){.header-inner{flex-wrap:wrap;row-gap:10px}.main-nav{flex-wrap:wrap}}

.drawing-translation{font-size:.85rem;margin-top:18px}.drawing-translation summary{cursor:pointer;font-weight:700;color:var(--green)}.drawing-translation p{margin:12px 0}.drawing-translation h4{margin:16px 0 8px}

/* Original Nordic Habitat logo, with room for both language menus. */
.site-header{--header-height:136px;background:rgba(18,42,34,.97)}
.header-inner{height:var(--header-height);min-height:var(--header-height);flex-wrap:nowrap;gap:24px}
.brand{display:flex;flex:0 0 auto;flex-direction:column;align-items:center;gap:5px;line-height:1.2;letter-spacing:normal;padding:8px 0}
.brand-logo{display:block;width:138px;height:auto;border-radius:3px}
.brand small{font-size:8px;letter-spacing:.17em;white-space:nowrap}
.main-nav{gap:18px;flex-wrap:nowrap}
.main-nav > a{white-space:nowrap}
html{scroll-padding-top:160px}
@media(max-width:1200px){
 .site-header{--header-height:112px}
 .brand-logo{width:108px}
 .nav-toggle{display:block}
 .main-nav{position:absolute;top:100%;left:0;display:none;flex-direction:column;align-items:flex-start;gap:16px;width:100%;padding:24px 20px;background:var(--green);max-height:calc(100dvh - var(--header-height) - 46px);overflow-y:auto}
 .main-nav.open{display:flex}
 html{scroll-padding-top:140px}
}
