.motif-contact .contact-page{padding-top:30px}
.contact-cover{min-height:500px;position:relative;display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;padding:35px 0 48px;overflow:hidden}
.contact-cover-copy{z-index:2;padding:20px 0 35px;max-width:530px}
.contact-cover-copy h1{font:900 clamp(82px,13vw,164px)/.75 var(--display);letter-spacing:-.045em;margin:24px 0 22px}
.contact-cover-copy h1 i{font-style:normal;color:var(--coral)}
.contact-cover-copy p{max-width:400px;color:#615e67;font-size:16px;line-height:1.6;margin:0 0 22px}
.contact-cover-copy .button{background:var(--purple);color:white}
.contact-cover-visual{position:relative;margin:0;align-self:stretch;min-height:410px;overflow:hidden;background:var(--yellow)}
.contact-cover-visual:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#f5efe600,#21151b22 72%);pointer-events:none}
.contact-cover-visual img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.contact-cover-visual:hover img{transform:scale(1.04)}
.contact-cover-visual figcaption{position:absolute;z-index:2;left:15px;bottom:15px;background:var(--yellow);padding:10px 13px;font:9px var(--mono);letter-spacing:.11em}
.cover-spark{position:absolute;z-index:2;right:8%;top:8%;font-size:62px;color:var(--yellow);text-shadow:2px 2px 0 var(--purple);animation:spin 22s linear infinite}
.cover-index{position:absolute;left:0;bottom:13px;font:8px var(--mono);letter-spacing:.14em;color:#75717a}
.contact-details{display:grid;grid-template-columns:repeat(3,1fr);background:var(--yellow);margin:0 -5.55%;padding:28px 5.55%;gap:20px}
.contact-details article{display:grid;grid-template-columns:39px 1fr;gap:13px;border-right:1px solid #19171e35;padding:4px 18px 4px 0}
.contact-details article:last-child{border:0}
.detail-number{font:700 29px var(--display);color:var(--purple)}
.contact-details b{display:block;font:9px var(--mono);letter-spacing:.1em;margin:3px 0 10px}
.contact-details a,.contact-details strong{font:600 15px/1.45 var(--body)}
.contact-details a span{color:var(--coral);margin-left:8px}
.contact-details p{font-size:11px;color:#5e5861;line-height:1.45;margin:7px 0 0}
.contact-form-section{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(35px,7vw,95px);align-items:center;padding:clamp(65px,9vw,112px) 0}
.form-story{position:relative;max-width:510px}
.form-story h2{font:800 clamp(52px,7vw,88px)/.84 var(--display);letter-spacing:-.03em;margin:19px 0 18px}
.form-story h2 i{font-style:normal;color:var(--coral)}
.form-story>p{font-size:13px;line-height:1.75;color:#69656e;max-width:425px;margin-bottom:22px}
.form-story-photo{height:220px;position:relative;overflow:hidden;background:var(--pink);margin-right:34px}
.form-story-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.form-story-photo:hover img{transform:scale(1.04)}
.form-story-photo span{position:absolute;left:12px;bottom:12px;padding:8px 10px;background:var(--purple);color:white;font:8px var(--mono);letter-spacing:.1em}
.form-orbit{position:absolute;right:0;bottom:8px;width:92px;height:92px;border-radius:50%;background:var(--coral);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);animation:float 5s ease-in-out infinite}
.form-orbit i{font-style:normal;font-size:24px}.form-orbit span{font:7px/1.4 var(--mono);letter-spacing:.08em;text-align:center}
.contact-form{position:relative;background:var(--pink);padding:clamp(24px,4vw,48px);gap:14px;box-shadow:14px 14px 0 var(--yellow)}
.contact-form:before{content:"";position:absolute;z-index:-1;left:-16px;top:-16px;width:76px;height:76px;background:var(--purple);clip-path:polygon(0 0,100% 0,0 100%)}
.form-heading{display:flex;align-items:center;justify-content:space-between}
.form-step{font:10px var(--mono);color:var(--purple)}.form-step i{font-style:normal;color:#8b8690}
.contact-form h2{font:900 clamp(46px,6vw,70px)/.78 var(--display);letter-spacing:-.03em;margin:4px 0 0}
.contact-form h2 i{font-style:normal;color:var(--coral)}
.form-lead{font-size:11px;line-height:1.55;color:#67616b;margin:0 0 5px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.contact-form label{font:9px var(--mono);letter-spacing:.09em;color:#46414b}
.required{color:var(--coral)}
.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #19171e45;background:#fffdf8;color:var(--ink);padding:13px 12px;font:13px var(--body);letter-spacing:0;border-radius:0;transition:border-color .2s,box-shadow .2s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:0;border-color:var(--purple);box-shadow:0 0 0 3px #4a18bd22}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8d8790}
.form-message{grid-column:1/-1}
.contact-form textarea{resize:vertical;min-height:100px}
.contact-form .button{justify-content:space-between;align-self:flex-start;min-width:min(100%,285px);margin-top:2px}
.form-note{font:9px/1.5 var(--mono);color:#625c66;margin:0;max-width:440px}
.form-note span{color:var(--purple);font-size:14px;margin-right:5px}
.form-result{font-size:12px;font-weight:700;color:var(--green)}
.contact-steps{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:20px;padding:32px 0 54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps-heading h2{font:800 46px/.83 var(--display);margin:15px 0}.steps-heading h2 i{font-style:normal;color:var(--coral)}
.contact-step{border-left:1px solid var(--line);padding-left:17px}
.contact-step>b{display:grid;place-items:center;border-radius:50%;width:38px;height:38px;background:var(--purple);color:white;font:700 14px var(--mono);margin-bottom:13px}
.contact-step:nth-child(3)>b{background:var(--coral)}.contact-step:nth-child(4)>b{background:var(--green)}
.contact-step h3{font:800 22px var(--display);margin:0 0 6px}
.contact-step p{font-size:11px;line-height:1.55;color:#706c73;margin:0;max-width:210px}
.contact-final{margin-top:35px;background:var(--purple);color:white;padding:25px 28px}
.contact-final strong i{color:var(--yellow)}.contact-final a{border-color:var(--yellow)}
@media(max-width:850px){.contact-cover{grid-template-columns:.92fr 1.08fr}.contact-cover-copy h1{font-size:clamp(75px,12vw,125px)}.contact-details{margin:0 -4.45%;padding-left:4.45%;padding-right:4.45%;gap:12px}.contact-details article{padding-right:9px;gap:8px}.contact-details a,.contact-details strong{font-size:13px}.contact-form-section{gap:35px}.contact-steps{grid-template-columns:1fr 1fr}.steps-heading{grid-column:1/-1}}
@media(max-width:560px){.motif-contact .contact-page{padding-top:22px}.contact-cover{grid-template-columns:1fr;padding:12px 0 35px;min-height:0}.contact-cover-copy{padding:10px 0 20px}.contact-cover-copy h1{font-size:clamp(78px,20vw,112px);margin:20px 0}.contact-cover-copy p{font-size:14px}.contact-cover-visual{min-height:280px}.cover-index{bottom:10px}.contact-details{grid-template-columns:1fr;margin:0 -5.55%;padding:16px 5.55%;gap:0}.contact-details article{border-right:0;border-bottom:1px solid #19171e35;padding:15px 0;grid-template-columns:42px 1fr}.contact-details article:last-child{border:0}.contact-form-section{grid-template-columns:1fr;padding:60px 0;gap:35px}.form-story h2{font-size:58px}.form-story-photo{height:190px;margin-right:22px}.form-orbit{width:78px;height:78px}.contact-form{padding:24px 18px;box-shadow:8px 8px 0 var(--yellow)}.contact-form h2{font-size:53px}.form-grid{grid-template-columns:1fr;gap:12px}.form-message{grid-column:auto}.contact-form .button{width:100%}.contact-steps{grid-template-columns:1fr;gap:18px}.steps-heading{grid-column:auto}.contact-step{display:grid;grid-template-columns:42px 1fr;column-gap:12px;border-left:0;padding:0;align-items:start}.contact-step>b{grid-row:span 2;margin:0}.contact-step h3{align-self:end}.contact-step p{max-width:none}.contact-final{align-items:flex-start;flex-direction:column;padding:22px}}
@media(prefers-reduced-motion:reduce){.contact-cover-visual img{transition:none}.cover-spark,.form-orbit{animation:none}}
/* Orientation architecture intérieure : plans, cotes et circulation remplacent les ornements décoratifs. */
.contact-cover-copy .micro{color:var(--purple)}
.contact-cover-copy h1{max-width:700px;font-size:clamp(70px,10.5vw,138px);line-height:.77}
.contact-cover-visual{background:#e9e4db}
.contact-cover-visual:after{content:"ÉTUDE · INTÉRIEUR";position:absolute;z-index:2;right:15px;top:15px;padding:8px 10px;background:var(--purple);color:white;font:8px var(--mono);letter-spacing:.12em}
.cover-spark{display:none}
.cover-dimensions{position:absolute;z-index:2;inset:0;width:100%;height:100%;padding:24px;overflow:visible;pointer-events:none}
.cover-dimensions path{fill:none;stroke:var(--yellow);stroke-width:1.5;vector-effect:non-scaling-stroke}
.cover-dimensions .dimension-path{stroke:var(--coral);stroke-width:2;stroke-dasharray:5 5;animation:plan-dash 16s linear infinite}
.cover-dimensions circle{fill:var(--yellow);stroke:var(--purple);stroke-width:2}
.cover-dimensions text{fill:white;font:9px var(--mono);letter-spacing:1px;paint-order:stroke;stroke:#19171e88;stroke-width:3px;stroke-linejoin:round}
.contact-details{background:var(--yellow)}
.contact-details .detail-number{color:var(--coral)}
.form-story h2{font-size:clamp(48px,6vw,76px);line-height:.86}
.form-story h2 i{color:var(--purple)}
.form-story-photo{display:none}
.form-orbit{display:none}
.plan-board{position:relative;margin-top:28px;padding:12px 14px 10px;background:#fffdf7;border:1px solid #19171e2c;box-shadow:8px 8px 0 var(--purple);overflow:hidden}
.plan-board:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#4a18bd0b 1px,transparent 1px),linear-gradient(90deg,#4a18bd0b 1px,transparent 1px);background-size:18px 18px;pointer-events:none}
.plan-board-head,.plan-board-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;font:8px var(--mono);letter-spacing:.09em}
.plan-board-head{border-bottom:1px solid #19171e28;padding-bottom:8px}
.plan-board-head span{color:var(--purple)}
.plan-board-head b{font-weight:400;color:#75717a}
.floor-plan{position:relative;z-index:1;display:block;width:100%;height:auto;margin:8px 0 5px}
.plan-walls path{fill:none;stroke:var(--ink);stroke-width:7;stroke-linecap:square;stroke-linejoin:miter}
.plan-walls .plan-openings{stroke:var(--coral);stroke-width:3}
.plan-furniture{fill:#f5d4d6;stroke:#19171e70;stroke-width:1.2}
.plan-route{fill:none;stroke:var(--purple);stroke-width:2.4;stroke-dasharray:5 5;animation:plan-dash 17s linear infinite}
.plan-dims{fill:none;stroke:var(--green);stroke-width:1}
.plan-dims text,.plan-labels text{fill:#56505a;font:8px var(--mono);letter-spacing:.06em}
.plan-node{fill:var(--coral);stroke:white;stroke-width:2;animation:plan-pulse 2.5s ease-in-out infinite}
.plan-board-foot{border-top:1px solid #19171e28;padding-top:8px;color:#77717b}
.form-story>p{color:#57535d}
.contact-form{background:var(--pink)}
.contact-form .micro{color:var(--purple)}
.contact-form h2 i{color:var(--purple)}
.contact-steps{position:relative}
.contact-step>b{border-radius:0;transform:rotate(45deg);width:34px;height:34px;margin:2px 0 17px}
.contact-step>b::first-letter{transform:rotate(-45deg)}
.contact-step h3{font-size:20px;line-height:1}
.contact-final{background:var(--purple);border-top:4px solid var(--yellow)}
@keyframes plan-dash{to{stroke-dashoffset:-120}}
@keyframes plan-pulse{0%,100%{r:5}50%{r:7}}
@media(max-width:560px){
  .contact-cover-copy h1{font-size:clamp(62px,16vw,94px)}
  .cover-dimensions{padding:10px}
  .plan-board{margin-right:8px}
  .form-story h2{font-size:56px}
  .contact-step>b{margin:2px 4px 10px 0}
}
@media(prefers-reduced-motion:reduce){.cover-dimensions .dimension-path,.plan-route,.plan-node{animation:none}}
