:root{--navy:#10283f;--navy-2:#183851;--ink:#172434;--gold:#b28b4e;--gold-2:#d1b27b;--ivory:#f7f3eb;--paper:#fffdf8;--muted:#697480;--line:rgba(16,40,63,.16);--shadow:0 24px 70px rgba(16,40,63,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.08;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{position:sticky;top:0;z-index:30;background:rgba(16,40,63,.97);color:#fff;border-bottom:1px solid rgba(209,178,123,.35)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;line-height:1.1}.monogram{width:42px;height:42px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold-2);font:26px Georgia}.brand-copy{font:15px Georgia;letter-spacing:.09em;text-transform:uppercase}.brand-copy small{display:block;font:10px Arial;letter-spacing:.2em;margin-top:4px;color:#d8dee3}.navlinks{display:flex;align-items:center;gap:30px;font:14px Georgia}.navlinks a{padding:26px 0;border-bottom:2px solid transparent}.navlinks a:hover,.navlinks a.active{color:var(--gold-2);border-color:var(--gold)}.menu-button{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:white;padding:8px 11px;font-size:20px}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--gold)}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.hero{min-height:670px;position:relative;overflow:hidden;background:var(--paper)}.hero:after{content:"";position:absolute;inset:0 0 0 49%;background:linear-gradient(90deg,var(--paper) 0%,rgba(255,253,248,.1) 22%),url('assets/reference.jpeg') 76% center/auto 100% no-repeat;filter:saturate(.82)}.hero-inner{position:relative;z-index:2;padding:84px 0 76px;width:52%}.hero h1{font-size:clamp(2.8rem,5.4vw,5.2rem);letter-spacing:-.04em;color:var(--navy);margin:20px 0}.lead{font-size:1.12rem;color:#4b5965;max-width:630px}.offer-card{margin-top:32px;background:var(--navy);color:#fff;width:min(470px,100%);padding:25px 30px;border:1px solid var(--gold);box-shadow:0 0 0 3px var(--navy),0 0 0 4px var(--gold);text-align:center}.offer-card span{display:block;color:var(--gold-2);text-transform:uppercase;letter-spacing:.22em;font-size:12px}.price{font:64px Georgia;line-height:1;margin:7px 0}.price small{font:20px Georgia}.note{font-size:12px;color:#d6dde3}.actions-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 22px;border:1px solid var(--gold);background:var(--gold);color:#fff;font-family:Georgia;font-size:16px;transition:.2s}.btn:hover{background:#96713a}.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}.btn-outline:hover{background:var(--navy);color:white}.section{padding:88px 0}.section-dark{background:var(--navy);color:white}.section h2{font-size:clamp(2.1rem,4vw,3.6rem);color:var(--navy);margin:14px 0 24px}.section-dark h2{color:white}.intro-grid,.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.stat{background:var(--paper);padding:30px}.stat strong{display:block;color:var(--navy);font:38px Georgia}.stat span{color:var(--muted);font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.card{background:var(--paper);border:1px solid var(--line);padding:28px;min-height:220px;position:relative}.card:before{content:"";display:block;width:36px;height:2px;background:var(--gold);margin-bottom:24px}.card h3{font-size:25px;color:var(--navy);margin-bottom:12px}.card p{color:var(--muted);margin:0}.card .meta{margin-top:20px;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:12px}.band{padding:52px 0;background:var(--gold);color:#fff}.band-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.band h2{font-size:clamp(1.8rem,3.5vw,3rem)}.band .btn{background:var(--navy);border-color:var(--navy)}.page-hero{padding:90px 0 72px;background:linear-gradient(120deg,var(--navy),var(--navy-2));color:white;border-bottom:3px solid var(--gold)}.page-hero h1{font-size:clamp(2.8rem,6vw,5rem);max-width:820px;margin:18px 0}.page-hero p{max-width:680px;color:#d8e0e6;font-size:18px}.timeline{border-left:1px solid var(--gold);padding-left:34px}.timeline-item{margin-bottom:38px}.timeline-item b{color:var(--gold);letter-spacing:.12em;font-size:13px}.timeline-item h3{font-size:28px;margin:6px 0}.asset-list{display:grid;gap:18px}.asset{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:24px;background:var(--paper);border:1px solid var(--line);padding:22px}.asset-number{width:86px;height:86px;background:var(--navy);color:var(--gold-2);display:grid;place-items:center;font:30px Georgia}.asset h3{font-size:23px;color:var(--navy);margin-bottom:5px}.asset p{margin:0;color:var(--muted)}.badge{padding:6px 12px;border:1px solid var(--gold);color:var(--gold);font-size:13px;white-space:nowrap}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:step}.step{counter-increment:step;padding:30px;border-top:1px solid var(--gold);background:rgba(255,255,255,.05)}.step:before{content:"0" counter(step);font:36px Georgia;color:var(--gold-2)}.step h3{margin:15px 0 10px;font-size:24px}.risk{border:1px solid rgba(178,139,78,.5);padding:22px;background:#fbf7ef;color:#5d513e}.form-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start}.form-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:38px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-weight:700;font-size:14px;color:var(--navy)}input,select,textarea{width:100%;border:1px solid #cbd1d3;background:white;padding:13px 14px;font:16px Arial;color:var(--ink);border-radius:0}textarea{min-height:130px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(178,139,78,.35);border-color:var(--gold)}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted)}.check input{width:auto;margin-top:5px}.success{display:none;padding:16px;border-left:3px solid var(--gold);background:#f4ebdc;margin-top:18px}.success.show{display:block}.footer{background:#0b1e30;color:#d8e0e6;padding:52px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:42px}.footer h3{color:white;font-size:20px;margin-bottom:14px}.footer a{display:block;margin:7px 0;color:#c1ccd4}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:18px;font-size:12px;color:#8fa0ad}.legal{font-size:14px;color:var(--muted)}
@media(max-width:900px){.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:var(--navy);padding:18px 30px;flex-direction:column;align-items:flex-start;gap:0}.navlinks.open{display:flex}.navlinks a{padding:12px 0}.menu-button{display:block}.hero:after{inset:46% 0 0 0;background:linear-gradient(180deg,var(--paper),rgba(255,253,248,.1)),url('assets/reference.jpeg') 76% center/cover no-repeat;opacity:.8}.hero-inner{width:100%;padding:58px 0 340px}.intro-grid,.split,.form-wrap{grid-template-columns:1fr;gap:38px}.cards{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.asset{grid-template-columns:86px 1fr}.asset .badge{grid-column:2}}
@media(max-width:620px){.container{width:min(100% - 28px,1180px)}.brand-copy{font-size:12px}.hero h1{font-size:2.6rem}.hero-inner{padding-top:42px}.price{font-size:52px}.section{padding:62px 0}.cards,.steps,.form-grid,.footer-grid{grid-template-columns:1fr}.band-inner{align-items:flex-start;flex-direction:column}.asset{grid-template-columns:1fr}.asset-number{width:64px;height:64px}.asset .badge{grid-column:1}.form-card{padding:24px}}

/* Premium visual layer */
.topbar{background:rgba(8,24,39,.96);backdrop-filter:blur(18px)}
.nav{height:82px}.brand-copy span{display:block;font:10px Arial;letter-spacing:.2em;margin-top:4px;color:#d8dee3}
.hero{min-height:720px}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0 43%,rgba(255,253,248,.9) 50%,rgba(255,253,248,0) 70%);z-index:1}
.hero:after{inset:0 0 0 36%;background:url('assets/grand-hotel-de-normandie.jpg') 54% center/cover no-repeat;filter:saturate(.72) contrast(.98)}
.hero-inner{padding:92px 0 78px;width:50%}.hero h1{font-size:clamp(3rem,5.5vw,5.4rem)}
.offer-card{background:linear-gradient(145deg,#10283f,#081827);box-shadow:0 18px 50px rgba(16,40,63,.2)}
.btn{transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,40,63,.15)}
.section{padding:104px 0}.section-dark{background:linear-gradient(145deg,#10283f,#081827)}
.card,.asset{transition:transform .25s,border-color .25s,box-shadow .25s}.card:hover,.asset:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:var(--shadow)}
.page-hero{padding:108px 0 82px;background:radial-gradient(circle at 80% 0,rgba(209,178,123,.18),transparent 35%),linear-gradient(120deg,var(--navy),#081827);border-bottom:1px solid var(--gold)}
.band{background:linear-gradient(100deg,#a47b3f,#c4a369)}.footer{background:#071725}
.gallery{display:grid;grid-template-columns:1.45fr .8fr .8fr;grid-template-rows:260px 260px;gap:16px;margin-top:42px}
.gallery-item{position:relative;overflow:hidden;background:#e6dfd1;border:1px solid rgba(178,139,78,.24);margin:0}.gallery-item:first-child{grid-row:1/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.gallery-item:hover img{transform:scale(1.025)}
.gallery-caption{position:absolute;inset:auto 0 0;padding:34px 24px 20px;color:white;background:linear-gradient(transparent,rgba(8,23,37,.86));font:21px Georgia}
.placeholder{height:100%;display:grid;place-items:center;text-align:center;color:#76694f;background:linear-gradient(135deg,rgba(255,255,255,.65),rgba(178,139,78,.12)),repeating-linear-gradient(45deg,transparent 0 18px,rgba(178,139,78,.06) 18px 19px)}
.placeholder span{display:block;font:18px Georgia}.placeholder small{display:block;margin-top:7px;font:11px Arial;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:900px){.nav{height:74px}.navlinks{top:74px;background:#081827;box-shadow:0 18px 35px rgba(0,0,0,.25)}.hero{min-height:auto}.hero:before{background:linear-gradient(180deg,var(--paper) 0 53%,rgba(255,253,248,.92) 62%,rgba(255,253,248,0) 82%)}.hero:after{inset:45% 0 0;background:url('assets/grand-hotel-de-normandie.jpg') 54% center/cover no-repeat;opacity:.9}.hero-inner{width:100%;padding:56px 0 390px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px 210px 210px}.gallery-item:first-child{grid-column:1/3;grid-row:auto}.section{padding:78px 0}}
@media(max-width:620px){.brand-copy{font-size:11px}.monogram{width:39px;height:39px}.hero-inner{padding:42px 0 310px}.hero:after{inset:57% 0 0;background-position:52% center}.lead{font-size:1rem}.actions-row .btn{width:100%}.section{padding:64px 0}.page-hero{padding:66px 0 58px}.gallery{grid-template-columns:1fr;grid-template-rows:310px 190px 190px 190px}.gallery-item:first-child{grid-column:auto}.footer{padding-top:44px}}
.monogram{width:58px;font:700 15px Georgia;letter-spacing:.08em}
@media(max-width:620px){.monogram{width:50px;height:39px;font-size:13px}}
.company-info{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(209,178,123,.25);font-size:13px;color:#b7c4cd}.company-info span{display:inline-flex;gap:7px}.company-info strong{color:#d1b27b;font-weight:600}.footer-bottom{margin-top:18px}
@media(max-width:620px){.company-info{display:grid;gap:10px}.company-info span{display:block}.company-info strong{display:block;margin-bottom:2px}}
.gallery-caption strong,.gallery-caption small{display:block}.gallery-caption small{font:11px Arial;margin-top:5px;color:#dce3e8}.status-pill{display:inline-block;margin-bottom:9px;padding:5px 9px;background:#b28b4e;color:white;font:700 10px Arial;letter-spacing:.12em;text-transform:uppercase}.gallery-plan img{object-position:center}.gallery-solar .gallery-caption{padding-top:54px}
.gallery-plan img{object-fit:contain;background:#f4f0e8}
.gallery-mozart img{object-position:center 18%}.gallery-caption a{color:#f0d39e;text-decoration:underline;text-underline-offset:3px}
