.contact-page .contact-hero>*,.contact-page .contact-request>*,.contact-page .contact-card-grid>*,.contact-page .photo-guide>*{min-width:0}.contact-page .contact-request aside .button,.contact-page .photo-guide .button,.contact-page .artisan-contact .button,.contact-page .contact-hero .button,.contact-page .contact-final .button{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}.contact-page .contact-hero{border-bottom:1px solid var(--line);background:radial-gradient(circle at 18% 18%,#fffdf8 0,#f7f4ed 45%,#ece6da 100%);grid-template-columns:minmax(0,1fr) minmax(300px,400px);align-items:center;gap:clamp(34px,5vw,68px);padding-block:clamp(72px,9vw,126px);display:grid}.contact-page .contact-hero h1,.contact-page .contact-options h2,.contact-page .contact-request h2,.contact-page .photo-guide h2,.contact-page .artisan-contact h2,.contact-page .contact-final h2{font-family:var(--serif);margin:0 0 22px;font-size:clamp(38px,4vw,64px);font-weight:400;line-height:1.05}.contact-page .contact-hero .lead{max-width:760px}.contact-page .contact-note{color:var(--muted);margin:22px 0 0;font-size:13px;line-height:1.6}.contact-page .contact-hero aside,.contact-page .contact-request aside{border:1px solid var(--line);background:var(--white);padding:32px;box-shadow:0 18px 45px #183b3412}.contact-page .contact-hero aside{background:linear-gradient(180deg,var(--white),#f7f4ed);border-color:#fffa}.contact-page .contact-hero aside strong{font-family:var(--serif);margin-bottom:18px;font-size:31px;font-weight:400;line-height:1.08;display:block}.contact-page .contact-hero aside p,.contact-page .contact-request p,.contact-page .photo-guide p,.contact-page .artisan-contact p{color:var(--muted);font-size:14px;line-height:1.7}.contact-page .contact-hero .button-light{border:1px solid var(--line)}.contact-page .contact-options{border-bottom:1px solid var(--line);background:var(--white)}.contact-page .contact-options .centered-heading .eyebrow{margin-bottom:16px}.contact-page .contact-card-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;display:grid}.contact-page .contact-card-grid article{border:1px solid var(--line);background:var(--paper);flex-direction:column;min-height:280px;padding:32px;display:flex}.contact-page .contact-card-grid b{font-family:var(--serif);color:var(--wood);margin-bottom:18px;font-size:37px;font-weight:400}.contact-page .contact-card-grid h3{font-family:var(--serif);margin:0 0 14px;font-size:29px;font-weight:400;line-height:1.05}.contact-page .contact-card-grid p{color:var(--muted);flex:1;font-size:14px;line-height:1.65}.contact-page .contact-card-grid .text-link{margin-top:10px}.contact-page .contact-request{border-bottom:1px solid var(--line);background:linear-gradient(90deg,var(--paper),var(--white));grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:55px;display:grid}.contact-page .contact-request ul{grid-template-columns:1fr 1fr;gap:12px 22px;margin:28px 0 0;padding-left:18px;display:grid}.contact-page .contact-request li{color:var(--muted);font-size:14px;line-height:1.5}.contact-page .contact-request aside{flex-direction:column;align-self:start;gap:14px;display:flex;position:sticky;top:24px}.contact-page .contact-request aside .button{text-align:center;justify-content:center}.contact-page .contact-request aside p{margin:8px 0 0;font-size:12px}.contact-page .photo-guide{border-bottom:1px solid var(--line);background:var(--paper)}.contact-page .photo-guide .split-heading{max-width:850px}.contact-page .photo-guide li{counter-increment:photos;border:1px solid var(--line);background:var(--white);color:var(--muted);padding:22px;font-size:13px;line-height:1.55}.contact-page .photo-guide li:before{content:counter(photos,decimal-leading-zero);font-family:var(--serif);color:var(--wood);margin-bottom:18px;font-size:32px;display:block}.contact-page .photo-guide .warning{border-left:3px solid var(--wood);background:var(--white);color:var(--pine);padding:18px 20px}.contact-page .artisan-contact{border:1px solid var(--line);background:linear-gradient(135deg,var(--white),var(--paper));max-width:1040px;margin:70px auto;padding:clamp(34px,5vw,58px);box-shadow:0 18px 45px #183b3410}.contact-page .artisan-contact p{max-width:760px}.contact-page .artisan-contact .button{margin-top:12px}.contact-page .artisan-contact .button-light{border:1px solid var(--line)}.contact-page .contact-final{margin-top:0}.contact-page .contact-final .eyebrow{color:#e8eee9;margin-bottom:18px}.contact-page .contact-final .hero-actions{flex-wrap:wrap;justify-content:flex-end}.contact-page .contact-final .text-link{color:#fff;text-underline-offset:4px;text-decoration:underline}@media (width<=900px){.contact-page .contact-hero,.contact-page .contact-request,.contact-page .contact-card-grid{grid-template-columns:1fr}.contact-page .photo-guide ol{grid-template-columns:1fr 1fr}.contact-page .contact-request ul{grid-template-columns:1fr}.contact-page .contact-request aside{position:static}.contact-page .contact-final .hero-actions{justify-content:flex-start}}@media (width<=600px){.contact-page .contact-hero h1{font-size:43px}.contact-page .photo-guide ol{grid-template-columns:1fr}.contact-page .contact-request aside .button,.contact-page .photo-guide .button,.contact-page .artisan-contact .button,.contact-page .contact-hero .button,.contact-page .contact-final .button{text-align:center;justify-content:center;width:100%}.contact-page .contact-hero aside,.contact-page .contact-request aside,.contact-page .contact-card-grid article{padding:24px}.contact-page .contact-hero .hero-actions,.contact-page .contact-final .hero-actions{flex-direction:column;align-items:stretch}.contact-page .artisan-contact{margin:0 22px 55px}.contact-page .contact-final{padding-inline:22px}}@media (width<=340px){.contact-page .contact-hero h1{font-size:38px}.contact-page .contact-hero,.contact-page .contact-options,.contact-page .contact-request,.contact-page .photo-guide,.contact-page .artisan-contact{padding-left:18px;padding-right:18px}.contact-page .artisan-contact{margin-left:18px;margin-right:18px}.contact-page .contact-final{padding-left:18px;padding-right:18px}}.contact-page .contact-request{align-items:start}.contact-page .contact-request .contact-form{border:1px solid var(--line);background:var(--white);padding:clamp(22px,3vw,34px);box-shadow:0 18px 45px #183b3412}.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.contact-field{flex-direction:column;gap:8px;min-width:0;display:flex}.contact-field-wide{grid-column:1/-1}.contact-field label{color:var(--pine);font-size:14px;font-weight:700}.contact-field label span{color:var(--muted);font-size:12px;font-weight:400}.contact-field input,.contact-field select,.contact-field textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;max-width:100%;color:var(--pine);font:inherit;background:#fffdf8;border-radius:14px;padding:12px 14px}.contact-field input[type=file]{padding:10px;font-size:13px}.contact-field textarea{resize:vertical}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus,.contact-form button:focus,.contact-form-status:focus{outline-offset:3px;outline:3px solid #b8864b66}.field-help,.contact-privacy{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.cf-turnstile{max-width:100%;margin:20px 0;overflow:hidden}.contact-form .button{cursor:pointer;border:0;min-height:44px}.contact-form .button:disabled{opacity:.68;cursor:wait}.contact-form[aria-busy=true]{opacity:.92}.contact-form-status{min-height:24px;margin:18px 0 0;font-weight:700}.contact-form-status[data-state=success]{color:#1f6b47}.contact-form-status[data-state=error]{color:#8a3b24}.contact-form-status[data-state=pending]{color:var(--pine)}.contact-form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (width<=700px){.contact-form-grid{grid-template-columns:1fr}.contact-page .contact-request .contact-form{padding:22px}.contact-field input[type=file]{font-size:16px}}.contact-page{background:var(--paper)}.contact-page *{box-sizing:border-box}.contact-topline{justify-content:space-between;align-items:center;gap:20px;max-width:1540px;margin:0 auto;padding:14px clamp(22px,4vw,64px) 0;display:flex}.contact-topline .contact-zone-link{color:var(--muted);white-space:nowrap;margin:0;font-size:12px}.contact-funnel{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#f8f4ec 0%,#f4efe5 48%,#fdfbf6 100%);grid-template-columns:minmax(0,.86fr) minmax(560px,1.14fr);align-items:start;gap:clamp(30px,4vw,58px);max-width:1540px;margin:0 auto;padding:clamp(30px,4vw,54px) clamp(22px,4vw,64px) clamp(38px,4vw,58px);display:grid;position:relative;overflow:hidden}.contact-funnel:before{content:"";pointer-events:none;background:#b8864b12;border-radius:50%;width:300px;height:300px;position:absolute;inset:auto auto -120px -110px}.contact-funnel-copy{z-index:1;min-width:0;padding-top:6px;position:relative}.contact-funnel-copy h1,.contact-form-heading h2,.photo-guide h2,.contact-direct h2{font-family:var(--serif);color:var(--pine);margin:0;font-weight:400;line-height:1.02}.contact-funnel-copy h1{max-width:720px;margin-bottom:20px;font-size:clamp(44px,4.4vw,72px)}.contact-funnel-copy .lead{max-width:650px;color:var(--muted);margin:0 0 26px;font-size:clamp(16px,1.45vw,19px);line-height:1.62}.contact-reassurance{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.contact-reassurance li{border-top:1px solid #b8864b66;flex-direction:column;gap:4px;min-width:0;padding:13px 8px 0 0;display:flex}.contact-reassurance strong{color:var(--pine);font-size:13px}.contact-reassurance span{color:var(--muted);font-size:11px;line-height:1.45}.contact-hero-visual{background:linear-gradient(#073b310a,#073b3157),url(/images/home/hero-terrasse-jardin.webp) 50% 58%/cover no-repeat;border-radius:2px;min-height:210px;position:relative;overflow:hidden;box-shadow:0 18px 40px #183b3412}.contact-hero-visual span{z-index:1;color:#fff;text-shadow:0 1px 4px #0008;max-width:360px;font-size:12px;line-height:1.5;position:absolute;bottom:16px;left:18px;right:18px}.contact-note{color:var(--muted);max-width:650px;margin:14px 0 0;font-size:12px;line-height:1.55}.contact-form-panel{background:var(--white);z-index:2;border:1px solid #d9d3c8;min-width:0;padding:clamp(24px,2.7vw,36px);position:relative;box-shadow:0 22px 54px #183b3418}.contact-form-panel:before{content:"";background:linear-gradient(90deg,var(--wood),#d6b083 55%,transparent);height:4px;display:block;position:absolute;inset:0 0 auto}.contact-form-heading{gap:7px;margin-bottom:20px;display:grid}.contact-form-heading .eyebrow{margin:0}.contact-form-heading h2{max-width:720px;font-size:clamp(30px,2.7vw,44px)}.contact-form-heading p:last-child{color:var(--muted);max-width:680px;margin:0;font-size:13px;line-height:1.55}.contact-form-panel .contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.contact-form-panel .contact-field{flex-direction:column;gap:6px;min-width:0;display:flex}.contact-form-panel .contact-field-wide{grid-column:1/-1}.contact-form-panel .contact-field label{color:var(--pine);font-size:13px;font-weight:700}.contact-form-panel .contact-field label span{color:var(--muted);font-size:11px;font-weight:400}.contact-form-panel .contact-field input,.contact-form-panel .contact-field select,.contact-form-panel .contact-field textarea{width:100%;min-width:0;max-width:100%;color:var(--pine);font:inherit;background:#fffdf8;border:1px solid #d8d3ca;border-radius:12px;padding:11px 13px}.contact-form-panel .contact-field input,.contact-form-panel .contact-field select{min-height:46px}.contact-form-panel .contact-field textarea{resize:vertical;min-height:132px;line-height:1.5}.contact-form-panel .contact-field input[type=file]{background:#faf7f0;min-height:auto;padding:9px 10px;font-size:12px}.contact-form-panel .field-help,.contact-form-panel .contact-privacy{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.contact-form-footer{grid-template-columns:minmax(0,1fr) minmax(180px,230px);align-items:center;gap:14px;margin-top:16px;display:grid}.contact-form-panel .cf-turnstile{max-width:100%;margin:0;overflow:hidden}.contact-submit{cursor:pointer;text-align:center;border:0;justify-content:center;width:100%;min-height:48px}.contact-form-panel .contact-privacy{margin-top:11px}.contact-form-panel .contact-form-status{min-height:20px;margin:10px 0 0;font-size:12px;font-weight:700}.contact-page .photo-guide{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f7f3ea 0%,#fffdf8 100%);grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:center;gap:clamp(34px,5vw,72px);max-width:1540px;margin:0 auto;padding:clamp(52px,6vw,84px) clamp(22px,4vw,64px);display:grid}.photo-guide-copy{min-width:0}.contact-page .photo-guide h2{max-width:780px;margin:0 0 18px;font-size:clamp(38px,4vw,60px)}.photo-guide-copy>p:not(.eyebrow):not(.warning){color:var(--muted);max-width:760px;font-size:14px;line-height:1.7}.contact-page .photo-guide ol{counter-reset:photo;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:26px 0 22px;padding:0;list-style:none;display:grid}.contact-page .photo-guide li{counter-increment:photo;border-top:1px solid var(--line);background:0 0;border-left:0;flex-direction:column;gap:6px;padding:14px 8px 0 0;display:flex}.contact-page .photo-guide li:before{content:counter(photo,decimal-leading-zero);font-family:var(--serif);color:var(--wood);margin:0;font-size:25px}.contact-page .photo-guide li strong{color:var(--pine);font-size:13px}.contact-page .photo-guide li span{color:var(--muted);font-size:11px;line-height:1.45}.contact-page .photo-guide .warning{border-left:3px solid var(--wood);background:var(--white);color:var(--pine);margin:0 0 22px;padding:14px 16px;font-size:12px;line-height:1.55}.contact-photo-mosaic{grid-template-rows:310px;grid-template-columns:1.22fr .78fr;gap:12px;min-width:0;display:grid}.contact-photo{background-position:50%;background-repeat:no-repeat;background-size:cover;box-shadow:0 18px 40px #183b3412}.contact-photo-main{background-image:linear-gradient(#0000 55%,#073b3122),url(/images/home/construction-terrasse.webp)}.contact-photo-detail{background-image:linear-gradient(#0000 55%,#073b3122),url(/images/home/detail-lames-fixations.webp);background-position:58%}.contact-direct{border:1px solid var(--line);background:linear-gradient(135deg,var(--white),#f6f1e7);grid-template-columns:1.05fr 1fr;align-items:end;gap:24px 54px;max-width:1320px;margin:58px auto;padding:clamp(34px,4vw,52px);display:grid;box-shadow:0 18px 45px #183b3410}.contact-direct h2{margin-top:8px;font-size:clamp(34px,3.5vw,52px)}.contact-direct>p{color:var(--muted);margin:0;font-size:14px;line-height:1.7}.contact-direct .hero-actions{flex-wrap:wrap;grid-column:1/-1;gap:12px;margin-top:4px;display:flex}.contact-direct .button-light{border:1px solid var(--line)}@media (width<=1120px){.contact-funnel{grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr);gap:28px}.contact-reassurance{grid-template-columns:1fr}.contact-reassurance li{grid-template-columns:minmax(120px,.55fr) 1fr;gap:10px;display:grid}.contact-page .photo-guide{grid-template-columns:1fr .8fr}.contact-page .photo-guide ol{grid-template-columns:1fr}}@media (width<=900px){.contact-funnel{grid-template-columns:1fr;padding-top:28px}.contact-reassurance{grid-template-columns:repeat(3,1fr)}.contact-reassurance li{display:flex}.contact-proof-strip{grid-template-columns:1fr}.contact-proof-strip>div{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.contact-proof-strip>div:last-child{border-bottom:0}.contact-page .photo-guide{grid-template-columns:1fr}.contact-photo-mosaic{grid-template-rows:240px}.contact-direct{grid-template-columns:1fr;margin:40px 22px}.contact-direct .hero-actions{grid-column:auto}}@media (width<=700px){.contact-topline{flex-direction:column;align-items:flex-start;gap:4px;padding-inline:18px}.contact-topline .contact-zone-link{white-space:normal}.contact-funnel{gap:22px;padding:24px 18px 34px}.contact-funnel-copy h1{margin-bottom:14px;font-size:44px}.contact-funnel-copy .lead{margin-bottom:18px;font-size:15px;line-height:1.55}.contact-reassurance{grid-template-columns:1fr;gap:8px;margin-bottom:0}.contact-reassurance li{grid-template-columns:minmax(130px,.55fr) 1fr;padding-top:9px;display:grid}.contact-hero-visual,.contact-note{display:none}.contact-form-panel{padding:22px 18px}.contact-form-heading h2{font-size:32px}.contact-form-panel .contact-form-grid{grid-template-columns:1fr;gap:13px}.contact-form-panel .contact-field-wide{grid-column:auto}.contact-form-panel .contact-field input,.contact-form-panel .contact-field select{min-height:48px;font-size:16px}.contact-form-panel .contact-field textarea{min-height:122px;font-size:16px}.contact-form-panel .contact-field input[type=file]{font-size:16px}.contact-form-footer{grid-template-columns:1fr}.contact-submit{min-height:50px}.contact-page .photo-guide{padding:46px 18px}.contact-page .photo-guide h2{font-size:39px}.contact-page .photo-guide ol{grid-template-columns:1fr}.contact-photo-mosaic{grid-template-rows:200px;grid-template-columns:1.35fr .65fr}.contact-direct{margin:32px 18px;padding:28px 22px}.contact-direct .hero-actions{flex-direction:column;align-items:stretch}.contact-direct .button{text-align:center;justify-content:center;width:100%}}@media (width<=380px){.contact-funnel-copy h1{font-size:39px}.contact-reassurance li{grid-template-columns:1fr;gap:3px}.contact-form-panel{padding-inline:15px}.contact-photo-mosaic{grid-template-rows:180px;grid-template-columns:1fr}.contact-photo-detail{display:none}.contact-direct{margin-inline:14px}.contact-page .photo-guide,.contact-funnel,.contact-topline{padding-left:14px;padding-right:14px}}.contact-form-panel .contact-field input[type=file]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.turnstile-config-error{color:#8a3b24;background:#8a3b2408;border:1px solid #8a3b2440;margin:0;padding:12px 14px;font-size:12px;line-height:1.5}@media (width<=700px){.contact-form-panel .contact-field input[type=file]{max-width:100%;padding:8px;font-size:16px;overflow:hidden}.contact-form-panel .contact-field input[type=file]::file-selector-button{text-overflow:ellipsis;white-space:nowrap;max-width:62%;overflow:hidden}}
