/* Original visual compositions in the established green, ivory and gold palette. */
.home-atelier{--atelier-green:#173d32;--atelier-ivory:#f7f3eb;--atelier-gold:#a47c2a}
.atelier-visuals{padding:72px 0 35px}.atelier-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:center}
.atelier-tile{position:relative;display:block;min-width:0;aspect-ratio:.86;overflow:hidden;text-decoration:none;border-radius:3px;transition:transform .3s ease;isolation:isolate}
.atelier-tile:hover{transform:translateY(-5px)}.atelier-tile:focus-visible{outline:2px solid #a47c2a;outline-offset:5px}
.atelier-tile--phone{background:radial-gradient(ellipse at 75% 12%,#2b5848,#102e25 80%);color:#f8f4e9}
.atelier-tile--method{background:radial-gradient(ellipse at 20% 10%,#e2e4d7,#bfc6b0);color:#173d32}
.atelier-tile--papers{background:linear-gradient(135deg,#f6f1e7,#dfdacb);color:#173d32}
.atelier-tile__label{position:absolute;z-index:5;inset:auto 24px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;font:400 25px/1.2 Georgia,serif;letter-spacing:-.025em}
.atelier-tile__label>span{font:400 18px Arial;transition:transform .2s ease}.atelier-tile:hover .atelier-tile__label>span{transform:translateX(3px)}
.atelier-phone-scene{position:absolute;inset:0 0 60px;perspective:900px;display:grid;place-items:center}
.atelier-phone{position:relative;width:42%;aspect-ratio:.49;border-radius:26px;padding:5px;background:linear-gradient(110deg,#afaea4,#464c44 5%,#b9bbb2 8%,#343b34 15%,#a4a99b 93%,#202c24);box-shadow:18px 25px 35px #061b1666,inset 1px 1px 3px #fff8;transform:rotate(-9deg) rotateY(-15deg) rotateX(7deg);z-index:2}
.atelier-phone:before{content:'';position:absolute;left:-2px;top:24%;width:2px;height:35px;background:#697164;border-radius:3px}
.atelier-phone__glass{height:100%;border:4px solid #0d1711;border-radius:22px;background:linear-gradient(145deg,#f9f4e6,#d9dfcc);position:relative;display:flex;align-items:center;flex-direction:column;overflow:hidden}
.atelier-phone__glass:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,#fff5 21%,transparent 58%);pointer-events:none}
.atelier-phone__speaker{width:33%;height:9px;margin-top:6px;background:#14231a;border-radius:10px}
.atelier-phone__name{color:#173d32;text-align:center;font:700 clamp(8px,1vw,14px)/1.5 Georgia;letter-spacing:.04em;margin-top:26%}.atelier-phone__name small{font:400 7px Arial;letter-spacing:.23em}
.atelier-phone__logo{width:47%;aspect-ratio:1;background:#fffcf4;border-radius:50%;display:grid;place-items:center;margin-top:18%;box-shadow:0 6px 15px #173d3212}.atelier-phone__logo img{width:75%;height:auto}
.atelier-phone__line{font:400 7px/1.5 Arial;color:#516651;text-align:center;margin:15% 8% 0}
.atelier-phone__keys{display:flex;gap:14px;margin-top:18%}.atelier-phone__keys i{width:12px;height:12px;border:1px solid #173d3260;border-radius:50%;position:relative}.atelier-phone__keys i:after{content:'';position:absolute;left:3px;right:3px;top:5px;border-top:1px solid #173d3270}
.atelier-phone__call{display:grid;place-items:center;width:25px;height:25px;background:#173d32;color:#fff;border-radius:50%;margin-top:13%;font:14px Arial}
.atelier-boats-scene{position:absolute;inset:2% -5% 10%}.atelier-boats-scene>img{width:100%;height:100%;object-fit:contain;transform:rotate(-12deg)}
.atelier-boats-scene__word{position:absolute;left:0;right:0;top:42%;text-align:center;font:400 clamp(24px,3vw,43px)/.95 Georgia;color:#173d32;letter-spacing:-.055em}.atelier-boats-scene__word i{font-weight:400;font-size:.48em;letter-spacing:.05em}
.atelier-paper-scene{position:absolute;inset:0 0 50px;perspective:1000px}.atelier-paper{position:absolute;left:17%;top:15%;width:67%;aspect-ratio:.72;background:#fcfaf3;box-shadow:10px 18px 30px #716f5433,0 0 1px #8b87694d}
.atelier-paper--back{transform:rotate(12deg) translate(8px,-6px);background:#f4efdf}.atelier-paper--front{transform:rotate(-10deg) rotateY(-10deg);padding:9%;overflow:hidden}
.atelier-paper__top{display:flex;align-items:center;gap:7%;color:#173d32;font:700 clamp(6px,.65vw,10px)/1.6 Georgia;letter-spacing:.04em}.atelier-paper__top img{width:22%;height:auto}.atelier-paper__title{display:block;font:400 clamp(17px,2vw,31px)/1.1 Georgia;letter-spacing:-.04em;color:#173d32;margin-top:24%}.atelier-paper__rules{margin-top:18%}.atelier-paper__rules i{display:block;border-top:1px solid #d9d3c1;margin-top:14%;width:100%}.atelier-paper__rules i:last-child{width:65%}.atelier-paper__foot{display:block;margin-top:22%;font:400 6px/1.6 Arial;color:#7c826c}.atelier-paper__ghost{position:absolute;bottom:3%;left:-7%;font:700 43px Georgia;color:#ede9dc;letter-spacing:-.055em;z-index:-1}
.atelier-questions{padding:65px 0 35px}.atelier-questions__intro{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:26px;border-bottom:1px solid #a47c2a40}.atelier-questions__intro>a{font-size:12px;color:#80601f}
.atelier-question-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 90px;padding-top:36px}.atelier-question h2{font:400 clamp(42px,5vw,68px)/1 Georgia;letter-spacing:-.05em;margin:0 0 20px;color:#173d32}.atelier-question>p{max-width:470px;font-size:16px;line-height:1.75;margin:0;text-wrap:pretty}.atelier-question__link{display:inline-block;margin-top:14px;color:#80601f;font-size:12px}
.atelier-meeting{margin:60px 0 20px;padding:70px 0;background:#e8e9de}.atelier-meeting__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:60px;align-items:center}.atelier-meeting__copy h2{font:400 clamp(56px,6.8vw,99px)/.99 Georgia;letter-spacing:-.06em;color:#173d32;margin:25px 0}.atelier-meeting__copy h2 span{display:block}.atelier-meeting__copy>p:not(.section-kicker){max-width:420px;font-size:16px;line-height:1.75;margin:0 0 28px}.atelier-meeting__copy>a{display:block;font:400 25px/1.6 Georgia;color:#173d32}.atelier-meeting__copy>a.atelier-meeting__email{font:400 13px/1.8 Arial;color:#516154;margin-top:8px}
.atelier-calendar{padding:28px;background:#faf8f1;border:1px solid #173d321a;border-radius:4px;min-width:0}.atelier-calendar__kicker{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#786035;margin:0 0 20px}.atelier-calendar__head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}.atelier-calendar__head h3{font:400 23px/1.3 Georgia;color:#173d32;margin:0;text-transform:capitalize}.atelier-calendar__head>button{width:35px;height:35px;background:transparent;border:1px solid #173d3225;border-radius:50%;color:#173d32;cursor:pointer}.atelier-calendar__head>button:disabled{opacity:.3;cursor:default}
.atelier-calendar__week,.atelier-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.atelier-calendar__week{font-size:10px;color:#6d7668;margin-bottom:10px}.atelier-calendar__days button{aspect-ratio:1;font:400 13px Arial;border:0;background:transparent;color:#173d32;border-radius:50%;cursor:pointer;padding:0}.atelier-calendar__days button:hover:not(:disabled){background:#e5e9da}.atelier-calendar__days button:disabled{opacity:.22;cursor:default}.atelier-calendar__days button[aria-pressed=true]{background:#173d32;color:#fff}.atelier-calendar__days button.is-today{box-shadow:inset 0 0 0 1px #a47c2a}
.atelier-calendar fieldset{display:flex;flex-wrap:wrap;gap:12px;border:0;padding:0;margin:22px 0 14px}.atelier-calendar legend{font-size:11px;margin-bottom:11px;color:#63705f}.atelier-calendar label{font-size:11px;display:flex;align-items:center;gap:4px}.atelier-calendar input{accent-color:#173d32;margin:0}.atelier-calendar__selection{font-size:12px;min-height:20px;line-height:1.5;margin:14px 0}.atelier-calendar .button{width:100%;cursor:pointer}.atelier-calendar .button:disabled{opacity:.45;cursor:default}.atelier-calendar__notice{font-size:10px;line-height:1.65;color:#697163;margin:13px 0 0}
.home-atelier .atelier-utilities .widgets-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}.home-atelier .atelier-utilities{padding:50px 0 20px}.home-atelier .atelier-utilities .home-card{min-height:280px}.atelier-signoff{overflow:hidden;padding:40px 0 0;pointer-events:none}.atelier-signoff>span{display:block;text-align:center;font:400 clamp(55px,13.7vw,240px)/.84 Georgia;letter-spacing:-.065em;color:#173d320d}.atelier-signoff>span:last-child{font-size:clamp(40px,9.4vw,160px);letter-spacing:.25em;margin:18px 0 0 .25em}
@media(max-width:950px){.atelier-triptych{gap:15px}.atelier-tile__label{font-size:22px;inset:auto 19px 22px}.atelier-meeting__grid{gap:35px}.atelier-question-grid{gap:35px 50px}.atelier-calendar{padding:22px}}
@media(max-width:680px){.atelier-visuals{padding:35px 0 12px}.atelier-triptych{grid-template-columns:1fr;gap:18px;max-width:420px}.atelier-tile{aspect-ratio:1.04}.atelier-phone{width:33%;border-radius:22px}.atelier-phone__glass{border-radius:18px}.atelier-phone__name{font-size:12px}.atelier-phone__name small{font-size:7px}.atelier-phone__line{font-size:7px}.atelier-phone__keys{margin-top:14%}.atelier-phone__call{margin-top:10%}.atelier-boats-scene{inset:-9% 4% 6%}.atelier-boats-scene__word{font-size:41px}.atelier-paper{width:58%;left:23%;top:8%}.atelier-paper__top{font-size:8px}.atelier-paper__title{font-size:25px}.atelier-paper__foot{font-size:7px}.atelier-paper__ghost{font-size:38px}.atelier-tile__label{font-size:27px;inset:auto 23px 23px}.atelier-questions{padding:35px 0 10px}.atelier-questions__intro{align-items:flex-start;flex-direction:column;gap:14px}.atelier-question-grid{grid-template-columns:1fr;gap:32px}.atelier-question h2{font-size:53px;margin-bottom:15px}.atelier-question>p{font-size:16px;line-height:1.7}.atelier-meeting{padding:40px 0;margin-top:30px}.atelier-meeting__grid{grid-template-columns:1fr;gap:30px}.atelier-meeting__copy h2{font-size:64px}.atelier-meeting__copy>p:not(.section-kicker){font-size:15px}.atelier-calendar{padding:22px}.atelier-calendar__days button{font-size:14px;min-height:36px}.home-atelier .atelier-utilities .widgets-grid{grid-template-columns:1fr}.atelier-signoff{padding-top:25px}}
@media(prefers-reduced-motion:reduce){.atelier-tile,.atelier-tile__label>span{transition:none;transform:none!important}}
/* Keep the words intact on the illustrative stationery and the real meeting copy. */
.atelier-paper__title{font-size:clamp(17px,1.6vw,24px);white-space:nowrap}
.atelier-meeting__copy>p:not(.section-kicker){text-align:left!important;text-wrap:pretty}
.atelier-calendar__notice{text-align:left!important;letter-spacing:normal!important;word-spacing:normal!important;font-size:11px}
@media(max-width:680px){.atelier-paper__title{font-size:22px}}

.atelier-signoff--chapter{margin:55px auto 0;padding:35px 0 0;border-top:1px solid #a47c2a35;max-width:1600px}
.atelier-signoff--chapter>span{color:#173d3216;font-size:clamp(50px,12.6vw,190px)}
.atelier-signoff--chapter>span:last-child{font-size:clamp(18px,2.5vw,36px);letter-spacing:.65em;margin:14px 0 0 .65em}
.atelier-signoff--chapter+.atelier-visuals{padding-top:35px}
.contact-refined .atelier-meeting{margin-bottom:0}
@media(max-width:680px){.atelier-signoff--chapter{margin-top:35px}.atelier-signoff--chapter+.atelier-visuals{padding-top:25px}}

/* Let the site map continue behind the appointment section. */
.contact-refined .atelier-meeting{background:transparent}

/* Compact transition from the contact cards to the four practical questions. */
.contact-refined .page-content{padding-bottom:24px}
.contact-refined .atelier-questions{padding-top:12px}

/* Contact: coordinates, practical answers, then an appointment request. */
.contact-refined .contact-refined-grid .content-card{padding:28px;gap:16px}
.contact-refined-direct .contact-vcard-action{margin-top:auto}
.contact-refined-direct .contact-refined-links{width:100%}
.contact-refined-access .contact-map{height:180px;min-height:180px}
.contact-refined .atelier-questions{padding-top:18px;padding-bottom:0}
.contact-refined .atelier-questions__intro{padding-bottom:18px}
.contact-refined .atelier-question-grid{padding-top:28px;gap:34px 70px}
.contact-refined .atelier-question h2{font-size:clamp(38px,4vw,54px);margin:0 0 14px;line-height:1.05}
.contact-refined .atelier-question p{font-size:15px;line-height:1.75;hyphens:none;overflow-wrap:normal;word-break:normal;text-align:justify;text-align-last:left;text-wrap:pretty}
.contact-refined .atelier-meeting{margin:42px 0 0;padding:38px 0 50px;background:transparent}
.contact-refined .atelier-meeting__grid{border-top:1px solid #a47c2a40;padding-top:38px;gap:55px;align-items:center}
.contact-refined .atelier-meeting__copy h2{font-size:clamp(46px,5.3vw,74px);line-height:1.04;letter-spacing:-.045em;margin:20px 0 22px}
.contact-refined .atelier-meeting__copy>p:not(.section-kicker){max-width:42ch;margin-bottom:24px}
.contact-refined .atelier-meeting__copy>a.atelier-meeting__direct{font:400 13px/1.6 Arial,sans-serif;color:#80601f;text-decoration:none;display:inline-flex;gap:10px}
.contact-refined #preparer,.contact-refined #fonctionnement,.contact-refined #rendez-vous{scroll-margin-top:100px}
@media(max-width:680px){
 .contact-refined .contact-refined-grid .content-card{padding:23px}
 .contact-refined .atelier-question-grid{gap:26px}
 .contact-refined .atelier-question h2{font-size:43px}
 .contact-refined .atelier-question p{font-size:15px}
 .contact-refined .atelier-meeting{margin-top:30px;padding-top:0;padding-bottom:25px}
 .contact-refined .atelier-meeting__grid{padding-top:28px;gap:25px}
 .contact-refined .atelier-meeting__copy h2{font-size:48px}
}
/* Branded appointment desk: a date on the left, a live invitation on the right. */
.contact-refined .appointment-signature .atelier-meeting__grid{display:block;padding-top:32px}
.appointment-signature .atelier-meeting__copy{display:grid;grid-template-columns:1.1fr 1fr;column-gap:70px;align-items:end;margin-bottom:30px}
.appointment-signature .atelier-meeting__copy>.section-kicker{grid-column:1/-1}
.contact-refined .appointment-signature .atelier-meeting__copy h2{font-size:clamp(42px,4.6vw,64px);margin:18px 0 0}
.contact-refined .appointment-signature .atelier-meeting__copy>p:not(.section-kicker){margin:0;max-width:45ch;font-size:15px}
.contact-refined .appointment{padding:0;border:1px solid #a47c2a45;border-radius:18px;background:#faf8f2;overflow:hidden;box-shadow:0 18px 50px #173d3208}
.appointment__brand{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 32px;border-bottom:1px solid #a47c2a35;background:linear-gradient(115deg,#faf8f2,#f0eddf)}
.appointment__identity{display:flex;align-items:center;gap:17px;min-width:0}.appointment__identity img{width:48px;height:58px;object-fit:contain;flex-shrink:0}.appointment__identity strong{display:block;color:#173d32;font:700 17px/1.3 Georgia,serif;letter-spacing:.06em}.appointment__identity div>span{display:block;color:#947126;font:10px/1.5 Arial,sans-serif;letter-spacing:.3em;margin-top:5px}
.appointment__brand>p{font:italic 19px/1.4 Georgia,serif;color:#60715f;margin:0;text-align:right!important}
.appointment__workspace{display:grid;grid-template-columns:1fr 1fr}
.appointment__dates{padding:30px 38px 25px;min-width:0}
.appointment__eyebrow{font:10px/1.5 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#83672f;margin:0 0 20px}
.appointment .atelier-calendar__head{margin-bottom:24px}.appointment .atelier-calendar__head h3{font-size:27px}.appointment .atelier-calendar__head>button{width:44px;height:44px;font-size:19px}
.appointment .atelier-calendar__week{font-size:11px;color:#6c766a;margin-bottom:12px}
.appointment .atelier-calendar__days{gap:6px}.appointment .atelier-calendar__days button{font-size:15px;max-height:58px;min-height:44px;border-radius:12px;transition:background .18s,color .18s,box-shadow .18s}
.appointment .atelier-calendar__days button:hover:not(:disabled){background:#eae8d9;box-shadow:inset 0 0 0 1px #a47c2a45}
.appointment .atelier-calendar__days button[aria-pressed=true]{background:#173d32;color:#faf8f2;box-shadow:inset 0 -3px #a47c2a}
.appointment .atelier-calendar__days button.is-today{box-shadow:inset 0 0 0 1px #a47c2a}.appointment .atelier-calendar__days button.is-today[aria-pressed=true]{box-shadow:inset 0 0 0 1px #a47c2a,inset 0 -3px #a47c2a}
.appointment__shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.appointment__shortcuts>button{border:1px solid #173d3225;border-radius:20px;padding:9px 12px;color:#173d32;background:transparent;cursor:pointer;font:11px/1.3 Arial,sans-serif;min-height:36px}.appointment__shortcuts>button:hover{border-color:#a47c2a;background:#a47c2a0d}
.appointment__legend{font:11px/1.65 Arial,sans-serif;color:#73776b;margin:17px 0 0;text-align:left!important}.appointment__legend>span{display:inline-block;width:7px;height:7px;border:1px solid #a47c2a;border-radius:50%;margin-right:6px}
.appointment__request{padding:30px 34px;background:#f0f1e8;border-left:1px solid #173d3212;min-width:0}
.appointment__ticket{display:flex;align-items:center;gap:20px;padding-bottom:23px;border-bottom:1px solid #a47c2a35;min-height:103px;color:#173d32}
.appointment__ticket-day{font:400 75px/.95 Georgia,serif;letter-spacing:-.06em;color:#a47c2a;min-width:80px;transition:color .2s}
.appointment__ticket>div>span{display:block;font:12px/1.5 Arial,sans-serif;text-transform:capitalize}.appointment__ticket strong{display:block;font:400 23px/1.3 Georgia,serif;text-transform:capitalize;letter-spacing:-.025em}.appointment__ticket>div>span.appointment__ticket-status{font:10px/1.5 Arial,sans-serif;text-transform:none;color:#6f7565;margin-top:7px}
.appointment fieldset.appointment__formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:22px 0 10px;padding:0}
.appointment .appointment__formats legend{font:12px/1.5 Arial,sans-serif;color:#173d32;margin-bottom:12px}
.appointment .appointment__formats label{display:flex;flex-direction:column;justify-content:center;gap:7px;position:relative;border:1px solid #173d3225;border-radius:9px;padding:13px 4px;cursor:pointer;background:#faf8f280;min-height:76px}
.appointment__formats label:has(input:checked){border-color:#173d32;background:#173d32;color:#faf8f2}.appointment .appointment__formats label>span{font:24px/1 Georgia,serif}.appointment .appointment__formats label>strong{font:400 11px/1.3 Arial,sans-serif;white-space:nowrap}
.appointment__formats input{position:absolute;opacity:0;width:1px;height:1px}.appointment__formats label:has(input:focus-visible){outline:2px solid #a47c2a;outline-offset:3px}
.appointment__format-detail{font:11px/1.6 Arial,sans-serif;min-height:35px;color:#6d7666;margin:0 0 15px;text-align:left!important}
.appointment label.appointment__period{display:block;font:12px/1.6 Arial,sans-serif;color:#173d32}.appointment__period select{display:block;margin-top:6px;width:100%;min-height:44px;padding:9px 12px;border:1px solid #173d3225;border-radius:6px;background:#faf8f2;color:#173d32;font:13px/1.4 Arial,sans-serif}
.appointment .atelier-calendar__selection{font:11px/1.5 Arial,sans-serif;margin:15px 0 10px;min-height:17px;color:#66705e;text-align:left!important}
.appointment .button{font-size:11px;letter-spacing:.1em;min-height:48px}.appointment .button:disabled{opacity:.4}
.appointment .atelier-calendar__notice{font-size:10px;line-height:1.6;margin-top:12px;text-align:left!important;max-width:42ch}
.appointment__footer{display:flex;align-items:center;justify-content:flex-start;gap:25px;flex-wrap:wrap;padding:17px 32px;border-top:1px solid #173d3215;font:12px/1.6 Arial,sans-serif;color:#73776b}.appointment__footer a{color:#173d32;text-decoration:none}.appointment__footer a:hover{color:#a47c2a}.appointment__footer a>span{margin-left:6px;color:#947126}
.appointment button:focus-visible,.appointment select:focus-visible{outline:2px solid #a47c2a;outline-offset:3px}
@media(max-width:1000px){.appointment__dates{padding:25px}.appointment__request{padding:25px}.appointment__brand{padding:22px 25px}.appointment__ticket{gap:12px}.appointment__ticket-day{font-size:65px;min-width:68px}.appointment__ticket strong{font-size:21px}}
@media(max-width:760px){.appointment-signature .atelier-meeting__copy{grid-template-columns:1fr;gap:18px}.contact-refined .appointment-signature .atelier-meeting__copy>p:not(.section-kicker){max-width:none}.appointment__workspace{grid-template-columns:1fr}.appointment__brand{padding:20px}.appointment__brand>p{display:none}.appointment__identity strong{font-size:16px}.appointment__identity img{width:42px;height:50px}.appointment__dates{padding:24px 20px}.appointment__request{padding:24px 20px;border-left:0;border-top:1px solid #173d3215}.appointment .atelier-calendar__days button{min-height:40px;aspect-ratio:1;max-height:56px}.appointment .atelier-calendar__days{gap:4px}.appointment__ticket{min-height:90px}.appointment__footer{padding:18px 20px;gap:10px 24px}.appointment__footer>span{flex-basis:100%}.appointment .atelier-calendar__head h3{font-size:25px}.appointment .appointment__formats label{min-height:78px}.appointment .appointment__formats label>strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.appointment *{transition:none!important}}

.appointment__ticket strong,.appointment__ticket>div>span{text-transform:none}
.appointment__booking{padding:30px 34px;color:#173d32}.appointment__booking>p{font:14px/1.65 Arial,sans-serif;text-align:left;margin:0 0 12px}.appointment__booking a{color:#173d32;text-decoration:underline}@media(max-width:760px){.appointment__booking{padding:24px 20px}}
.appointment__fields{display:grid;gap:10px;margin-top:16px}.appointment__fields label{display:block;font:12px/1.5 Arial,sans-serif;color:#173d32}.appointment__fields input{display:block;width:100%;min-height:44px;margin-top:5px;padding:9px 12px;border:1px solid #173d3225;border-radius:6px;background:#faf8f2;color:#173d32;font:14px/1.4 Arial,sans-serif}.appointment__honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.appointment__result{margin-top:12px;padding:12px;border:1px solid #a47c2a;color:#173d32;background:#fffdf5;font:13px/1.5 Arial,sans-serif}.appointment__notice a,.atelier-calendar__notice a{color:#173d32;text-decoration:underline}
.appointment__formats label>span{display:grid;place-items:center}
.contact-refined .appointment .appointment__legend,.contact-refined .appointment .appointment__format-detail,.contact-refined .appointment .atelier-calendar__notice{word-spacing:normal!important;letter-spacing:normal!important;text-align:left!important;text-align-last:left!important}

/* One contact journey: choose how to get in touch, find the firm, read the terms. */
.contact-journey .appointment-signature{margin:0;padding:0 0 36px}
.contact-journey .appointment-signature .atelier-meeting__grid{border-top:0;padding-top:0}
.contact-journey .appointment-signature .atelier-meeting__copy{grid-template-columns:1.1fr 1fr;column-gap:65px;row-gap:18px;align-items:start;margin-bottom:25px}
.contact-journey .appointment-signature .atelier-meeting__copy h2{font-size:clamp(32px,3.3vw,46px);margin:0;grid-column:1}
.contact-journey .appointment-signature .atelier-meeting__copy>p{grid-column:1;font-size:14px!important;line-height:1.7!important}
.contact-journey__direct{grid-column:2;grid-row:1/3;min-width:0;align-self:center}
.contact-journey__direct .contact-refined-links{margin:0}
.contact-journey__access{padding:32px 0}
.contact-journey__access-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center;border-top:1px solid #a47c2a35;padding-top:32px}
.contact-journey__access h2{font:400 36px/1.15 Georgia,serif;color:#173d32;margin:15px 0}
.contact-journey__access address{font:400 16px/1.7 Arial,sans-serif;font-style:normal;margin:0 0 18px}
.contact-journey__access .contact-map{height:220px;border:1px solid #173d321c;border-radius:15px;overflow:hidden}
.contact-journey__access iframe{width:100%;height:100%;border:0}
.contact-journey__access .contact-itinerary{font-size:12px;color:#80601f}
.contact-journey__practical{padding:10px 0 38px}
.contact-journey__practical>.container{border-top:1px solid #a47c2a35;padding-top:28px}
.contact-journey__practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:22px 0}
.contact-journey__practical h2{font:400 25px/1.25 Georgia,serif;color:#173d32;margin:0 0 12px}
.contact-journey__practical p:not(.section-kicker){font-size:14px;line-height:1.75;hyphens:none;word-break:normal}
.contact-journey__practical .contact-vcard-action{font-size:11px;color:#80601f}
@media(max-width:760px){
 .contact-journey .appointment-signature .atelier-meeting__copy{grid-template-columns:1fr;gap:15px}
 .contact-journey__direct{grid-column:1;grid-row:auto;width:100%}
 .contact-journey .appointment-signature .atelier-meeting__copy h2{font-size:34px}
 .contact-journey__access-grid{grid-template-columns:1fr;gap:24px;padding-top:26px}
 .contact-journey__access{padding:15px 0 28px}
 .contact-journey__practical-grid{grid-template-columns:1fr;gap:24px}
 .contact-journey__access .contact-map{height:210px}
 .contact-journey__practical h2{font-size:25px}
}

/* Compact time preference control. */
.contact-refined .appointment .appointment__period select{width:180px;max-width:100%;min-height:36px;height:36px;padding:6px 10px;font-size:12px}
@media(pointer:coarse){.contact-refined .appointment .appointment__period select{min-height:44px;height:44px}}

.appointment__draft[hidden]{display:none}
.appointment__draft{margin-top:22px;padding-top:22px;border-top:1px solid #a47c2a50}
.appointment__draft h4{font:400 25px/1.3 Georgia,serif;color:#173d32;margin:0 0 10px;scroll-margin-top:100px}
.contact-refined .appointment .appointment__draft p{font:12px/1.6 Arial,sans-serif;text-align:left!important;word-spacing:normal!important;margin:10px 0}
.appointment .appointment__draft label{display:block;font-size:11px;margin:14px 0 6px}
.appointment__draft input,.appointment__draft textarea{box-sizing:border-box;width:100%;border:1px solid #173d3225;border-radius:6px;background:#faf8f2;padding:11px;color:#173d32;font:12px/1.65 Arial,sans-serif}
.appointment__draft textarea{resize:vertical;min-height:220px}
.appointment__draft-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.appointment__draft-actions button{padding:11px 15px;border:1px solid #173d32;border-radius:22px;color:#faf8f2;background:#173d32;font:12px/1.4 Arial,sans-serif;cursor:pointer;min-height:44px}
.appointment__draft-actions a{font-size:12px;color:#80601f;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}

.appointment .appointment__draft{margin:0;padding:26px 32px;background:#f4f3e9}.appointment__draft textarea{min-height:210px}.appointment__draft>p,.appointment__draft input,.appointment__draft textarea{max-width:780px;display:block}@media(max-width:760px){.appointment .appointment__draft{padding:24px 20px}}
