/* The circle and phone use one proportional scene; content stays in normal flow. */
body.contact-header .topbar,body.contact-header .mobile-menu { background:#14242d; color:#f5ead7; border-bottom-color:#f5ead72e; }
body.contact-header #menu-toggle { color:#f1e7d3; }
body.contact-header::before { opacity:.08; }
body.contact-header .floating-controls button { background:#14242d; color:#f5ead7; border-color:#f5ead740; }
.contact-cream { background:#14242d; color:#f5ead7; padding:clamp(110px,15svh,155px) 6vw 90px; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:20px; align-items:start; min-height:100svh; }
.contact-cream .section-side { color:#ef612d; }
.contact-cream .contact-inner { width:100%; min-width:0; z-index:2; }
.contact-cream h2 { font-size:clamp(70px,10vw,164px); font-weight:700; line-height:.84; letter-spacing:-.075em; margin:0 0 24px; }
.contact-cream h2 em { color:inherit; }
.contact-cream .contact-intro { font-size:clamp(18px,1.8vw,28px); line-height:1.35; margin:0 0 24px; }
.contact-cream .contact-links { max-width:470px; gap:0; }
.contact-cream .contact-links>a,.contact-cream .email-row,.contact-cream .awaiting { justify-content:flex-start; gap:18px; padding:14px 0; font-size:clamp(16px,1.45vw,22px); border-color:#f1e7d32e; }
.contact-icon { width:26px; height:26px; flex:none; stroke-width:1.9; }
.contact-cream .email-row>a { white-space:nowrap; }
.contact-cream .email-row>a span,.contact-cream .contact-links>a span span { margin-left:10px; }
.contact-cream #copy-email { margin-left:auto; flex:none; font-size:13px; padding:9px 15px; }
.contact-cream .awaiting { border-bottom:0; }
.contact-cream .awaiting small { margin-left:auto; font-size:11px; }
.cream-phone-scene { position:relative; width:120%; margin:-48px 0 0 -10%; aspect-ratio:1; pointer-events:none; align-self:start; }
.cream-phone-sun { position:absolute; width:80%; aspect-ratio:1; border-radius:50%; background:#ef5926; top:0; right:8%; }
.cream-phone-sun::after { content:""; position:absolute; inset:0; border-radius:inherit; opacity:.14; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23g)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
.cream-phone { position:absolute; width:120%; max-width:none; right:-7%; bottom:-3%; filter:drop-shadow(0 10px 7px #00000045); }
.contact-cream footer { left:6vw; right:6vw; bottom:26px; z-index:3; font-size:11px; }
.contact-cream a:focus-visible,.contact-cream button:focus-visible { outline:2px solid #f1e7d3; outline-offset:5px; }
@media(min-width:851px) and (max-height:760px){
 .contact-cream { padding-top:92px; padding-bottom:65px; }
 .contact-cream h2 { font-size:clamp(66px,9vw,130px); margin-bottom:20px; }
 .contact-cream .contact-intro { margin-bottom:18px; }
 .cream-phone-scene { width:min(112%,68svh); justify-self:center; }
}
@media(max-width:1000px) and (min-width:851px){
 .contact-cream .contact-links>a,.contact-cream .email-row,.contact-cream .awaiting { gap:10px; font-size:15px; }
 .contact-cream .email-row { flex-wrap:wrap; }
 .contact-cream #copy-email { margin-left:36px; }
}
@media(max-width:850px){
 .contact-cream { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:36px 24px 84px; }
 .contact-cream .section-side { position:static; writing-mode:horizontal-tb; font-size:11px; font-weight:700; letter-spacing:.28em; margin:0 0 24px; }
 .contact-cream .section-side .jp-translation::after { inset:auto auto calc(100% + 11px) 0; transform:translateY(5px); }
 .contact-cream .section-side .jp-translation:hover::after,.contact-cream .section-side .jp-translation:focus::after { transform:translateY(0); }
 .contact-cream h2 { font-size:clamp(62px,12vw,96px); margin-bottom:22px; }
 .contact-cream .contact-intro { font-size:18px; margin-bottom:20px; }
 .contact-cream .contact-links { max-width:560px; }
 .contact-cream .contact-links>a,.contact-cream .email-row,.contact-cream .awaiting { gap:12px; font-size:16px; padding:12px 0; }
 .contact-icon { width:22px; height:22px; }
 .contact-cream .email-row { flex-wrap:wrap; }
 .contact-cream #copy-email { padding:8px 12px; }
 .contact-cream .email-row>a span { margin-left:2px; }
 .cream-phone-scene { width:min(100%,470px); margin:26px auto 0; aspect-ratio:1.25; }
 .cream-phone-sun { width:72%; right:9%; }
 .cream-phone { width:110%; right:-5%; bottom:-7%; }
 .contact-cream footer { left:24px; right:24px; bottom:24px; flex-direction:row; align-items:center; font-size:10px; }
 .contact-cream footer a { margin-right:0; }
}
@media(max-width:390px){
 .contact-cream .email-row { gap:9px; }
 .contact-cream .email-row>a { font-size:15px; }
 .contact-cream #copy-email { margin-left:31px; }
}
