/* Contact keeps the first step short, with useful detail available when wanted. */
.contact-page .contact-opening{padding:145px 7% 42px}
.contact-page .contact-opening h1{max-width:1000px;margin:22px 0;font-size:clamp(42px,5.8vw,78px);line-height:1.07}
.contact-page .contact-opening>p{max-width:68ch;font-size:17px;line-height:1.75}
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 30px;margin-top:25px}
.contact-actions .copper-button{min-height:48px}
.contact-page .contact-opening .contact-opening-note{margin:16px 0 0;font-size:12px;line-height:1.65;color:#b9b6b1}
.contact-page .request-shell{max-width:1250px;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);padding:clamp(24px,4.5vw,58px);margin:0 auto 56px;align-items:start}
.contact-form-column{min-width:0}
.contact-form-heading{margin-bottom:24px}
.contact-form-heading h2{margin:0 0 12px;font-size:clamp(30px,3.5vw,44px);line-height:1.1;letter-spacing:-.035em;font-weight:400}
.contact-form-heading p{max-width:54ch;color:#c9c7c3;font-size:15px;line-height:1.75;margin:0}
.contact-email,.contact-budget{grid-column:1/-1}
.contact-page .request-form input:not([type=checkbox]),.contact-page .request-form textarea,.contact-page .request-form select{box-sizing:border-box;font-size:16px}
.contact-page .request-form textarea{min-height:136px}
.contact-page .request-form textarea::placeholder{color:#a7a39e;font-size:14px;line-height:1.6;opacity:1}
.contact-page .request-form button[type=submit]{justify-content:center;width:100%;max-width:100%;white-space:normal}
.contact-page .request-context{padding:16px}
.contact-page .request-context h3{font-size:17px}
.request-options{border-block:1px solid #bda58a35;padding:0}
.request-options summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;padding:17px 0;color:#e3c4a8;font-size:14px;line-height:1.5;list-style:none}
.request-options summary::-webkit-details-marker{display:none}
.request-options summary span{color:#b9b6b1;font-size:12px}
.request-options summary:focus-visible{outline:2px solid #f1d0ae;outline-offset:5px}
.request-options[open]{padding-bottom:18px;border-color:#bda58a65}
.request-options .request-fields{padding-top:4px;padding-bottom:16px}
.contact-page .request-person{margin:0 0 24px}
.contact-page .request-intro{padding-left:clamp(0px,2vw,28px);border-left:1px solid #bda58a2e}
.contact-calendar{margin:0;padding:0}
.contact-calendar h3{margin:15px 0;font:400 clamp(28px,3vw,38px)/1.16 'Instrument Serif',Georgia,serif;color:#eee8df}
.contact-page .contact-calendar p{max-width:43ch;margin:0 0 20px;font-size:14px;line-height:1.8}
.contact-expectations{list-style:none;counter-reset:contact-step;margin:24px 0;padding:0;display:grid;gap:18px}
.contact-expectations li{counter-increment:contact-step;display:grid;grid-template-columns:20px 1fr;gap:13px;color:#c9c7c3;font-size:13px;line-height:1.7}
.contact-expectations li:before{content:'0' counter(contact-step);color:#c5a58b;font-size:11px;padding-top:2px}
.contact-page .contact-calendar .contact-no-pressure{font-size:13px;color:#dfd6cd}
.contact-calendar .text-button{font-size:13px;line-height:1.6;max-width:100%;white-space:normal}
.contact-page .personal-contact{border-top:1px solid #bda58a35;margin:26px 0 0;padding-top:22px;font-size:13px}
.contact-page .personal-phone{display:inline-block;margin-top:6px;font-size:19px}
.contact-page .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.contact-page .request-more{max-width:1250px;margin-bottom:56px}
.contact-page .request-more p{font-size:14px}
@media(max-width:1320px){.contact-page .request-shell{margin-inline:4%}}
@media(max-width:760px){
.contact-page .contact-opening{padding:120px 6% 30px}
.contact-page .contact-opening h1{font-size:clamp(38px,9vw,58px);letter-spacing:-.04em;margin:18px 0}
.contact-page .contact-opening>p{font-size:16px;line-height:1.7}
.contact-actions{gap:20px;margin-top:22px}
.contact-actions .copper-button{padding:14px 20px;font-size:13px}
.contact-actions .text-button{font-size:13px}
.contact-page .request-shell{grid-template-columns:1fr;margin:0 4% 38px;padding:25px 20px;gap:34px;scroll-margin-top:95px}
.contact-page .request-form{gap:18px}
.contact-page .request-fields{grid-template-columns:1fr}
.contact-page .request-intro{padding:28px 0 0;border-left:0;border-top:1px solid #bda58a35}
.contact-page .request-person{margin:0 0 22px}
.contact-page .request-person img{width:52px;height:62px}
.contact-page .request-more{padding-inline:6%;margin-bottom:38px}
.contact-page .request-more .text-button{margin-top:18px;white-space:normal}
}
@media(max-width:360px){.contact-actions{align-items:flex-start;gap:16px}.contact-actions .copper-button{width:100%}}

/* Further detail follows the form, so the first contact remains easy to reach. */
.contact-page .contact-personal-story{font-size:14px;line-height:1.85;margin:26px 0 0;padding-top:24px;border-top:1px solid #bda58a35;color:#c7c0b7}
.contact-detail{padding:clamp(58px,7vw,100px) 7%;border-top:1px solid #ffffff18}
.contact-detail h2{font-size:clamp(35px,4.4vw,62px);font-weight:400;line-height:1.1;letter-spacing:-.04em;color:#f0e9e0;margin:0}
.contact-detail h2 em{font-family:'Instrument Serif',Georgia,serif;color:#d9b596;font-weight:400}
.contact-detail p{font-size:16px;line-height:1.85;color:#c5beb5}
.contact-section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:end;margin-bottom:42px}
.contact-section-heading>p{max-width:48ch;margin:0}
.contact-projects{background:radial-gradient(ellipse at 90% 0,#b5916e12,transparent 55%),#1d2022}
.contact-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,55px)}
.contact-project-grid article{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid #bd9b7766;padding-top:26px;min-width:0}
.contact-project-grid h3{font-size:clamp(25px,2.2vw,32px);font-weight:400;line-height:1.2;letter-spacing:-.03em;color:#eee6dc;margin:0 0 18px}
.contact-project-grid article>p{margin:0 0 20px}
.contact-project-grid article>.contact-project-price{font-size:14px;line-height:1.75;color:#ddc5af;margin-top:auto;padding-top:6px}
.contact-project-grid a{font-size:14px;line-height:1.7;display:inline-flex;align-items:center;min-height:48px;color:#e0bc9b;text-decoration:none;border-bottom:1px solid #bda58a55}
.contact-followup-list{list-style:none;counter-reset:contact-followup;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0;margin:0}
.contact-followup-list>li{counter-increment:contact-followup;border-top:1px solid #bda58a44;padding-top:20px;min-width:0}
.contact-followup-list>li::before{content:'0' counter(contact-followup);font-family:'Instrument Serif',Georgia,serif;color:#bd9b7b;font-size:38px;line-height:1.2}
.contact-followup-list h3{font-size:22px;line-height:1.3;letter-spacing:-.02em;font-weight:400;color:#eee6dc;margin:20px 0 13px}
.contact-followup-list p{font-size:15px;margin:0}
.contact-answers{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;background:#202224}
.contact-answers>div>p{max-width:40ch;margin:24px 0 15px}
.contact-answers .text-button{font-size:14px;min-height:48px;display:inline-flex;align-items:center}
.contact-answer-list{border-top:1px solid #bda58a55;min-width:0}
.contact-answer-list details{padding:0;border:0;border-bottom:1px solid #bda58a35}
.contact-answer-list summary{display:flex;gap:20px;align-items:flex-start;list-style:none;cursor:pointer;padding:22px 0;color:#eee6dc;font-size:18px;line-height:1.5}
.contact-answer-list summary::-webkit-details-marker{display:none}
.contact-answer-list summary::after{content:'+';margin-left:auto;color:#d9b596;flex:0 0 20px;text-align:center;font-size:22px}
.contact-answer-list details[open] summary::after{content:'×'}
.contact-answer-list details p{font-size:15px;margin:0;padding:0 30px 24px 0;max-width:65ch}
.contact-answer-list p a{color:#e0bc9b;text-decoration:underline;text-underline-offset:4px}
.contact-detail a:focus-visible,.contact-detail summary:focus-visible{outline:2px solid #e6c29f;outline-offset:5px}
.contact-detail a:hover{color:#fff0df}
.contact-project-brief{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:center;background:linear-gradient(120deg,#343331,#202224)}
.contact-project-brief p{max-width:56ch;margin:24px 0 0}
.contact-project-brief .contact-brief-note{font-size:13px;color:#bdb5ac;margin-top:17px}
.contact-brief-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.contact-brief-actions .copper-button{font-size:14px;min-height:50px;white-space:normal;text-align:center}
.contact-brief-actions .text-button{font-size:14px;min-height:48px;white-space:normal;display:inline-flex;align-items:center}
@media(max-width:1050px){.contact-followup-list{grid-template-columns:1fr 1fr;gap:34px}.contact-project-grid{gap:25px}}
@media(max-width:760px){.contact-detail{padding:56px 6%}.contact-section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:32px}.contact-project-grid{grid-template-columns:1fr;gap:34px}.contact-project-grid h3{font-size:28px}.contact-project-grid article>p{max-width:60ch}.contact-project-grid article>.contact-project-price{margin-bottom:10px;padding-top:0}.contact-answers{grid-template-columns:1fr;gap:32px}.contact-answers>div>p{max-width:55ch}.contact-project-brief{grid-template-columns:1fr;gap:28px}.contact-answer-list details p{padding-right:0}.contact-followup-list h3{font-size:22px}.contact-brief-actions{gap:10px}.contact-page .contact-opening .contact-opening-note{font-size:13px}}
@media(max-width:480px){.contact-followup-list{grid-template-columns:1fr;gap:26px}.contact-followup-list>li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:20px}.contact-followup-list>li::before{font-size:32px}.contact-followup-list h3{margin-top:0}.contact-brief-actions .copper-button{width:100%}}
