@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--night:#060c14;--ink:#0c1623;--mid:#11243a;--gold:#d5b37c;--gold-light:#f8e4c0;--cream:#f8f4ee;--white:#f9fbff;--muted:#b7bdc5;--line:rgba(214,179,124,.3);--rail:76px;--max:1410px;--marble:url('assets/marbre-bleu.webp')}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--cream);background:#07101d;font:400 15px/1.72 'Manrope',Arial,sans-serif;-webkit-font-smoothing:antialiased}body::before{content:'';position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,0,0,.3),#09111d 50%),var(--marble) center 0 / 1750px auto repeat;opacity:.8}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:.99;letter-spacing:-.025em}h1{font-size:clamp(3.4rem,6.5vw,7rem);margin-bottom:25px}h2{font-size:clamp(2.4rem,4vw,4.8rem);margin-bottom:22px}h3{font-size:clamp(1.6rem,2vw,2.3rem)}h1 em,h2 em{font-weight:400;font-style:italic;color:var(--gold-light)}p{color:var(--muted);line-height:1.86}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.23em;color:var(--gold);font-size:11px;font-weight:800;line-height:1.5;margin-bottom:19px}.marble-surface{background-image:linear-gradient(90deg,rgba(6,13,22,.64),rgba(6,13,22,.45)),var(--marble);background-size:cover,1600px auto;background-position:center,center}.shell{margin-left:var(--rail);width:calc(100% - var(--rail));min-height:100vh}.shell>header,.shell>main,.shell>footer{width:min(100%,var(--max));margin-left:auto;margin-right:auto}.skip-link{position:fixed;left:90px;top:-100px;z-index:150;padding:12px;background:var(--gold);color:var(--night)}.skip-link:focus{top:8px}
/* Independent left navigation rail */
.side-rail{position:fixed;left:0;top:0;width:var(--rail);height:100dvh;z-index:80;background:linear-gradient(180deg,#060a10 0%,#091623 55%,#030609);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center}.menu-trigger{appearance:none;width:58px;height:71px;padding:12px 8px 8px;margin-top:10px;border:1px solid var(--gold);background:#07101b;color:var(--gold-light);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;cursor:pointer}.hamburger{display:flex;flex-direction:column;gap:5px}.hamburger i{display:block;width:28px;height:2px;background:var(--gold-light);transition:transform .2s}.menu-trigger small{font-size:8px;letter-spacing:.15em;font-weight:800}.menu-trigger:hover{background:#132840}.rail-text{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.48em;color:#e6d6ba;margin-top:auto;margin-bottom:37px}.rail-line{height:60px;width:1px;background:var(--gold);margin-bottom:25px;opacity:.7}
.menu-shade{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:89;opacity:0;pointer-events:none;transition:opacity .25s}.menu-shade.open{opacity:1;pointer-events:auto}.menu-panel{position:fixed;top:0;left:var(--rail);bottom:0;width:min(460px,calc(100vw - var(--rail)));padding:38px 40px;background:linear-gradient(160deg,rgba(5,12,22,.98),rgba(10,27,46,.98)),var(--marble) center/cover;z-index:90;border-right:1px solid var(--line);transform:translateX(-110%);visibility:hidden;transition:transform .3s,visibility .3s;overflow-y:auto;display:flex;flex-direction:column}.menu-panel.open{transform:translateX(0);visibility:visible}.menu-head{display:flex;justify-content:space-between;align-items:center}.menu-dismiss{background:transparent;border:1px solid var(--line);color:var(--gold-light);height:42px;width:42px;cursor:pointer}.menu-brand{font-family:'Cormorant Garamond',serif;font-size:3.5rem;line-height:1;margin:28px 0 35px;color:var(--cream)}.menu-brand span{font-family:'Manrope',sans-serif;font-size:.7rem;letter-spacing:.23em;display:block;color:var(--gold);margin-top:10px}.menu-links{border-top:1px solid var(--line)}.menu-links>a{display:flex;gap:17px;align-items:center;border-bottom:1px solid rgba(255,255,255,.13);padding:17px 4px;font-size:1.04rem}.menu-links>a>span:last-child{margin-left:auto;color:var(--gold)}.menu-links>a.current{color:var(--gold-light)}.nav-index{font-size:10px;letter-spacing:.08em;color:var(--gold)}.menu-bottom{display:flex;flex-direction:column;gap:7px;margin-top:auto;padding-top:30px}.menu-bottom p{margin:0;font-size:.86rem}.menu-bottom a{font-size:.9rem;overflow-wrap:anywhere}
/* Logo alone in top header */
.brand-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 22px 18px;background:radial-gradient(ellipse at center,rgba(34,32,28,.5),rgba(5,7,11,.92) 70%);border-bottom:1px solid var(--line);min-height:218px}.brand-link{width:min(570px,73vw);display:block}.brand-link img{width:100%;height:157px;object-fit:contain}.brand-caption{margin:1px 0 0;letter-spacing:.33em;color:#e5d0ae;font-size:9px;font-weight:700;text-align:center}.innerpage .brand-header{min-height:174px;padding:15px}.innerpage .brand-link{width:min(410px,65vw)}.innerpage .brand-link img{height:121px}
main{padding-bottom:12px}main>section{margin:0 0 0}main>section.block{padding:76px clamp(23px,4vw,66px);border-bottom:1px solid rgba(215,184,138,.19)}.section-tag{border-left:2px solid var(--gold);padding-left:12px;font-size:10px;letter-spacing:.22em;color:var(--gold);margin-bottom:32px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.section-top>div{max-width:780px}.text-link{display:inline-flex;gap:14px;align-items:center;color:var(--gold-light);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;border-bottom:1px solid var(--gold);padding-bottom:7px}.button{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;padding:15px 24px;min-height:53px;letter-spacing:.08em;font-weight:800;text-transform:uppercase;font-size:10px;border:1px solid var(--gold);transition:background .2s,color .2s,transform .2s;cursor:pointer;border-radius:0}.button:hover,.contact-tile:hover,.project-card:hover{transform:translateY(-2px)}.button-gold{background:linear-gradient(115deg,#b88b55,#f4d4a2 55%,#b98c55);color:#08111a}.button-outline{background:rgba(5,10,17,.52);color:var(--gold-light)}.button-outline:hover{background:rgba(213,179,124,.12)}
/* hero */
.hero{display:grid;grid-template-columns:52% 48%;min-height:580px;border-bottom:1px solid var(--line)}.hero-copy{padding:66px clamp(26px,4vw,76px);display:flex;flex-direction:column;justify-content:center}.hero h1{max-width:760px}.hero p{max-width:530px;font-size:14px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}.hero-location{margin-top:32px;color:#e0c9a3;font-size:11px;letter-spacing:.1em}.hero-photo{position:relative;overflow:hidden;min-height:530px;border-left:1px solid var(--line);background:#0a111a}.hero-photo img{height:100%;object-fit:cover;object-position:58% center;filter:contrast(1.04)}.hero-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,20,.24),transparent 30%);z-index:1}.photo-caption{position:absolute;bottom:23px;right:23px;padding:7px 13px;background:#07101be8;border:1px solid var(--line);letter-spacing:.18em;color:var(--gold-light);font-size:10px;z-index:2}.contact-ctas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:18px clamp(20px,4vw,66px) 27px;gap:15px;background:#070d16;border-bottom:1px solid var(--line)}.contact-tile{display:flex;align-items:center;gap:16px;padding:17px 19px;border:1px solid var(--gold);background:linear-gradient(160deg,#0c1927,#080e17);min-width:0;transition:transform .2s}.contact-tile svg{width:25px;height:25px;flex:none;fill:none;stroke:var(--gold-light);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.contact-tile strong{display:block;color:var(--cream);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.contact-tile small{display:block;color:#bfc4cc;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.contact-tile>b{color:var(--gold-light);margin-left:auto}
.about-home{background:linear-gradient(110deg,#0a111b,#111924)}.about-grid{display:grid;grid-template-columns:1fr 47%;gap:46px;align-items:center}.about-grid>div>p{max-width:650px}.about-photo{border:1px solid var(--line);height:350px;overflow:hidden}.about-photo img{height:100%;object-position:center}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card{display:block;background:rgba(2,7,12,.93);border:1px solid rgba(223,183,119,.38);transition:transform .2s}.project-image{position:relative;height:240px;overflow:hidden}.project-image img{height:100%;transition:transform .5s;object-fit:cover}.project-card:hover .project-image img{transform:scale(1.055)}.project-arrow{position:absolute;right:12px;bottom:12px;background:#081322;padding:2px 11px;color:var(--gold-light)}.project-caption{padding:18px 20px 22px;border-top:1px solid var(--line)}.project-caption h3{font-size:1.6rem;line-height:1.05;margin-bottom:5px}.project-caption p{font-size:12px;margin:0}.before-home{background:linear-gradient(120deg,#060d16,#12243a 70%,#060e17)}.before-home>.section-top>div{max-width:790px}.before-home>.section-top p{max-width:680px}.compare{position:relative;width:100%;height:400px;overflow:hidden;border:1px solid var(--line);background:#141921;--position:50%}.compare>img,.compare-before>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--position)) 0 0)}.compare-line{position:absolute;left:var(--position);top:0;bottom:0;width:2px;background:#f2d7a8;transform:translateX(-50%);z-index:2;pointer-events:none}.compare-line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;background:#07101a;color:#ffdfab;font-size:20px}.compare-label{position:absolute;bottom:17px;background:#09111cdd;border:1px solid var(--line);font-size:10px;letter-spacing:.15em;padding:6px 12px;color:#ffe0af;z-index:3;pointer-events:none}.compare-label.left{left:17px}.compare-label.right{right:17px}.compare>input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0}.image-disclaimer{font-size:11px;color:#aab1bc;line-height:1.5;margin:13px 0 0}.quote-banner{display:grid;grid-template-columns:1fr .7fr;gap:30px;align-items:center}.quote-banner p{max-width:550px}.quote-banner-action{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.quote-banner-action small{color:var(--muted)}
/* inner pages */
.page-intro{padding:67px clamp(23px,4vw,66px) 58px;border-bottom:1px solid var(--line)}.page-intro h1{max-width:950px;margin-bottom:25px}.page-intro p{max-width:770px;font-size:15px}.intro-rule{height:1px;width:180px;background:var(--gold);margin-top:29px}.story-grid{display:grid;grid-template-columns:47% 1fr;gap:45px;align-items:center;background:#0a1421}.story-visual{min-height:450px;overflow:hidden;border:1px solid var(--line)}.story-visual img{height:100%;min-height:450px}.team-section h2{max-width:840px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.team-card{border:1px solid var(--line);padding:31px 25px;background:#07101cdb}.team-card span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.team-card h3{font-size:2.5rem;margin:15px 0}.team-card p{font-size:13px}.values{border-top:1px solid var(--line);padding:22px 0 0;display:flex;flex-wrap:wrap;gap:15px 35px;color:var(--gold-light);font-size:10px;letter-spacing:.15em}.simple-cta{display:flex;justify-content:space-between;align-items:center;gap:20px}.simple-cta h2{margin:0}.service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.service-detail{background:#0a1523;border:1px solid var(--line)}.service-detail>img{height:290px;object-fit:cover}.service-detail-body{padding:30px}.service-detail-body h2{font-size:clamp(2rem,3vw,3.2rem);margin-bottom:15px}.service-detail-body p{min-height:110px;font-size:13px}.process .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.steps>div{border-top:1px solid var(--line);padding-top:22px}.steps b{font-size:2.5rem;color:var(--gold);font-family:'Cormorant Garamond',serif}.steps h3{font-size:2rem}.gallery-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center}.gallery-feature .compare{height:450px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}.gallery-grid figure{margin:0;border:1px solid var(--line);background:#080f17}.gallery-grid img{height:220px}.gallery-grid figcaption{display:flex;justify-content:space-between;gap:10px;padding:13px 17px;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.gallery-grid span{color:var(--gold)}
/* functional quote estimate */
.quote-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.7fr);align-items:start;gap:22px;background:#07101b}.quote-form{border:1px solid var(--line);background:linear-gradient(140deg,rgba(14,28,43,.98),rgba(5,12,20,.99));padding:31px}.form-section{border-bottom:1px solid rgba(213,179,124,.2);padding-bottom:28px;margin-bottom:31px}.fields{display:grid;gap:13px}.fields.two{grid-template-columns:1fr 1fr}.quote-form label{display:block;font-size:12px;color:var(--cream);font-weight:700;letter-spacing:.01em;margin:0 0 17px}.quote-form label>span{color:var(--gold)}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{display:block;width:100%;min-width:0;background:#0a1724;border:1px solid rgba(210,214,217,.26);color:var(--cream);border-radius:0;margin-top:8px;padding:12px 13px;min-height:45px;font-size:12px;outline-offset:0}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#9fa8b3}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--gold)}.quote-form label>small{font-size:10px;color:#b4bec8}.service-options{display:grid;grid-template-columns:1fr;gap:9px}.service-choice{border:1px solid rgba(213,179,124,.18);padding:14px;background:#081421}.service-choice.selected{border-color:var(--gold);background:#102035}.service-pick{display:flex!important;align-items:flex-start;gap:12px;cursor:pointer;margin:0!important}.service-pick input{accent-color:var(--gold);width:17px;height:17px;flex:none;margin-top:3px}.service-pick strong{display:block;font-size:12px}.service-pick small{font-size:11px;font-weight:400;color:#bac2ca;display:block;margin-top:4px}.service-config{display:none;grid-template-columns:1fr 1fr;gap:13px;padding:15px 0 0 29px}.service-choice.selected .service-config{display:grid}.service-config label{margin:0}.service-config label:last-child{grid-column:1/-1}.service-config input[type=number]{max-width:150px}.form-note{font-size:11px!important;color:#a5b3c1;margin-bottom:0}.upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.upload-grid label{min-width:0}.upload-grid input{font-size:11px!important;padding:8px!important}.upload-grid input::file-selector-button{background:#1a3048;border:1px solid var(--line);color:#f3e5cd;padding:6px;cursor:pointer}.consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;line-height:1.65}.consent input{accent-color:var(--gold);margin-top:4px}.consent span{color:var(--cream)!important}.submit{width:100%;justify-content:space-between;margin-bottom:15px}.honeypot{display:none!important}.estimate-panel{position:sticky;top:22px;border:1px solid var(--line);padding:30px}.estimate-panel h2{font-size:clamp(2.5rem,3.3vw,4.2rem)}.estimate-panel>p{font-size:12px}.estimate-breakdown{display:grid;gap:7px;padding:17px 0;min-height:70px}.estimate-line{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid rgba(213,179,124,.2);padding:9px 0;color:#eee;font-size:11px}.estimate-line b{text-align:right;white-space:nowrap;color:var(--gold-light)}.estimate-result{padding:21px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.estimate-result span,.estimate-result small{display:block;color:var(--gold-light);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.estimate-result strong{display:block;font-size:clamp(1.65rem,2.4vw,2.5rem);font-weight:600;font-family:'Cormorant Garamond',serif;color:#ffe5b8;line-height:1.35;margin:7px 0}.estimate-disclaimer{margin:19px 0;color:#bcc2ca!important}.estimate-panel .text-link{font-size:10px}
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:23px}.contact-list a{display:block;padding:25px 12px;border-bottom:1px solid var(--line)}.contact-list a:first-child{border-top:1px solid var(--line)}.contact-list h2{font-size:clamp(1.6rem,3vw,3.3rem);overflow-wrap:anywhere;margin-bottom:11px}.contact-list a>span:last-child{font-size:11px;letter-spacing:.15em;color:var(--gold);text-transform:uppercase}.contact-aside{padding:45px;border:1px solid var(--line);align-self:start}.contact-aside h2{font-size:clamp(2.5rem,3.4vw,4.5rem)}.legal{max-width:960px}.legal h2{font-size:2.6rem;margin:35px 0 10px}.legal h2:first-child{margin-top:0}
/* footer */
.footer{border-top:1px solid var(--line);padding:38px clamp(23px,4vw,66px) 26px;background:#050a11}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:35px}.footer-grid a{display:block;font-size:12px;line-height:2.2;overflow-wrap:anywhere}.footer-grid p{font-size:12px;max-width:360px}.footnote{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:24px;color:#98a5b2;font-size:10px}.sticky-contact{display:none}
@media(min-width:1650px){.shell{margin-left:max(var(--rail),calc((100% - var(--max)) / 2 - var(--rail)))}.shell>header,.shell>main,.shell>footer{width:var(--max)}}
@media(max-width:1130px){:root{--rail:64px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:40px 30px}.hero h1{font-size:clamp(3.2rem,5.5vw,5rem)}.project-image{height:185px}.service-detail>img{height:230px}.quote-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.68fr)}.quote-form,.estimate-panel{padding:22px}.upload-grid{grid-template-columns:1fr}.menu-panel{left:var(--rail)}}
@media(max-width:820px){.hero{grid-template-columns:1fr}.hero-photo{min-height:330px;height:330px;border-left:none;border-top:1px solid var(--line)}.hero-photo img{object-position:center 36%}.contact-ctas{grid-template-columns:1fr;gap:8px;padding:15px}.contact-tile{padding:12px 15px}.contact-tile small{font-size:10px}.about-grid,.quote-banner,.story-grid,.contact-layout,.gallery-feature,.quote-layout{grid-template-columns:1fr}.about-photo{height:260px}.project-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid{grid-template-columns:1fr}.estimate-panel{position:static}.service-detail-grid{grid-template-columns:1fr}.service-detail-body p{min-height:0}.simple-cta{display:block}.simple-cta .button{margin-top:22px}.quote-banner-action{align-items:flex-start}.compare{height:320px}}
@media(max-width:590px){:root{--rail:53px}.menu-trigger{width:45px;height:58px;margin-top:9px}.hamburger i{width:23px}.menu-trigger small{font-size:7px}.rail-text{font-size:8px}.menu-panel{padding:20px;left:var(--rail)}.menu-brand{font-size:2.7rem}.menu-links>a{padding:13px 0;font-size:.92rem}.brand-header{min-height:154px;padding:16px 10px}.brand-link{width:min(360px,91%)}.brand-link img{height:113px}.brand-caption{font-size:7px;letter-spacing:.18em}.innerpage .brand-header{min-height:128px}.innerpage .brand-link img{height:85px}.innerpage .brand-caption{font-size:6.5px}.hero-copy{padding:36px 21px}.hero h1{font-size:clamp(2.8rem,10vw,4.3rem)}.hero p{font-size:12px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%;max-width:340px}.hero-location{font-size:9px}.hero-photo{height:260px;min-height:260px}.photo-caption{font-size:8px;right:10px;bottom:10px}.contact-ctas{padding:11px}.contact-tile{gap:12px}.contact-tile svg{width:20px;height:20px}.contact-tile strong{font-size:10px}.contact-tile small{font-size:9px}.block h2{font-size:clamp(2.25rem,8vw,3.6rem)}main>section.block{padding:44px 18px}.section-top{display:block}.section-top>a{margin-top:15px}.project-grid,.gallery-grid{grid-template-columns:1fr}.project-image{height:215px}.project-caption{padding:13px 16px}.project-caption h3{font-size:1.5rem}.compare{height:230px}.page-intro{padding:42px 19px}.page-intro h1{font-size:clamp(2.65rem,10vw,4rem)}.page-intro p{font-size:12px}.story-visual,.story-visual img{min-height:260px}.story-visual{height:270px}.service-detail>img{height:205px}.service-detail-body{padding:21px}.gallery-feature .compare{height:220px}.fields.two,.service-config{grid-template-columns:1fr}.quote-form,.estimate-panel{padding:18px}.service-config label:last-child{grid-column:auto}.footer{padding:33px 19px 80px}.footer-grid{grid-template-columns:1fr;gap:19px}.sticky-contact{position:fixed;bottom:0;left:var(--rail);right:0;background:#081421;border-top:1px solid var(--gold);z-index:50;display:flex}.sticky-contact a{flex:1;text-align:center;padding:12px 4px;font-size:10px;color:var(--gold-light);border-right:1px solid rgba(213,179,124,.2)}.sticky-contact a:last-child{border-right:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}
