.contact-page{background:#eeeae1;color:var(--ink)}
.contact-page .site-header{background:rgba(14,16,15,.94);box-shadow:0 1px rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.contact-page .nav-list a[aria-current=page]{color:#fff}
.contact-page .nav-list a[aria-current=page]::after{transform:scaleX(1)}
.contact-main{overflow:hidden;background:#eeeae1}
.contact-stage{padding:clamp(10rem,13vw,13rem) 0 clamp(5rem,8vw,8rem)}
.contact-shell{display:grid;grid-template-columns:minmax(0,.7fr) minmax(34rem,1fr);gap:clamp(4rem,8vw,9rem);align-items:start}
.contact-intro{position:sticky;top:7rem;padding-top:.75rem}
.contact-intro .label,.form-heading .label,.legal-content>.label{color:#71644e}
.contact-intro h1{max-width:9ch;margin:.8rem 0 1.8rem;font-size:clamp(4rem,6.2vw,6.5rem);font-weight:400;line-height:.88;letter-spacing:-.035em;text-wrap:balance}
.contact-lead{max-width:35rem;margin:0;font-size:clamp(1rem,1.2vw,1.18rem);line-height:1.7}
.contact-scope{max-width:34rem;margin:1.4rem 0 0;color:#5f605b;font-size:16px;line-height:1.75}
.contact-direct{display:grid;margin-top:clamp(2.5rem,4vw,4rem);border-top:1px solid rgba(17,20,18,.2)}
.contact-direct>a,.contact-location{position:relative;display:grid;grid-template-columns:2rem 1fr;gap:1.1rem;align-items:center;min-height:78px;padding:.85rem 0;border-bottom:1px solid rgba(17,20,18,.18);color:inherit;text-decoration:none}
.contact-direct>a{transition:color .3s ease,transform .3s var(--ease)}
.contact-direct>a::after{position:absolute;right:0;bottom:-1px;left:3.1rem;height:1px;background:var(--bronze);content:'';transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.contact-direct>a:hover,.contact-direct>a:focus-visible{color:#7b6749;transform:translateX(3px)}
.contact-direct>a:hover::after,.contact-direct>a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.contact-direct>a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.contact-direct svg{width:22px;height:22px;color:#8e7959;fill:none;stroke:currentColor}
.contact-direct span{display:grid;gap:.22rem;min-width:0}
.contact-direct strong{font-family:var(--serif);font-size:1.32rem;font-weight:500;line-height:1.1;overflow-wrap:anywhere}
.contact-direct small{color:#66655f;font-size:13px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.contact-form-panel{scroll-margin-top:96px;padding:clamp(2rem,4.5vw,4.5rem);background:#171a18;color:#f3f0e8}
.form-heading{margin-bottom:clamp(2rem,4vw,3.5rem);padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.16)}
.form-heading h2{max-width:12ch;margin:.7rem 0 1rem;font-size:clamp(2.5rem,4vw,4rem);font-weight:400;line-height:.94}
.form-heading>p:last-child{margin:0;color:rgba(243,240,232,.65);font-size:16px}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem 1.25rem}
.contact-page .field{display:grid;align-content:start;gap:.55rem}
.contact-page .field--wide{grid-column:1/-1}
.contact-page .field label{color:rgba(243,240,232,.88);font-size:13px;font-weight:600;letter-spacing:.055em}
.contact-page .field input:not([type=checkbox]):not([type=file]),.contact-page .field textarea,.contact-page .field select{width:100%;min-height:52px;padding:.9rem 0;border:0;border-bottom:1px solid rgba(243,240,232,.28);border-radius:0;background:transparent;color:#f3f0e8;font:inherit;outline:none;transition:border-color .25s ease,background-color .25s ease}
.contact-page .field input:not([type=checkbox]):not([type=file]):hover,.contact-page .field textarea:hover,.contact-page .field select:hover{border-color:rgba(243,240,232,.55)}
.contact-page .field input:not([type=checkbox]):not([type=file]):focus,.contact-page .field textarea:focus,.contact-page .field select:focus{border-color:#b7a27a;background:rgba(255,255,255,.025)}
.contact-page .field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#b7a27a 50%),linear-gradient(135deg,#b7a27a 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}
.contact-page .field select option{background:#171a18;color:#f3f0e8}
.contact-page .field textarea{min-height:140px;resize:none;line-height:1.6}
.contact-page .field [aria-invalid=true]:not([type=checkbox]){border-color:#dc8b7e}
.contact-page .field-error{min-height:1rem;margin:0;color:#efaa9f;font-size:13px;line-height:1.4}
.contact-page .field-help{margin:0;color:rgba(243,240,232,.5);font-size:13px;line-height:1.55}
.file-field{padding-top:.35rem}
.contact-page .file-field input{width:100%;min-height:52px;padding:.75rem;border:1px dashed rgba(243,240,232,.28);background:rgba(255,255,255,.035);color:rgba(243,240,232,.72);font-size:13px;cursor:pointer}
.contact-page .file-field input::file-selector-button{min-height:38px;margin-right:1rem;padding:.55rem .8rem;border:1px solid rgba(243,240,232,.34);background:#171a18;color:#f3f0e8;font:600 15px var(--sans);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
.consent-field{position:relative;grid-template-columns:22px 1fr;gap:.75rem!important;align-items:start;padding-top:.7rem}
.consent-field input{width:20px;height:20px;margin:0;accent-color:#b7a27a;cursor:pointer}
.consent-field label{font-weight:400!important;line-height:1.6;letter-spacing:0!important;cursor:pointer}
.consent-field a,.form-submit a,.form-result a{color:inherit;text-underline-offset:3px}
.consent-field .field-error{grid-column:2}
.form-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.form-submit{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;margin-top:.35rem}
.form-submit .btn{display:inline-flex;min-width:230px;min-height:52px;align-items:center;justify-content:space-between;gap:1.5rem;border-color:#f3f0e8;background:#f3f0e8;color:#171a18}
.form-submit .btn:hover,.form-submit .btn:focus-visible{border-color:#b7a27a;background:#b7a27a;color:#0e100f}
.form-submit .btn:disabled{cursor:wait;opacity:.65}
.form-submit>p{max-width:24rem;margin:0;color:rgba(243,240,232,.56);font-size:13px;line-height:1.6}
.form-result{margin-top:2rem;padding:1.5rem 0;border-top:1px solid #b7a27a;border-bottom:1px solid rgba(255,255,255,.16);outline:none}
.form-result h3{margin:0 0 .65rem;font-size:2rem;font-weight:400}
.form-result p{margin:0;color:rgba(243,240,232,.7);font-size:16px;line-height:1.7}
.contact-assurance{display:flex;justify-content:center;gap:1rem;padding:1.5rem var(--gutter);border-top:1px solid rgba(17,20,18,.14);background:#eeeae1;color:#655d50;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.contact-assurance i{color:#b7a27a;font-style:normal}
.legal-main{padding:clamp(10rem,13vw,13rem) 0 7rem;background:#eeeae1}
.legal-content{max-width:850px}
.legal-content h1{margin:.8rem 0 3rem;font-size:clamp(3.5rem,7vw,6rem);font-weight:400;line-height:.92}
.legal-content h2{margin:2.5rem 0 .8rem;font-size:2rem;font-weight:500}
.legal-content p{max-width:70ch;line-height:1.75}

@media(prefers-reduced-motion:no-preference){
  .contact-motion-ready .contact-page.is-entering .contact-intro .label,.contact-motion-ready .contact-page.is-entering .contact-intro h1,.contact-motion-ready .contact-page.is-entering .contact-lead,.contact-motion-ready .contact-page.is-entering .contact-scope,.contact-motion-ready .contact-page.is-entering .contact-direct>*{animation:contact-enter .48s cubic-bezier(.16,1,.3,1) both}
  .contact-motion-ready .contact-page.is-entering .contact-intro h1{animation-delay:.06s}.contact-motion-ready .contact-page.is-entering .contact-lead{animation-delay:.14s}.contact-motion-ready .contact-page.is-entering .contact-scope{animation-delay:.2s}.contact-motion-ready .contact-page.is-entering .contact-direct>*:nth-child(1){animation-delay:.27s}.contact-motion-ready .contact-page.is-entering .contact-direct>*:nth-child(2){animation-delay:.34s}.contact-motion-ready .contact-page.is-entering .contact-direct>*:nth-child(3){animation-delay:.41s}.contact-motion-ready .contact-page.is-entering .contact-direct>*:nth-child(4){animation-delay:.48s}
  .contact-motion-ready .contact-page.is-entering .contact-form-panel{animation:contact-panel-enter .62s cubic-bezier(.16,1,.3,1) .2s both}
}
@keyframes contact-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes contact-panel-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media(max-width:1100px){.contact-shell{grid-template-columns:minmax(0,.65fr) minmax(30rem,1fr);gap:3.5rem}.contact-intro h1{font-size:clamp(3.8rem,6vw,5rem)}.contact-form-panel{padding:2.5rem}}
@media(max-width:800px){
  .contact-stage{padding:8.5rem 0 4.5rem}.contact-shell{grid-template-columns:1fr;gap:3.5rem}.contact-intro{position:static;padding-top:0}.contact-intro h1{max-width:9ch;font-size:clamp(3.7rem,16vw,5rem)}.contact-form-panel{width:calc(100% + 40px);margin-left:-20px;padding:2.5rem 20px}.form-fields{grid-template-columns:1fr}.contact-page .field--wide{grid-column:auto}.contact-direct>a,.contact-location{min-height:72px}.contact-direct strong{font-size:1.2rem}.contact-assurance{flex-wrap:wrap}.legal-main{padding-top:8.5rem}
}
@media(max-width:390px){.contact-intro h1{font-size:3.55rem}.contact-form-panel{padding-top:2rem;padding-bottom:2.5rem}.form-heading h2{font-size:2.45rem}.contact-direct strong{font-size:1.1rem}.contact-assurance{gap:.6rem;font-size:13px;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){.contact-page *{scroll-behavior:auto!important}.contact-direct>a,.contact-form-panel{animation:none!important;transition:none!important}}
.form-heading .label{color:#a08e6f}

/* Compact mobile path without reducing control size or readability. */
.contact-page .field label{font-size:15px}.contact-page .field-help,.form-submit>p{font-size:14px}.contact-page .btn{font-size:15px}.contact-direct>a:active{background:rgba(17,20,18,.045)}
@media(max-width:800px){.contact-stage{padding:7.5rem 0 2.75rem}.contact-shell{gap:2.5rem}.contact-intro h1{max-width:10ch;font-size:clamp(3.2rem,14vw,4.4rem)}.contact-form-panel{padding:2rem 20px 2.5rem}.contact-assurance{display:none}.contact-breadcrumb a,.contact-form a,.contact-direct__item{display:inline-flex;min-height:44px;align-items:center}}

/* Contact page refinement: calm, light and task-focused. */
.contact-stage{padding:clamp(9rem,11vw,11rem) 0 clamp(4.5rem,7vw,7rem)}
.contact-shell{grid-template-columns:minmax(20rem,.72fr) minmax(32rem,1fr);gap:clamp(3rem,7vw,7.5rem)}
.contact-intro{position:static;padding-top:.25rem}
.contact-intro h1{max-width:12ch;margin:.65rem 0 1.35rem;font-family:var(--sans);font-size:clamp(2.8rem,4.3vw,4.6rem);font-weight:500;line-height:1.02;letter-spacing:-.045em}
.contact-lead{max-width:31rem;font-size:1rem;line-height:1.7}
.contact-scope{margin-top:1rem;font-size:15px;line-height:1.65}
.contact-direct{margin-top:2rem}
.contact-direct>a,.contact-location{min-height:66px}
.contact-direct strong{font-family:var(--sans);font-size:1rem;font-weight:600;line-height:1.35}
.contact-direct small{font-size:13px;letter-spacing:.06em}
.contact-form-panel{padding:clamp(2rem,3.5vw,3.5rem);border:1px solid rgba(17,20,18,.16);background:#f7f5f0;color:var(--ink)}
.form-heading{margin-bottom:2.25rem;padding-bottom:1.5rem;border-color:rgba(17,20,18,.16)}
.form-heading .label{color:#806c4c}
.form-heading h2{max-width:18ch;margin:.55rem 0 .7rem;font-family:var(--sans);font-size:clamp(1.9rem,2.7vw,2.8rem);font-weight:500;line-height:1.08;letter-spacing:-.035em}
.form-heading>p:last-child{color:#62635e}
.contact-page .field label{color:#282a27}
.contact-page .field input:not([type=checkbox]):not([type=file]),.contact-page .field textarea,.contact-page .field select{padding:.8rem .9rem;border:1px solid rgba(17,20,18,.22);background:#fff;color:var(--ink)}
.contact-page .field input:not([type=checkbox]):not([type=file]):hover,.contact-page .field textarea:hover,.contact-page .field select:hover{border-color:rgba(17,20,18,.48)}
.contact-page .field input:not([type=checkbox]):not([type=file]):focus,.contact-page .field textarea:focus,.contact-page .field select:focus{border-color:#8e7959;background:#fff;box-shadow:0 0 0 3px rgba(142,121,89,.12)}
.contact-page .field select{background-color:#fff}
.contact-page .field select option{background:#fff;color:var(--ink)}
.contact-page .field-help{color:#676862}
.contact-page .field-error{color:#8c291f}
.contact-page .file-field input{border-color:rgba(17,20,18,.25);background:#fff;color:#555751}
.contact-page .file-field input::file-selector-button{border-color:#1a1c1a;background:#1a1c1a;color:#fff}
.form-submit .btn{border-color:#171a18;background:#171a18;color:#fff}
.form-submit .btn:hover,.form-submit .btn:focus-visible{border-color:#8e7959;background:#8e7959;color:#fff}
.form-submit>p{color:#62635e}
.form-result{border-bottom-color:rgba(17,20,18,.16)}
.form-result p{color:#62635e}
.contact-work{margin-top:2.6rem}
.contact-work__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.contact-work__head h2{margin:0;font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:.01em}
.contact-work__controls{display:flex;gap:.35rem}
.contact-work__controls button{display:grid;width:44px;height:44px;padding:0;place-items:center;border:1px solid rgba(17,20,18,.25);border-radius:50%;background:transparent;color:var(--ink);font-size:1.1rem;cursor:pointer;transition:border-color .25s ease,background-color .25s ease,color .25s ease}
.contact-work__controls button:hover,.contact-work__controls button:focus-visible{border-color:#171a18;background:#171a18;color:#fff}
.contact-work__controls button:focus-visible,.contact-work__track:focus-visible{outline:2px solid #8e7959;outline-offset:3px}
.contact-work__viewport{overflow:hidden;background:#ded9cf}
.contact-work__track{display:flex;touch-action:pan-y;transform:translateX(calc(var(--contact-slide,0) * -100%));transition:transform .5s cubic-bezier(.22,1,.36,1)}
.contact-work__slide{position:relative;min-width:100%;margin:0;aspect-ratio:16/10;overflow:hidden}
.contact-work__slide img{width:100%;height:100%;object-fit:cover}
.contact-work__slide figcaption{position:absolute;right:0;bottom:0;left:0;padding:2.5rem 1rem .9rem;background:linear-gradient(transparent,rgba(7,8,7,.76));color:#fff;font-size:13px;line-height:1.45}
.contact-work__link{display:inline-flex;min-height:44px;align-items:center;gap:.65rem;margin-top:.55rem;color:#705a39;font-size:13px;font-weight:600;text-decoration:none}
.contact-work__link:hover,.contact-work__link:focus-visible{color:#171a18}

@media(max-width:1100px){.contact-shell{grid-template-columns:minmax(18rem,.7fr) minmax(29rem,1fr);gap:3rem}}
@media(max-width:800px){.contact-stage{padding:7.25rem 0 3.5rem}.contact-shell{grid-template-columns:1fr;gap:2.25rem}.contact-intro h1{max-width:13ch;font-size:clamp(2.45rem,11vw,3.5rem)}.contact-form-panel{width:auto;margin:0;padding:1.5rem 0 0;border-width:1px 0 0;background:transparent}.form-heading{margin-bottom:1.75rem}.form-heading h2{font-size:clamp(1.8rem,8vw,2.35rem)}.contact-work{margin-top:2.25rem}.contact-work__slide{aspect-ratio:4/3}.contact-page .field input:not([type=checkbox]):not([type=file]),.contact-page .field textarea,.contact-page .field select,.contact-page .file-field input{background:#f9f8f4}}
@media(prefers-reduced-motion:reduce){.contact-work__track{transition:none}}

/* Compact contact composition. */
.contact-page.home-page .header-inner,.contact-page.home-page .site-header.is-scrolled .header-inner{min-height:76px;padding-top:0}
.contact-page.home-page .brand,.contact-page.home-page .site-header.is-scrolled .brand{width:142px;height:48px}
.contact-page.home-page .header-contact .btn{min-height:44px;padding:.65rem 1.05rem;font-size:13px}
.contact-stage{padding:7.25rem 0 4rem}
.contact-shell{grid-template-columns:minmax(18rem,.66fr) minmax(30rem,1fr);gap:clamp(2.5rem,5vw,5.5rem)}
.contact-intro>.label,.form-heading>.label{display:none}
.contact-intro h1{max-width:none;margin:0 0 .75rem;font-size:1.45rem;font-weight:600;line-height:1.3;letter-spacing:-.015em}
.contact-lead{font-size:.95rem;line-height:1.6}
.contact-scope{margin-top:.65rem;font-size:14px;line-height:1.55}
.contact-direct{margin-top:1.35rem}
.contact-direct>a,.contact-location{grid-template-columns:1.6rem 1fr;gap:.8rem;min-height:56px;padding:.55rem 0}
.contact-direct svg{width:19px;height:19px}
.contact-direct strong{font-size:.93rem}
.contact-direct small{font-size:13px}
.contact-form-panel{padding:2.35rem}
.form-heading{margin-bottom:1.4rem;padding-bottom:1.1rem}
.form-heading h2{margin:0 0 .4rem;font-size:clamp(1.65rem,2.2vw,2.15rem);line-height:1.12;letter-spacing:-.025em}
.form-heading>p:last-child{font-size:14px}
.form-fields{gap:.8rem 1rem}
.contact-page .field{gap:.35rem}
.field-label--sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.contact-page .field input:not([type=checkbox]):not([type=file]),.contact-page .field textarea,.contact-page .field select{min-height:46px;padding:.68rem .8rem;font-size:15px}
.contact-page .field input::placeholder,.contact-page .field textarea::placeholder{color:#656660;opacity:1}
.contact-page .field textarea{min-height:106px}
.contact-page .file-field input{min-height:46px;padding:.45rem .6rem}
.contact-page .file-field input::file-selector-button{min-height:36px;font-size:13px}
.contact-page .field-help,.form-submit>p{font-size:13px}
.consent-field{padding-top:.35rem}
.form-submit{gap:.75rem 1.1rem;margin-top:0}
.form-submit .btn{min-width:205px;min-height:46px}
.contact-work{margin-top:1.65rem}
.contact-work__head{flex-wrap:nowrap;margin-bottom:.55rem}
.contact-work__head h2{flex:1;min-width:0;font-size:.95rem;white-space:nowrap}
.contact-work__controls button{width:40px;height:40px}
.contact-work__slide{aspect-ratio:16/8.5}
.contact-work__slide figcaption{padding:2rem .85rem .65rem;font-size:13px}
.contact-work__link{min-height:40px;margin-top:.35rem}

@media(max-width:1100px){.contact-page.home-page .header-inner,.contact-page.home-page .site-header.is-scrolled .header-inner{min-height:74px}.contact-shell{grid-template-columns:minmax(17rem,.62fr) minmax(28rem,1fr);gap:2.5rem}.contact-form-panel{padding:2rem}}
@media(max-width:800px){.contact-page.home-page .header-inner,.contact-page.home-page .site-header.is-scrolled .header-inner{min-height:70px;padding-top:0}.contact-page.home-page .brand{width:120px;height:44px}.contact-stage{padding:6.25rem 0 2.75rem}.contact-shell{grid-template-columns:1fr;gap:1.75rem}.contact-intro h1{font-size:1.25rem}.contact-lead{font-size:.93rem}.contact-direct{margin-top:1.1rem}.contact-work{margin-top:1.5rem}.contact-work__slide{aspect-ratio:16/9}.contact-form-panel{padding-top:1.35rem}.form-heading{margin-bottom:1.2rem;padding-bottom:1rem}.form-heading h2{font-size:1.65rem}.form-fields{gap:.7rem}.contact-page .field input:not([type=checkbox]):not([type=file]),.contact-page .field textarea,.contact-page .field select{min-height:48px}.form-submit .btn{width:100%}}
