/* Isolated contact surface. Shared page styles and other routes stay untouched. */
.contact-page{background:#F6F4EF;color:#1D211E}
.contact-page>.header{position:relative;z-index:10;padding:clamp(25px,3vw,52px) 3.5%;background:transparent}
.contact-page>.header .brand{font-size:clamp(18px,1.35vw,23px);font-weight:300;letter-spacing:-.06em}
.contact-page>.header .nav{gap:40px;font-size:clamp(16px,1.2vw,21px);font-weight:400;letter-spacing:-.035em}
.contact-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:8%;max-width:1720px;margin:0 auto;padding:34px 6.4% 52px}
.contact-concept{min-width:0}.contact-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#69715f;margin:0 0 24px}
.contact-concept h1{font-size:clamp(48px,5.5vw,90px);font-weight:300;letter-spacing:-.062em;line-height:1.08;margin:0;position:relative;z-index:2}
.contact-title-line{display:block;overflow:hidden;padding:0 .05em .18em 0;margin-bottom:-.18em}.contact-title-line>span{display:block}
.contact-concept h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400}.contact-dot{color:#a4b668}
.contact-intro{font-size:16px;line-height:1.7;letter-spacing:-.015em;color:#666d60;max-width:380px;margin:27px 0 0}
.contact-scene{height:340px;position:relative;perspective:1100px;margin:20px -20px 16px -12px;pointer-events:none;isolation:isolate}
.contact-scene-world{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(8deg) rotateY(-13deg)}
.contact-window{position:absolute;border:1px solid #ffffffdb;box-shadow:9px 20px 24px #272c221a;background:#efede6;backface-visibility:hidden;border-radius:7px;overflow:hidden}
.contact-window-main{left:15%;top:72px;width:72%;max-width:400px;transform:translateZ(40px) rotate(-3deg)}
.contact-window-bar{height:20px;background:#30332e;display:flex;align-items:center;gap:4px;padding:0 10px;color:#dddfd4}
.contact-window-bar i{width:4px;height:4px;border-radius:50%;background:#bccf73}.contact-window-bar i:nth-child(2){opacity:.6}.contact-window-bar i:nth-child(3){opacity:.3}.contact-window-bar>span{font-size:7px;letter-spacing:.02em;margin-left:auto}
.contact-mini-header{padding:14px 16px 0;display:flex;justify-content:space-between;align-items:center;font-size:8px}.contact-mini-header>span:last-child{font-size:6px;color:#6c7463}
.contact-mini-body{display:grid;grid-template-columns:1fr .85fr;gap:12px;padding:20px 16px 17px}
.contact-mini-kicker{display:block;font-size:6px;letter-spacing:.09em;text-transform:uppercase;color:#6c7463;margin-bottom:8px}
.contact-mini-title{font-size:33px;font-weight:400;line-height:.95;letter-spacing:-.05em}.contact-mini-title em{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.contact-mini-lines{margin-top:14px;max-width:100px}.contact-mini-lines i{height:2px;background:#b9bbae;width:100%;display:block;margin:5px 0}.contact-mini-lines i:last-child{width:75%}
.contact-mini-link{display:flex;justify-content:space-between;max-width:103px;font-size:7px;margin-top:17px;border-top:1px solid #d1d3c5;padding-top:7px}.contact-mini-link b{font-weight:400}
.contact-mini-art{position:relative;background:#deded3;min-height:140px;overflow:hidden}.contact-mini-art:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 24px,#8e957a19 24px 25px),repeating-linear-gradient(90deg,transparent 0 24px,#8e957a19 24px 25px)}
.contact-art-circle{position:absolute;width:76%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 26%,#dde9b5,#BCCF73 58%,#7c9149);top:15%;left:12%;box-shadow:10px 16px 22px #2a331c26}
.contact-art-block{position:absolute;left:35%;bottom:-3%;height:39%;width:50%;background:linear-gradient(115deg,#6e7762,#252d22);transform:skewY(-12deg);box-shadow:10px 5px 12px #1d211e25}
.contact-art-line{position:absolute;width:84%;height:70%;border:1px solid #ffffffe3;border-radius:50%;top:10%;left:8%;transform:rotate(-35deg) scaleX(.58)}
.contact-window-code{top:47px;left:3%;width:45%;height:186px;transform:translateZ(-45px) rotate(-10deg);background:#282d27;color:#bccbaf;border-color:#59644f}
.contact-code-content{padding:17px;font-family:monospace;font-size:10px;line-height:1.85}.contact-code-content>span{display:block}.contact-code-indent{padding-left:16px;color:#e6e7e0}.contact-code-cursor{display:block;height:9px;width:4px;background:#BCCF73;margin-top:5px}
.contact-window-type{width:26%;height:130px;right:2%;top:16px;padding:13px 18px;transform:translateZ(-65px) rotate(9deg);background:#e9e8e0e6}.contact-window-type>span{font-size:8px;color:#727967}.contact-window-type strong{display:block;font:52px/1.1 Georgia,serif;letter-spacing:-.08em}.contact-swatches{display:flex;gap:8px;margin-top:5px}.contact-swatches i{width:15px;height:15px;border-radius:50%;background:#1D211E}.contact-swatches i:nth-child(2){background:#BCCF73}.contact-swatches i:nth-child(3){background:#F6F4EF;border:1px solid #c9cdbf}
.contact-window-detail{bottom:0;right:3%;width:48%;height:111px;transform:translateZ(10px) rotate(6deg);background:#f4f2ebdf;padding:11px 14px}.contact-window-detail>span:first-child{font-size:7px;letter-spacing:.03em}.contact-window-detail svg{display:block;height:49px;width:100%;color:#7d8967}.contact-scene-caption{font-size:7px;color:#727967}
.contact-scene-floor{position:absolute;left:10%;right:4%;height:30px;bottom:1%;border-radius:50%;background:#4e563627;filter:blur(17px);transform:rotate(-3deg)}
.contact-scene-orbit{position:absolute;inset:15px 7% 7px 7%;border:1px solid #a8b09655;border-radius:50%;transform:rotate(-24deg) scaleY(.84)}
.contact-details{display:flex;justify-content:space-between;gap:22px;align-items:center;padding-top:24px;border-top:1px solid #d4d7cd;margin-top:29px}
.contact-phone{font-size:17px;letter-spacing:-.015em;white-space:nowrap}.contact-phone>span{font-size:15px;margin-left:12px}.contact-details nav{display:flex;gap:22px;font-size:12px;color:#666d60}.contact-details a{padding:10px 0}.contact-details a span[aria-hidden]{display:inline-block;transition:transform .25s}.contact-details a:hover span[aria-hidden]{transform:translate(2px,-2px)}
.contact-form-section{padding-top:5px;min-width:0}.contact-form-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.contact-form-heading h2{font-size:23px;letter-spacing:-.035em;line-height:1.3;font-weight:400;margin:0}.contact-form-heading>span{font-size:27px;color:#87956a}.contact-required{font-size:11px;color:#72796b;margin:12px 0 19px}
.contact-field{position:relative;margin-bottom:22px}.contact-field label,.contact-project-type legend{font-size:14px;letter-spacing:-.01em;display:block;margin-bottom:3px}.contact-field label>span{font-size:11px;color:#747b6c;margin-left:4px}
.contact-field input,.contact-field textarea{border:0;border-bottom:1px solid #bfc6b2;background:transparent;border-radius:0;display:block;width:100%;padding:11px 0 13px;font-size:16px;line-height:1.6;color:#1D211E;outline:none;transition:border-color .25s,box-shadow .25s}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#909589;opacity:1}.contact-field input:focus,.contact-field textarea:focus{border-color:#7b8d45;box-shadow:0 1px 0 #7b8d45}.contact-field:focus-within label{color:#657831}
.contact-field input:user-invalid,.contact-field textarea:user-invalid{border-color:#9c5c49}.contact-field textarea{resize:vertical;min-height:104px;max-height:400px}
.contact-project-type{padding:0;margin:25px 0;border:0}.contact-type-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.contact-type-options label{position:relative;cursor:pointer}.contact-type-options input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.contact-type-options span{display:block;padding:9px 13px;border:1px solid #cdd2c3;border-radius:30px;font-size:12px;transition:background .2s,border-color .2s,color .2s}.contact-type-options input:checked+span{background:#1D211E;border-color:#1D211E;color:#F6F4EF}.contact-type-options input:focus-visible+span{outline:2px solid #81944c;outline-offset:3px}.contact-type-options label:hover span{border-color:#7f8d69}
.contact-message-field{margin-bottom:16px}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.contact-submit-area{padding:9px 0;position:relative}.contact-submit{width:100%;min-height:66px;background:#BCCF73;border:0;border-radius:7px;padding:19px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:17px;letter-spacing:-.015em;color:#1D211E;transition:background .25s;transform-origin:center}.contact-submit>span:last-child{font-size:26px;line-height:1}.contact-submit:hover{background:#c6d889}.contact-submit:disabled{cursor:not-allowed;opacity:.6}.contact-submit:focus-visible{outline:2px solid #1D211E;outline-offset:4px}
.contact-form-status{font-size:13px;line-height:1.5;color:#6a725c;margin:0}.contact-form-status:empty{display:none}.contact-privacy{font-size:11px;line-height:1.6;color:#747b6c;max-width:390px;margin:13px 0 0}.contact-privacy a{text-decoration:underline;text-underline-offset:3px}.contact-noscript{font-size:13px;line-height:1.6}
@media(min-width:1650px){.contact-scene{height:385px;margin-top:32px}.contact-window-main{max-width:none}.contact-mini-title{font-size:40px}.contact-mini-body{padding-top:24px;padding-bottom:24px}.contact-mini-art{min-height:170px}}
@media(min-width:701px) and (max-width:1050px){.contact-layout{padding-left:5%;padding-right:5%;gap:6%;grid-template-columns:1fr 1fr}.contact-concept h1{font-size:5.1vw}.contact-intro{font-size:14px}.contact-scene{height:290px;margin-top:25px}.contact-window-main{left:6%;width:90%;top:68px}.contact-window-code{left:-3%;width:55%;top:29px}.contact-window-type{right:-3%;top:2px;width:34%}.contact-window-detail{right:-1%;bottom:-1px;width:62%}.contact-window-type strong{font-size:40px}.contact-mini-title{font-size:28px}.contact-mini-art{min-height:116px}.contact-details{display:block}.contact-details nav{margin-top:10px}.contact-form-heading h2{font-size:20px}}
@media(max-width:700px){
 .contact-page>.header{padding:25px 24px;align-items:flex-start}.contact-page>.header .brand{font-size:19px}.contact-page>.header .nav{gap:24px;font-size:18px;padding:20px 0 0}.contact-page>.header .menu-toggle{font-size:14px;padding-top:1px}
 .contact-layout{display:block;padding:20px 24px 40px}.contact-eyebrow{font-size:10px;margin-bottom:20px}.contact-concept h1{font-size:clamp(40px,10.1vw,66px);letter-spacing:-.055em}.contact-intro{font-size:15px;margin-top:21px}.contact-scene{height:265px;margin:10px 0 4px;max-width:480px}.contact-window-main{width:81%;left:9%;top:54px}.contact-window-code{height:160px;left:0%;top:33px}.contact-code-content{font-size:8px;padding:13px}.contact-window-type{width:30%;height:112px;right:0;top:6px;padding:10px 13px}.contact-window-type strong{font-size:43px}.contact-window-detail{height:90px;bottom:0;right:0;width:52%;padding:8px 10px}.contact-window-detail svg{height:35px}.contact-mini-title{font-size:28px}.contact-mini-body{padding:14px 12px;gap:10px}.contact-mini-header{padding:11px 12px 0}.contact-mini-art{min-height:115px}.contact-mini-lines{margin-top:10px}.contact-mini-link{margin-top:12px}.contact-mini-kicker{font-size:5px}
 .contact-details{padding:14px 0 0;margin-top:20px;gap:12px}.contact-phone{font-size:14px}.contact-phone>span{display:none}.contact-details nav{gap:14px;font-size:11px}.contact-form-section{padding-top:42px}.contact-form-heading h2{font-size:24px}.contact-required{font-size:11px;margin-bottom:26px}.contact-field{margin-bottom:25px}.contact-project-type{margin-bottom:26px}.contact-submit{min-height:64px}.contact-form-status{font-size:12px}
}
@media(max-width:360px){.contact-layout{padding-left:20px;padding-right:20px}.contact-concept h1{font-size:10.2vw}.contact-details{flex-wrap:wrap;gap:0}.contact-details nav{gap:20px}.contact-scene{height:250px}.contact-mini-header>span:last-child{display:none}.contact-mini-title{font-size:25px}.contact-mini-art{min-height:104px}.contact-window-detail{width:59%}}
@media(prefers-reduced-motion:reduce){.contact-page *{scroll-behavior:auto!important}.contact-window,.contact-scene-world,.contact-submit{transition:none!important}.contact-details a span[aria-hidden]{transition:none}}
