/*
Theme Name: Luise
Description: Sito aziendale Luise S.r.l. — Immobiliare e ospitalità.
Version: 1.2.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: luise
*/
:root{--ink:#142b36;--muted:#57636a;--gold:#a17b46;--line:#dce1e3;--paper:#fff;--soft:#f2f5f5}*{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:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}.wrap{max-width:1360px;margin:auto;padding:0 6%}header{height:112px;border-bottom:1px solid var(--line);background:white}header .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:block;width:175px}.brand img{width:100%;height:70px;object-fit:contain}nav{display:flex;align-items:center;gap:36px;font-size:14px}nav a{padding:8px 0}nav a[aria-current=page]{border-bottom:1px solid var(--gold)}nav .contact-link{border:1px solid var(--ink);padding:10px 23px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:600;display:block;margin:0 0 24px;color:var(--gold)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08}h1{font-size:clamp(3.1rem,5.7vw,5.7rem);letter-spacing:-.04em}h2{font-size:clamp(2.4rem,4vw,4rem);letter-spacing:-.035em}h3{font-size:2rem}p{color:var(--muted);max-width:640px}p+p{margin-top:18px}.hero{display:grid;grid-template-columns:.85fr 1.15fr;min-height:620px}.hero-copy{padding:80px 50px 75px max(6vw,calc((100vw - 1196px)/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy p{margin:28px 0 32px;max-width:390px}.hero-art{position:relative;overflow:hidden;background:var(--ink);min-height:520px}.hero-art .render{height:100%;width:100%;aspect-ratio:auto}.hero-art .render img{width:auto;min-width:100%;max-width:none;height:235%;left:50%;top:50%;transform:translate(-50%,-50%)}.image-caption{position:absolute;bottom:24px;left:28px;right:28px;color:white;font-size:13px;text-shadow:0 1px 5px black}.image-caption span{display:block;letter-spacing:.13em;font-size:11px}.hero-art:after{content:'';position:absolute;bottom:0;left:0;right:0;height:130px;background:linear-gradient(transparent,#0008);pointer-events:none}.image-caption{z-index:1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--ink);color:white;padding:15px 24px;font-size:14px}.button:hover{background:#254757}.button.light{background:white;color:var(--ink)}.text-link{display:inline-block;padding-bottom:7px;border-bottom:1px solid var(--gold);font-size:14px;margin-top:25px}.text-link span{margin-left:32px}.intro{padding:85px 0;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;border-bottom:1px solid var(--line)}.section{padding-top:90px;padding-bottom:90px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.section-top p{max-width:355px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:34px}.card figure{margin:0 0 24px;overflow:hidden}.render{position:relative;overflow:hidden;aspect-ratio:1.77;background:#edf0f0}.render img{position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%)}.photo{width:100%;aspect-ratio:1.77;object-fit:cover}.card .eyebrow{margin-bottom:12px}.card p{margin-top:17px}.card img{transition:filter .3s}.card:hover img{filter:brightness(.95)}.band{background:var(--ink);color:white;padding:70px 0}.band .wrap{display:flex;align-items:center;justify-content:space-between;gap:35px}.band p{color:#c0cbd0;margin-top:18px}.page-heading{padding:65px 0 48px;max-width:950px}.page-heading h1{font-size:clamp(3rem,5vw,4.9rem)}.page-heading p{margin-top:26px}.wide-image{aspect-ratio:2.25;overflow:hidden;position:relative}.wide-image img.photo{height:100%;aspect-ratio:auto;object-fit:cover}.wide-image.render img{top:49%}.image-note{font-size:12px;margin-top:10px}.details{display:grid;grid-template-columns:1fr 1.5fr;gap:13%;padding:70px 0}.facts{margin:0}.facts div{border-top:1px solid var(--line);padding:18px 0}.facts dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.facts dd{margin:6px 0 0;font-size:17px}.details h2{margin-bottom:24px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:26px}.gallery figure{margin:0}.gallery figcaption{font-size:13px;color:var(--muted);padding-top:10px}.soft{background:var(--soft)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-bottom:90px}.contact-panel{background:var(--soft);padding:40px}.contact-panel h2{font-size:2rem;margin-bottom:22px}.contact-panel p{margin-bottom:24px}.contact-panel a{overflow-wrap:anywhere}.address{font-size:22px;line-height:1.5}.legal{border-top:1px solid var(--line);padding-top:25px;margin-top:30px;font-size:14px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:35px;padding:54px 0 35px}.footer-top p{font-size:14px;max-width:330px}.footer-nav{display:flex;gap:26px;font-size:14px}.footer-bottom{padding:24px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:24px}.footer-brand{font-family:Georgia,serif;font-size:32px;letter-spacing:.15em;margin-bottom:12px}footer{background:#fff}.menu-button{display:none}
@media(min-width:1600px){.hero-copy{padding-left:calc((100vw - 1196px)/2)}}@media(max-width:850px){header{height:auto;min-height:94px}header .wrap{padding-top:14px;padding-bottom:14px;flex-wrap:wrap;gap:12px}.brand{width:135px}.brand img{height:53px}nav{gap:22px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6%}.hero-copy p{max-width:540px}.hero-art{min-height:400px;height:400px}.hero-art .render img{width:100%;height:auto;min-height:210%}.intro{gap:45px}.section{padding-top:65px;padding-bottom:65px}.details{gap:45px}.footer-nav{flex-wrap:wrap;gap:16px}}@media(max-width:560px){.wrap{padding-left:6%;padding-right:6%}header .wrap{justify-content:center}.brand{width:128px}nav{width:100%;justify-content:space-between;gap:8px;font-size:13px}nav .contact-link{padding:6px 10px}.hero-copy{padding-top:42px;padding-bottom:42px}h1{font-size:3.15rem}.hero-art{height:310px;min-height:310px}.intro,.cards,.details,.contact-grid,.gallery{grid-template-columns:1fr}.intro{padding:55px 0;gap:25px}.section-top{display:block}.section-top p{margin-top:23px}.cards{gap:45px}.band .wrap{align-items:flex-start;flex-direction:column}.band h2{font-size:2.5rem}.page-heading{padding-top:42px}.wide-image{aspect-ratio:1.5}.wide-image.render img{width:120%;max-width:none;left:-10%}.details{padding:45px 0;gap:35px}.contact-panel{padding:28px}.contact-grid{gap:30px}.footer-top,.footer-bottom{flex-direction:column}.footer-top{gap:26px}.eyebrow{font-size:12px}.gallery{gap:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.wp-site-blocks{padding:0}.entry-content>p:empty{display:none}.admin-bar header{position:relative}.wp-block-html{margin:0}.wp-caption{max-width:100%}.alignwide{max-width:1360px}.alignfull{width:100%}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* 1.0.1: bounded hero dimensions and theme-relative image loading. */
.hero{grid-template-columns:1fr 1.15fr;min-height:0}
.hero-copy{padding:64px 42px 64px max(6vw,calc((100vw - 1196px)/2))}
.hero-copy h1{font-size:clamp(2.8rem,4.4vw,4.4rem);line-height:1.12;letter-spacing:-.035em}
.hero-art{height:650px;min-height:0;align-self:stretch}
.hero-art .render{height:100%;position:relative;background-image:url('assets/residenze-hero.webp');background-size:auto 235%;background-position:50% 49%;background-repeat:no-repeat}
.hero-art .render img{position:absolute;width:1px;height:1px;min-width:0;max-width:1px;left:0;top:0;opacity:0;transform:none}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6%}.hero-copy h1{font-size:clamp(2.8rem,7vw,4rem)}.hero-art{height:420px}.hero-art .render{background-size:auto 235%}}
@media(max-width:560px){.hero-art{height:300px}.hero-art .render{background-size:auto 235%}.hero-copy h1{font-size:2.8rem}.hero-copy{padding:40px 6%}}

/* 1.0.3: intrinsic image sizing, centered layout and compact homepage. */
html{width:100%;box-sizing:border-box}
body{width:100%;min-width:0;margin:0}
*,*::before,*::after{box-sizing:inherit}
body>header,body>main,body>footer{width:100%;max-width:100%;margin-inline:auto}
.wrap{width:100%;max-width:1360px;margin-inline:auto;padding-inline:clamp(20px,5vw,72px)}
.hero,.intro,.cards,.details,.gallery,.contact-grid{min-width:0}
.hero>*,.intro>*,.cards>*,.details>*,.gallery>*,.contact-grid>*{min-width:0}
.cards,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero{width:100%;max-width:1360px;margin:0 auto;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
.hero-copy{padding:56px clamp(24px,4vw,56px);min-width:0}
.hero-copy h1{font-size:clamp(2.5rem,3.8vw,3.8rem);line-height:1.12;overflow-wrap:normal}
.hero-copy p{margin:24px 0 28px}
.hero-art{height:560px}
img.photo{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.card figure{width:100%;aspect-ratio:16/10;margin:0 0 24px;overflow:hidden}
.card figure>.photo,.card figure>.render{width:100%;height:100%;aspect-ratio:auto}
.gallery figure>.photo{height:auto;aspect-ratio:16/10}
.wide-image{width:100%;aspect-ratio:2/1}
.wide-image img.photo{width:100%;height:100%;object-fit:cover}
.render{max-width:100%}
.footer-top,.footer-bottom,.band .wrap{min-width:0;flex-wrap:wrap}
@media(max-width:850px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{padding:44px clamp(20px,5vw,50px)}.hero-copy h1{font-size:clamp(2.5rem,6vw,3.6rem)}.hero-art{height:360px}.intro,.details{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}}
@media(max-width:560px){.cards,.gallery,.intro,.details,.contact-grid{grid-template-columns:minmax(0,1fr)}.hero-copy h1{font-size:2.6rem}.hero-art{height:290px}.wide-image{aspect-ratio:16/10}.brand{flex-shrink:0}nav{flex-wrap:wrap}}

/* 1.1.0 — Luise: midnight, ivory and champagne. */
:root{--ink:#142b36;--muted:#5e625f;--gold:#94723e;--line:#ded9cf;--paper:#faf9f6;--soft:#f0ede6}
body{background:var(--paper);font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.75}
header{height:108px;background:var(--paper);border-bottom:1px solid var(--line)}
header .brand{width:186px}nav{gap:34px;letter-spacing:.035em}nav a{font-size:14px}nav .contact-link{border-color:#b69c70;padding:10px 26px}
.hero{max-width:1440px;background:var(--ink);color:#fff;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);margin:28px auto 0;width:calc(100% - 56px)}
.hero-copy{padding:65px clamp(28px,4vw,64px)}
.hero-copy .eyebrow{color:#dac59f;line-height:1.8;letter-spacing:.17em}
.hero-copy h1{font-family:Georgia,serif;font-size:clamp(2.8rem,4.1vw,4.5rem);font-weight:400;letter-spacing:-.045em;line-height:1.12}
.hero-copy p{color:#d6dfdf;font-size:16px;line-height:1.85;max-width:430px}
.hero-copy .button{background:transparent;border:1px solid #bda57c;color:#f8f5ee;padding:14px 22px}
.hero-art{height:640px}.hero-art .render{background-size:auto 235%}
.image-caption{border-top:1px solid #ffffff55;padding-top:15px;bottom:28px;left:32px;right:32px}.image-caption span{color:#e7d1ac;margin-bottom:4px}
h2{font-size:clamp(2.3rem,3.6vw,3.7rem);line-height:1.15}h3{font-size:2.2rem}.eyebrow{letter-spacing:.19em;font-weight:500;font-size:12px}
.intro{padding:90px 0;gap:9%;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.intro p{line-height:1.9}
.section{padding-block:85px}.section-top{margin-bottom:44px}.cards{gap:48px}.card{padding-bottom:30px;border-bottom:1px solid #c4b393}.card figure{aspect-ratio:4/3;margin-bottom:30px}.card figure>.photo{object-position:center}.card .eyebrow{margin-top:5px}.card p{line-height:1.85}.text-link{font-size:14px;letter-spacing:.025em;padding-bottom:9px;margin-top:24px}
.band{padding:78px 0;background:#142b36;border-top:3px solid #b49a6f}.band h2{font-size:clamp(2.2rem,3.8vw,3.8rem)}.button.light{background:#e9dfcc;color:#142b36}.button:hover{background:#324c56;color:#fff}
.page-heading{padding:74px 0 54px;max-width:980px}.page-heading h1{font-size:clamp(3rem,5vw,5.2rem)}.page-heading p{max-width:740px;line-height:1.85}.wide-image{border-bottom:4px solid #b49a6f}.details{padding:78px 0;gap:9%}.facts div{padding:22px 0}.facts dt{letter-spacing:.14em;color:#846b44}.details p{line-height:1.9}
.house-gallery{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px;align-items:stretch}
.house-gallery .bedroom{grid-row:span 2;display:flex;flex-direction:column}
.house-gallery .bedroom>.photo{height:0;flex:1;min-height:520px;aspect-ratio:auto;object-fit:cover;object-position:center 62%}
.house-gallery figure:not(.bedroom)>.photo{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.gallery figcaption{text-transform:uppercase;letter-spacing:.12em;font-size:12px;padding-top:14px}
.contact-panel{border-top:2px solid #b49a6f;background:#f0ede6;padding:42px}.footer-top{padding-top:65px}footer{background:#f0ede6}.footer-brand{letter-spacing:.22em;font-size:36px}.footer-bottom{line-height:1.8}
@media(max-width:1000px){.hero{width:calc(100% - 32px)}.hero-copy{padding:40px 28px}.hero-art{height:590px}.hero-copy h1{font-size:3.1rem}.cards{gap:28px}}
@media(max-width:850px){header{height:auto}.hero{grid-template-columns:minmax(0,1fr);margin-top:16px}.hero-copy{padding:45px 32px}.hero-copy h1{font-size:clamp(2.8rem,7vw,4rem)}.hero-art{height:380px}.intro{gap:32px;padding:60px 0}.house-gallery{gap:22px}.house-gallery .bedroom>.photo{min-height:420px}}
@media(max-width:560px){header .brand{width:148px}nav{gap:8px}nav .contact-link{padding:7px 12px}.hero{width:calc(100% - 24px);margin-top:12px}.hero-copy{padding:38px 24px}.hero-copy h1{font-size:2.7rem}.hero-art{height:300px}.intro,.cards,.details,.house-gallery{grid-template-columns:minmax(0,1fr)}.intro{padding:50px 0}.section{padding-block:58px}.page-heading{padding-top:48px}.house-gallery .bedroom{grid-row:auto}.house-gallery .bedroom>.photo{height:auto;flex:none;min-height:0;max-height:620px;aspect-ratio:3/4;object-position:center 65%}.band{padding:55px 0}.contact-panel{padding:28px}.card figure{aspect-ratio:4/3}}

/* Bronze accents requested for Luise Lux. */
:root{--gold:#8c6239;--bronze:#a8794d;--bronze-light:#d2ad87}
nav .contact-link{border-color:var(--bronze)}
.hero-copy .eyebrow{color:var(--bronze-light)}
.hero-copy .button{border-color:var(--bronze);color:#fff}
.image-caption span{color:#e0bd99}
.card{border-bottom-color:var(--bronze)}
.band{border-top-color:var(--bronze)}
.button.light{background:#d2ad87;color:#142b36}
.wide-image{border-bottom-color:var(--bronze)}
.facts dt{color:#805630}
.contact-panel{border-top-color:var(--bronze)}

.page .wrap.section>h1{margin-bottom:32px}.page .wrap.section h2{margin-top:32px;margin-bottom:18px}

/* Le Perle: project glimpses in the Luise visual identity. */
.perle-preview,.perle-project{background:#f0ede6;border-top:1px solid #d8c5ac}
.perle-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.perle-split figure,.perle-panorama,.perle-gallery figure{margin:0}
.perle-split img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.perle-split h2{margin-bottom:25px}.perle-split p{line-height:1.85}
.perle-preview figcaption,.perle-project figcaption{font-size:12px;letter-spacing:.08em;padding-top:12px;color:#665846}
.perle-panorama img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center}
.perle-project h3{margin-bottom:26px}.perle-project p+p{margin-top:20px}
.perle-project .facts dd{font-size:16px}.perle-source{font-size:13px;margin-top:30px!important;max-width:none}.perle-source a{text-decoration:underline;text-underline-offset:3px}
#le-perle{scroll-margin-top:24px}
@media(max-width:750px){.perle-split{grid-template-columns:minmax(0,1fr)}.perle-panorama img{aspect-ratio:4/3}.perle-project .details{grid-template-columns:minmax(0,1fr)}}
