/* Shared inquiry experience: ink, brush lettering, and a quiet writing surface. */
.qcontact { --qc-ink:#142d3b; --qc-paper:#f5f3ee; --qc-bg:#071924; --qc-title:#f3f4ee; --qc-text:#b5c6cc; --qc-muted:#abbcc3; --qc-rule:#e8f1f024; --qc-accent:#94c8d9; --qc-brush-ink:#f3f2e9; --qc-brush-rule:#a8c2cb66; --qc-arrow:#8ad6ed; --qc-panel-rule:#fff6; position:relative; isolation:isolate; overflow:hidden; background:var(--qc-bg); color:var(--qc-title); transition:background .45s,color .45s; font-family:var(--font-standard,"Hiragino Sans","Yu Gothic",sans-serif); scroll-margin-top:0; }
.qcontact::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:radial-gradient(ellipse at 0 100%,#23647733,transparent 60%),linear-gradient(120deg,#ffffff04,transparent 55%); }
.qcontact *, .qcontact *::before, .qcontact *::after { box-sizing:border-box; }
.qcontact [hidden] { display:none !important; }
.qc-shell { width:min(100%,1600px); margin:auto; padding:clamp(82px,8vh,108px) clamp(24px,5vw,84px) 28px; }
.qc-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:30px; border-bottom:1px solid var(--qc-rule); font-family:Arial,sans-serif; font-size:10px; letter-spacing:.2em; color:var(--qc-muted); }
.qc-top-controls { display:flex; align-items:center; gap:20px; }
.qc-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:start; gap:clamp(34px,5vw,80px); padding-top:42px; }
.qc-intro { min-width:0; }
.qc-eyebrow { margin:0 0 19px; color:var(--qc-accent); font-family:Arial,sans-serif; font-size:10px; letter-spacing:.2em; line-height:1.5; }
.qc-heading { margin:0; color:var(--qc-title); font-size:clamp(30px,3.1vw,52px); font-weight:500; line-height:1.55; letter-spacing:.02em; }
.qc-heading span { display:block; }
.qc-lead { margin:20px 0 0; color:var(--qc-text); font-size:13px; line-height:2.1; }
.qc-brush-link { position:relative; display:block; width:min(100%,clamp(280px,36vh,380px)); margin:12px 0 0 -10px; color:inherit; text-decoration:none; }
.qc-brush { display:block; width:100%; height:auto; overflow:visible; }
.qc-brush-ink, .qc-brush-tip { fill:var(--qc-brush-ink); }
.qc-paintbrush { opacity:0; filter:drop-shadow(2px var(--qc-shadow-y,4px) var(--qc-shadow-blur,2px) #020d173d); pointer-events:none; }
.is-brush-visible .qc-paintbrush { opacity:1; }
.qc-brush-fiber { fill:none; stroke:var(--qc-bg); stroke-width:1.5; opacity:.46; }
.qc-brush-mask { fill:none; stroke:#fff; stroke-width:100; stroke-linecap:butt; stroke-dasharray:100; stroke-dashoffset:100; }
.qc-brush-tail-mask { stroke-width:76; }
.qc-brush-dot { fill:#36bce9; transform-origin:444px 422px; transform:scale(0); }
.qc-brush-label { position:relative; display:flex; justify-content:space-between; align-items:center; gap:16px; width:min(100% - 30px,285px); margin:-5px 0 0 22px; padding:15px 0; border-bottom:1px solid var(--qc-brush-rule); font-size:13px; }
.qc-brush-label span:last-child { color:var(--qc-arrow); font-family:Arial,sans-serif; font-size:22px; transition:translate .2s; }
.qc-brush-link:hover .qc-brush-label span:last-child { translate:4px 0; }
.qc-brush-link:focus-visible { outline:2px solid var(--qc-arrow); outline-offset:8px; border-radius:4px; }
.qc-email { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:25px 0 0; color:var(--qc-text); font-size:11px; line-height:1.7; }
.qc-email a { color:var(--qc-title); font-family:Arial,sans-serif; font-size:13px; text-underline-offset:4px; }
.qc-panel { min-width:0; padding:clamp(24px,3vw,44px); border:1px solid var(--qc-panel-rule); border-radius:4px; background:var(--qc-paper); color:var(--qc-ink); box-shadow:0 28px 70px #020d1726; scroll-margin-top:90px; }
.qc-panel-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.qc-panel-top p { margin:0; color:#607680; font-family:Arial,sans-serif; font-size:10px; letter-spacing:.18em; }
.qc-steps { display:flex; gap:7px; }
.qc-step { display:flex; align-items:center; justify-content:center; width:26px; height:26px; border:1px solid #a9b9be; border-radius:50%; color:#758990; font-family:Arial,sans-serif; font-size:11px; }
.qc-step.is-active { border-color:#142d3b; background:#142d3b; color:#fff; }
.qc-form-heading { margin:0 0 9px; font-size:clamp(19px,1.8vw,26px); font-weight:600; letter-spacing:.015em; line-height:1.5; }
.qc-form-note { margin:0 0 25px; color:#627781; font-size:12px; line-height:1.8; }
.qc-form { margin:0; }
.qc-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.qc-form legend, .qc-label { display:block; width:100%; margin:0 0 10px; padding:0; color:#263e4a; font-size:12px; font-weight:600; line-height:1.6; }
.qc-optional { margin-left:8px; color:#76868c; font-size:10px; font-weight:400; }
.qc-topics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:26px; }
.qc-topic { position:relative; min-width:0; cursor:pointer; }
.qc-topic:last-child { grid-column:1/-1; }
.qc-topic input { position:absolute; top:0; left:0; width:1px; height:1px; opacity:0; }
.qc-topic span { display:flex; align-items:center; justify-content:space-between; gap:5px; min-height:47px; padding:10px 13px; border:1px solid #b9c5c7; border-radius:3px; background:#ffffff45; color:#3d5662; font-size:12px; line-height:1.5; transition:border-color .15s,background .15s; }
.qc-topic span::after { content:""; flex:none; width:12px; height:12px; border:1px solid #adbdc2; border-radius:50%; }
.qc-topic input:checked+span { border-color:#256279; background:#e3edf0; color:#153e51; }
.qc-topic input:checked+span::after { border:4px solid #256279; background:#f5f3ee; }
.qc-topic input:focus-visible+span { outline:2px solid #26708c; outline-offset:3px; }
.qc-field { margin-bottom:22px; }
.qc-form :is(input:not([type="radio"]),textarea,select) { display:block; width:100%; min-height:48px; margin:0; padding:12px 13px; border:1px solid #b9c5c7; border-radius:3px; background:#fff9; color:#17323f; font:inherit; font-size:14px; line-height:1.6; }
.qc-form textarea { min-height:128px; resize:vertical; }
.qc-form textarea::placeholder { color:#89999e; font-size:12px; }
.qc-form :is(input,textarea,select):focus-visible { outline:2px solid #287b98; outline-offset:2px; border-color:#287b98; }
.qc-hint { display:block; margin-top:8px; color:#657981; font-size:11px; line-height:1.8; }
.qc-count { float:right; font-family:Arial,sans-serif; font-size:10px; color:#70868f; }
.qc-actions { display:flex; align-items:center; gap:14px; margin-top:26px; }
.qc-primary { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; min-height:52px; padding:14px 18px; border:1px solid #142d3b; border-radius:3px; background:#142d3b; color:#fff; font:inherit; font-size:13px; font-weight:500; cursor:pointer; transition:background .2s; }
.qc-primary:hover { background:#245269; }
.qc-primary:focus-visible, .qc-back:focus-visible { outline:2px solid #287b98; outline-offset:4px; }
.qc-primary:disabled { cursor:wait; opacity:.7; }
.qc-primary span:last-child { font-family:Arial,sans-serif; font-size:19px; }
.qc-back { flex:none; min-height:48px; padding:12px 7px; border:0; background:transparent; color:#49616c; font:inherit; font-size:12px; cursor:pointer; }
.qc-summary { margin:0 0 23px; padding:15px 16px; border-left:2px solid #357890; background:#e7eceb; }
.qc-summary small { color:#5c747f; font-size:10px; }
.qc-summary p { margin:5px 0 0; color:#244653; font-size:13px; line-height:1.7; }
.qc-field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.qc-extras { margin-top:4px; border-top:1px solid #19374729; border-bottom:1px solid #19374729; }
.qc-extras summary { padding:15px 0; font-size:12px; color:#49616c; cursor:pointer; }
.qc-extras .qc-field-row { padding-top:7px; }
.qc-data-note { margin:20px 0 0; color:#657981; font-size:10px; line-height:1.9; }
.qc-status { margin:16px 0 0; font-size:12px; line-height:1.8; color:#ad4237; }
.qc-status:empty { display:none; }
.qc-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden; }
.qc-success { padding:28px 0 16px; }
.qc-success-mark { display:grid; place-items:center; width:52px; height:52px; margin-bottom:24px; border:1px solid #7aa1a7; border-radius:50%; color:#276b7c; font-size:24px; }
.qc-success h3 { margin:0 0 17px; color:#173440; font-size:24px; line-height:1.7; font-weight:500; }
.qc-success p { margin:0 0 12px; color:#5c727b; font-size:13px; line-height:1.9; }
.qc-restart { margin-top:24px; padding:10px 0; border:0; border-bottom:1px solid #527581; background:transparent; color:#254c5e; font:inherit; font-size:12px; cursor:pointer; }
.qc-footer { display:flex; justify-content:space-between; gap:20px; margin-top:44px; padding-top:22px; border-top:1px solid var(--qc-rule); color:var(--qc-muted); font-family:Arial,sans-serif; font-size:9px; letter-spacing:.15em; line-height:1.7; }
.qc-footer a { color:var(--qc-text); font-family:var(--font-standard,sans-serif); font-size:11px; letter-spacing:0; text-decoration:none; }
body[data-time="day"] .qcontact { --qc-bg:#e9e8e2; --qc-title:#173848; --qc-text:#536a74; --qc-muted:#60757c; --qc-rule:#17384826; --qc-accent:#236a82; --qc-brush-ink:#173848; --qc-brush-rule:#17384859; --qc-arrow:#237a99; --qc-paper:#fbfaf6; --qc-panel-rule:#b4c5c066; }
body[data-time="day"] .qcontact::before { background:radial-gradient(ellipse at 0 100%,#a6c3c347,transparent 60%),linear-gradient(120deg,#ffffff40,transparent 55%); }
@media (max-width:1000px) { .qc-layout { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:30px; } .qc-shell { padding-inline:28px; } .qc-heading { font-size:29px; } .qc-panel { padding:25px; } }
@media (max-width:800px) {
  .qc-shell { padding:97px 24px 24px; } .qc-topline { padding-bottom:23px; font-size:9px; }
  .qc-layout { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:29px; }
  .qc-intro { position:relative; padding-right:42%; min-height:245px; } .qc-heading { font-size:clamp(24px,4vw,31px); } .qc-lead { margin-top:13px; font-size:12px; }
  .qc-brush-link { position:absolute; top:-10px; right:0; width:38%; margin:0; } .qc-brush-label { width:100%; margin:0; font-size:11px; }
  .qc-email { margin-top:22px; font-size:10px; } .qc-email a { font-size:12px; } .qc-panel { width:100%; padding:28px; } .qc-footer { margin-top:32px; }
}
@media (max-width:600px) {
  .qc-shell { padding:96px 20px 23px; } .qc-topline { font-size:8px; letter-spacing:.14em; } .qc-topline > span:first-child { max-width:135px; line-height:1.8; } .qc-top-controls { flex-direction:column; align-items:flex-end; gap:10px; } .qc-topline { align-items:flex-start; }
  .qc-intro { min-height:0; padding-right:0; } .qc-eyebrow { margin-bottom:12px; font-size:9px; } .qc-heading { font-size:clamp(26px,7vw,34px); } .qc-lead { font-size:12px; }
  .qc-brush-link { position:relative; top:auto; right:auto; width:min(72%,245px); margin:2px auto 0; } .qc-brush-label { margin:-8px 0 0; padding:12px 0; font-size:12px; }
  .qc-email { justify-content:center; margin-top:22px; } .qc-layout { gap:31px; } .qc-panel { padding:24px 19px; } .qc-panel-top { margin-bottom:19px; }
  .qc-form-heading { font-size:19px; } .qc-form-note { font-size:11px; } .qc-topics { gap:7px; } .qc-topic span { padding-inline:10px; font-size:11px; }
  .qc-field-row { grid-template-columns:minmax(0,1fr); gap:0; } .qc-footer { font-size:8px; }
}
@media (prefers-reduced-motion:reduce) { .qcontact, .qcontact *, .qcontact *::before, .qcontact *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } .qcontact .qc-brush-mask { stroke-dashoffset:0; } .qcontact .qc-brush-dot { transform:scale(1); } }

/* Correspondence: a folded envelope opens into a real, responsive form. */
@font-face { font-family:"Quuma Letter"; src:url("assets/fonts/yomogi-quuma-letter.woff2") format("woff2"); font-weight:400; font-display:swap; }
.qcontact { --qc-bg:#101e2b; --qc-title:#f1efe6; --qc-text:#bcc9cc; --qc-muted:#9dafb6; --qc-accent:#a9ced8; --qc-brush-ink:#f3f0e5; --qc-arrow:#6dc8e6; --qc-paper:#f1ece0; --qc-paper-light:#faf7ee; --qc-envelope:#e8e0cf; --qc-envelope-fold:#d6cbb5; --qc-ink:#243e48; --qc-desk-shadow:#02091165; }
.qcontact::before { background:radial-gradient(ellipse at 78% 35%,#8ca8b11c,transparent 60%),radial-gradient(ellipse at 0 100%,#23647729,transparent 65%); }
.qc-shell { max-width:1510px; }
.qc-layout { grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); }
.qc-eyebrow { font-size:9px; letter-spacing:.22em; }
.qc-heading { font-size:clamp(30px,3.05vw,48px); font-weight:400; line-height:1.65; letter-spacing:.015em; }
.qc-lead { font-size:12px; }
.qc-brush-link { width:min(100%,clamp(270px,34vh,350px)); margin-top:15px; }
.qc-brush-tip { fill:#263c40; }
.qc-paintbrush { filter:drop-shadow(2px 5px 3px #020d1745); }
.qc-motion-canvas { position:absolute; z-index:6; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; }
.qc-email { margin-top:24px; font-size:10px; }
.qc-email a { font-size:12px; }
.qc-mailroom { position:relative; min-width:0; perspective:1600px; }
.qc-envelope { position:relative; display:none; width:min(93%,520px); aspect-ratio:1.6; margin:104px auto 92px; padding:0; border:0; border-radius:4px; background:none; color:var(--qc-ink); text-align:left; font:inherit; cursor:pointer; isolation:isolate; perspective:1000px; filter:drop-shadow(0 24px 24px var(--qc-desk-shadow)); }
.has-letter-js .qc-envelope { display:block; }
.qc-envelope-back,.qc-envelope-front,.qc-envelope-flap,.qc-envelope-insert { position:absolute; display:block; inset:0; border-radius:4px; }
.qc-envelope-back { background:var(--qc-envelope-fold); box-shadow:inset 0 0 0 1px #ffffff30; }
.qc-envelope-insert { inset:7% 5% 3%; background:var(--qc-paper-light); border:1px solid #fff8; transition:transform .7s .2s cubic-bezier(.3,0,.2,1); }
.qc-envelope-front { z-index:2; background:linear-gradient(150deg,var(--qc-envelope),var(--qc-paper-light)); clip-path:polygon(0 0,50% 53%,100% 0,100% 100%,0 100%); box-shadow:inset 0 -1px 0 #25353c1f; }
.qc-envelope-front::after { content:""; position:absolute; inset:0; background:linear-gradient(32deg,transparent 49.6%,#67533c15 49.8%,transparent 50%),linear-gradient(-32deg,transparent 49.6%,#67533c12 49.8%,transparent 50%); }
.qc-envelope-flap { z-index:4; height:55%; background:linear-gradient(170deg,var(--qc-paper-light),var(--qc-envelope)); clip-path:polygon(0 0,100% 0,50% 100%); transform-origin:50% 0; backface-visibility:visible; transition:transform .85s cubic-bezier(.4,0,.2,1); }
.qc-envelope-seal { position:absolute; z-index:5; left:50%; top:45%; display:grid; place-items:center; width:54px; height:54px; border:1px solid #88a1ac50; border-radius:50%; background:radial-gradient(circle at 35% 25%,#3c5666,#162d3b 72%); color:#dfe4df; font-family:Georgia,serif; font-size:28px; line-height:1; box-shadow:0 3px 5px #17242e3d,inset 0 0 0 3px #253e4a,inset 0 0 0 4px #859eaa55; transform:translate(-50%,-50%); transition:opacity .25s,scale .3s; }
.qc-envelope-seal span { position:absolute; width:4px; height:4px; right:12px; bottom:13px; border-radius:50%; background:#53bada; }
.qc-envelope-address { position:absolute; z-index:3; bottom:14%; right:8%; color:#5d625a; font-family:"Quuma Letter",serif; font-size:16px; letter-spacing:.06em; }
.qc-envelope-caption { position:absolute; top:calc(100% + 29px); left:0; width:100%; display:flex; flex-direction:column; align-items:center; gap:12px; color:var(--qc-text); font-size:11px; letter-spacing:.04em; }
.qc-envelope-caption>span:last-child { color:var(--qc-title); border-bottom:1px solid var(--qc-brush-rule); padding-bottom:8px; }
.qc-envelope-caption span span { margin-left:14px; color:var(--qc-arrow); font-size:17px; }
.qc-envelope:focus-visible { outline:2px solid var(--qc-arrow); outline-offset:10px; }
.qc-envelope:hover .qc-envelope-seal { scale:1.05; }
.has-letter-js[data-letter-state="sealed"] .qc-panel { display:none; }
.qcontact[data-letter-state="opening"] .qc-envelope,.qcontact[data-letter-state="open"] .qc-envelope { position:absolute; z-index:3; top:0; left:3.5%; margin-top:104px; }
.qcontact[data-letter-state="opening"] .qc-envelope { pointer-events:none; }
.qcontact[data-letter-state="opening"] .qc-envelope-flap { transform:rotateX(180deg); z-index:0; }
.qcontact[data-letter-state="opening"] :is(.qc-envelope-seal,.qc-envelope-address,.qc-envelope-caption) { opacity:0; }
.qcontact[data-letter-state="opening"] .qc-envelope-seal { scale:.85; }
.qcontact[data-letter-state="opening"] .qc-envelope-insert { transform:translateY(-38%); }
.qcontact[data-letter-state="open"] .qc-envelope { visibility:hidden; pointer-events:none; }
.qc-panel { position:relative; z-index:2; border:1px solid #ffffff61; border-radius:3px; background:radial-gradient(ellipse at 38% 25%,var(--qc-paper-light),var(--qc-paper)); color:var(--qc-ink); box-shadow:0 24px 60px var(--qc-desk-shadow),inset 0 0 35px #a28c5310; transform-origin:50% 48%; }
.qc-panel::before { content:""; position:absolute; z-index:-1; inset:0; border-radius:inherit; pointer-events:none; opacity:.055; 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%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.7'/%3E%3C/svg%3E"); }
.qc-panel::after { content:""; position:absolute; z-index:-1; inset:9px; border:1px solid #997f4510; pointer-events:none; }
.qc-panel-top { margin-bottom:25px; padding-bottom:19px; border-bottom:1px solid #243e481c; }
.qc-panel-top p { font-size:9px; }
.qc-step { width:23px; height:23px; font-size:10px; }
.qc-form-heading { margin-bottom:12px; font-family:"Quuma Letter",serif; font-size:clamp(22px,2vw,29px); font-weight:400; line-height:1.6; letter-spacing:0; }
.qc-form-heading:focus { outline:none; }
.qc-written { display:inline-block; }
.qc-form-note { font-size:11px; line-height:1.9; }
.qc-form legend,.qc-label { font-size:11px; font-weight:500; line-height:1.7; }
.qc-topic>span { border-color:#83949652; border-radius:2px; background:#ffffff15; font-size:11px; line-height:1.6; }
.qc-topic>span::after { display:none; }
.qc-topic input:checked+span { border-color:#2b6a7c80; background:#c6dce329; }
.qc-form :is(input:not([type="radio"]),textarea,select) { padding:10px 5px; border:0; border-bottom:1px solid #82959280; border-radius:0; background:#ffffff15; line-height:1.8; box-shadow:none; }
.qc-form textarea { min-height:128px; padding:4px 5px; background:repeating-linear-gradient(transparent 0,transparent 31px,#7f969426 31px,#7f969426 32px); line-height:32px; }
.qc-hint { font-size:10px; }
.qc-count { margin-top:2px; font-size:9px; font-weight:400; }
.qc-primary { border-radius:2px; background:#233e49; border-color:#233e49; font-size:12px; }
.qc-back { font-size:11px; }
.qc-summary { border-left-color:#7596a0; background:#597f8b0a; }
.qc-summary small { font-size:9px; }
.qc-summary p { font-size:12px; }
.qc-extras summary { font-size:11px; }
.qc-success h3 { font-family:"Quuma Letter",serif; font-size:27px; font-weight:400; }
body[data-time="day"] .qcontact { --qc-bg:#e9e8e2; --qc-title:#253e47; --qc-text:#5b6d71; --qc-accent:#497984; --qc-brush-ink:#24464e; --qc-paper:#f5f0e6; --qc-paper-light:#fffdf5; --qc-envelope:#f0e9da; --qc-envelope-fold:#dcd2bf; --qc-desk-shadow:#45545027; }
body[data-time="day"] .qcontact::before { background:radial-gradient(ellipse at 78% 20%,#ffffffb3,transparent 60%),radial-gradient(ellipse at 0 100%,#a6c3c347,transparent 65%); }
@media (max-width:1100px) { .qc-layout { gap:30px; } .qc-heading { font-size:29px; } .qc-panel { padding:29px 25px; } .qc-envelope { margin-top:125px; } .qcontact[data-letter-state="opening"] .qc-envelope { margin-top:125px; } }
@media (max-width:800px) { .qc-layout { grid-template-columns:minmax(0,1fr); } .qc-heading { font-size:clamp(24px,4vw,31px); } .qc-brush-link { width:38%; margin-top:0; } .qc-envelope { width:min(80%,460px); margin-top:38px; margin-bottom:85px; } .qcontact[data-letter-state="opening"] .qc-envelope { left:10%; margin-top:38px; } .qc-panel { padding:30px; } }
@media (max-width:600px) { .qc-shell { padding-inline:22px; } .qc-eyebrow { font-size:8px; } .qc-heading { font-size:clamp(24px,6.5vw,33px); line-height:1.7; } .qc-lead { font-size:11px; } .qc-brush-link { width:min(65%,230px); margin:12px auto 0; } .qc-brush-label { margin:-2px 0 0; } .qc-email { font-size:9px; } .qc-envelope { width:94%; margin-top:25px; margin-bottom:85px; } .qcontact[data-letter-state="opening"] .qc-envelope { left:3%; margin-top:25px; } .qc-envelope-seal { width:44px; height:44px; font-size:24px; } .qc-envelope-seal span { right:9px; bottom:10px; } .qc-envelope-address { font-size:13px; } .qc-panel { padding:27px 21px; } .qc-panel-top { margin-bottom:20px; padding-bottom:16px; } .qc-form-heading { font-size:24px; } .qc-form-note { font-size:10px; } .qc-topic>span { font-size:10px; } .qc-label { font-size:10px; } .qc-count { font-size:8px; } .qc-back { font-size:10px; } .qc-primary { padding-inline:13px; font-size:11px; } }
.qcontact[data-letter-state="sending"] .qc-envelope { position:absolute; z-index:4; top:22px; left:3.5%; margin-top:50px; pointer-events:none; }
.qcontact[data-letter-state="sending"] .qc-envelope-caption { display:none; }
@media (max-width:800px) { .qcontact[data-letter-state="sending"] .qc-envelope { left:10%; } }
@media (max-width:600px) { .qcontact[data-letter-state="sending"] .qc-envelope { left:3%; } }
.qc-form textarea[name="message"] { background:repeating-linear-gradient(transparent 0,transparent 31px,#7f969426 31px,#7f969426 32px); line-height:32px; }
@media (max-width:600px) { .qc-form :is(input:not([type="radio"]),textarea,select) { font-size:16px; } .qc-topic>span { font-size:11px; } .qc-hint,.qc-form-note { font-size:11px; } }

/* Original silver monogram and thick, ivory correspondence stationery. */
.qc-original-q { filter:drop-shadow(0 2px 1px #0000001c); }
.qc-metal-pen { opacity:1; filter:drop-shadow(1px 4px 3px #020d172e); }
.qc-pen-dot { filter:brightness(1.25) drop-shadow(0 0 18px rgba(41,193,236,.75)) drop-shadow(0 0 50px rgba(41,193,236,.5)); }
.qcontact { --qc-paper:#eee7d8; --qc-paper-light:#fcf9f0; --qc-envelope:#eae2cf; --qc-envelope-fold:#cdbfa1; }
.qc-envelope { box-shadow:0 1px 0 #fff8,0 2px 0 #d6c8ae,0 3px 0 #eee7d8,0 4px 1px #af9f801a; filter:drop-shadow(0 25px 28px var(--qc-desk-shadow)); }
.qc-envelope-back { box-shadow:inset 0 1px 1px #fff7,inset 0 -1px 1px #7d6c4833; }
.qc-envelope-front { background:linear-gradient(125deg,#f3eddf,var(--qc-paper-light) 50%,#eae1ce); }
.qc-envelope-front::before { content:"Quuma"; position:absolute; left:8%; bottom:14%; font-family:Georgia,serif; font-size:23px; letter-spacing:.045em; color:#b0a58e; text-shadow:0 1px 0 #ffffffcf,0 -1px 0 #74664b29; }
.qc-envelope-flap { background:linear-gradient(155deg,#fffcf3 5%,#eee7d7 70%,#e0d4bc); filter:drop-shadow(0 1px 1px #69583c12); }
.qc-envelope-seal { width:62px; height:61px; border-radius:48% 52% 49% 51%; border-color:#c9b5909c; background:radial-gradient(ellipse at 30% 20%,#4b626a,#1a323b 63%,#0f222b); box-shadow:0 3px 3px #17242e4d,0 5px 10px #17242e1f,inset 0 0 0 3px #415259,inset 0 0 0 4px #bea9836b,inset 0 1px 3px #ffffff2b; }
.qc-envelope-seal>svg { display:block; width:31px; height:auto; overflow:hidden; filter:drop-shadow(0 1px 1px #0004); }
.qc-envelope-address { color:#83785e; text-shadow:0 1px 0 #fff8; letter-spacing:.04em; }
.qc-panel { border-color:#fffcf1b3; border-radius:2px; box-shadow:0 1px 0 #ffffff80,0 2px 0 #d9cdb6,0 3px 0 #eee6d7,0 4px 0 #b5a9903b,0 30px 70px var(--qc-desk-shadow),inset 0 0 40px #b29d6521; }
.qc-panel::before { opacity:.065; }
.qc-panel::after { border-color:#b39c681c; inset:12px; }
.qc-panel-top { border-bottom-color:#9c88613d; }
.qc-topic>span { border-color:#91867152; }
.qc-primary { background:linear-gradient(145deg,#314c56,#203944); border-color:#203944; box-shadow:inset 0 1px 0 #ffffff19,0 2px 2px #2c3e4710; }
body[data-time="day"] .qcontact { --qc-paper:#f1ebdd; --qc-paper-light:#fffdf6; --qc-envelope:#f3eddf; --qc-envelope-fold:#d6c8ad; }
body[data-time="day"] .qc-envelope-front { background:linear-gradient(125deg,#f7f1e5,var(--qc-paper-light) 50%,#eee5d1); }
@media (max-width:600px) { .qc-envelope-seal { width:49px; height:49px; } .qc-envelope-seal>svg { width:25px; } .qc-envelope-front::before { font-size:18px; } }

/* Photographic courtyard and cotton-paper envelope; interactive layers stay separate. */
.qcontact { --qc-courtyard:url("assets/contact/stone-courtyard-night.png"); --qc-bg:#15252c; --qc-scene-height:100svh; --qc-desk-shadow:#02091159; }
.qcontact::before { inset:0 0 auto; height:var(--qc-scene-height); background:var(--qc-courtyard) center var(--qc-scene-y,0px)/cover no-repeat; mask-image:linear-gradient(#000 0 91%,transparent 100%); }
.qc-topline { border-bottom:0; padding-bottom:0; }
.qc-layout { padding-top:26px; }
.qc-heading,.qc-lead,.qc-email,.qc-envelope-caption,.qc-footer { text-shadow:0 1px 10px #07131d40; }
.qc-brush-link { width:min(100%,clamp(230px,29vh,310px)); }
@media (min-width:801px) { .qc-brush-link { width:min(100%,clamp(280px,36vh,380px)); } }
.qc-brush::before { content:none; }
.qc-original-q { filter:drop-shadow(0 5px 2px #0000001c); }
.qc-envelope { --qc-envelope-offset:170px; aspect-ratio:1520/876; margin-top:var(--qc-envelope-offset); border-radius:1px; box-shadow:0 1px 1px #473b2a33; filter:brightness(.91) drop-shadow(0 13px 11px var(--qc-desk-shadow)); }
.qc-envelope-back { border-radius:1px; background:linear-gradient(160deg,#e4dac5,#f6f0e1); }
.qc-envelope-front { border-radius:1px; background:url("assets/contact/envelope-paper.png") center/106% 111.416% no-repeat; clip-path:polygon(0 0,50% 68.5%,100% 0,100% 100%,0 100%); }
.qc-envelope-front::before,.qc-envelope-front::after { content:none; }
.qc-envelope-flap { height:68.5%; border-radius:1px; background:url("assets/contact/envelope-paper.png") 50% 13.3%/106% 162.667% no-repeat; filter:none; }
.qc-envelope-insert { z-index:1; inset:7%; background:linear-gradient(130deg,#fcf9f0,#eee7d8); border-color:#fffcf199; box-shadow:0 2px 4px #564e3614; transition:none; }
.qcontact[data-letter-state="opening"] .qc-envelope-flap { transition-duration:.55s; }
.qcontact[data-letter-state="opening"] .qc-envelope,.qcontact[data-letter-state="open"] .qc-envelope { left:calc((100% - min(93%,520px)) / 2); }
.qc-envelope-seal { top:68.5%; width:18%; height:auto; aspect-ratio:1; border:0; border-radius:0; background:url("assets/contact/wax-seal-red.png") center/contain no-repeat; box-shadow:none; }
.qc-envelope-seal>svg { width:38%; margin-top:-10%; opacity:.68; filter:brightness(.28) sepia(1) saturate(2) drop-shadow(0 1px 0 #ff968366); }
.qc-envelope-address { bottom:9%; right:6%; font-size:14px; color:#77664a; }
.qcontact[data-letter-state="opening"] .qc-envelope,.qcontact[data-letter-state="open"] .qc-envelope { margin-top:var(--qc-envelope-offset); }
.qc-envelope-caption { gap:10px; }
body[data-time="day"] .qcontact { --qc-courtyard:url("assets/contact/stone-courtyard-day.png"); --qc-bg:#d7d9d4; --qc-title:#193541; --qc-text:#344c55; --qc-muted:#425b64; --qc-accent:#37788b; --qc-desk-shadow:#42453d30; }
body[data-time="day"] .qcontact::before { background:var(--qc-courtyard) center var(--qc-scene-y,0px)/cover no-repeat; }
body[data-time="day"] .qc-envelope-front { background:url("assets/contact/envelope-paper.png") center/106% 111.416% no-repeat; }
body[data-time="day"] .qc-envelope { filter:drop-shadow(0 13px 11px var(--qc-desk-shadow)); }
body[data-time="day"] :is(.qc-heading,.qc-lead,.qc-email,.qc-envelope-caption,.qc-footer) { text-shadow:0 1px 8px #ffffff7a; }
@media (max-width:800px) {
  .qc-layout { grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); gap:18px 15px; }
  .qc-intro,.qc-mailroom { display:contents; }
  .qc-heading,.qc-lead,.qc-email { grid-column:1/-1; margin:0; }
  .qc-heading { grid-row:1; } .qc-lead { grid-row:2; }
  .qc-brush-link { grid-row:3; grid-column:1; position:relative; width:100%; top:auto; right:auto; margin:12px 0 0; }
  .qc-brush-label { width:100%; margin:0; padding:13px 0; font-size:11px; white-space:nowrap; }
  .qc-brush-label span:last-child { font-size:17px; }
  .qc-email { grid-row:4; justify-content:flex-start; margin-top:10px; }
  .qc-envelope { grid-row:3; grid-column:2; width:100%; margin:var(--qc-envelope-offset,12px) 0 60px; align-self:start; }
  .qcontact[data-letter-state="opening"] .qc-envelope,.qcontact[data-letter-state="open"] .qc-envelope { position:relative; left:auto; top:auto; margin-top:var(--qc-envelope-offset,12px); }
  .qc-envelope-caption { top:calc(100% + 15px); gap:6px; font-size:11px; line-height:1.6; color:var(--qc-title); text-align:center; }
  .qc-envelope-address { font-size:10px; }
  .qc-panel { grid-row:5; grid-column:1/-1; width:100%; }
  .qc-footer { margin-top:32px; }
  .qcontact::before { background-position:58% var(--qc-scene-y,0px); }
  body[data-time="day"] .qcontact::before { background-position:58% var(--qc-scene-y,0px); }
}
@media (max-width:360px) { .qc-layout { column-gap:10px; } .qc-brush-label { gap:3px; font-size:10px; } .qc-envelope-caption { font-size:10px; } .qc-envelope-address { font-size:8px; } }

/* Desktop correspondence fits the viewport, including optional contact details. */
@media (min-width:1200px) {
  .qc-shell { padding-top:clamp(42px,6.5vh,64px); padding-bottom:22px; }
  .qc-layout { padding-top:22px; }
  .qc-panel { padding:24px 28px; }
  .qc-panel-top { margin-bottom:12px; padding-bottom:10px; }
  .qc-form-heading { margin-bottom:8px; font-size:24px; line-height:1.5; }
  .qc-form-note { margin-bottom:12px; }
  .qc-form legend,.qc-label { margin-bottom:7px; }
  .qc-topics { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-bottom:16px; }
  .qc-topic:last-child { grid-column:2/-1; }
  .qc-topic span { min-height:39px; padding:8px 10px; }
  .qc-field { margin-bottom:12px; }
  .qc-form :is(input:not([type="radio"]),textarea,select) { min-height:42px; padding-block:8px; }
  .qc-form textarea[name="message"] { min-height:112px; height:112px; background:repeating-linear-gradient(transparent 0,transparent 27px,#7f969426 27px,#7f969426 28px); line-height:28px; }
  .qc-form fieldset[data-contact-stage="2"] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:14px; }
  .qc-form fieldset[data-contact-stage="2"]>.qc-field-row { display:contents; }
  .qc-form fieldset[data-contact-stage="2"]>:is(h3,.qc-form-note,.qc-summary,.qc-extras,.qc-data-note,.qc-consent,.qc-actions) { grid-column:1/-1; }
  .qc-summary { margin-bottom:14px; padding:10px 13px; }
  .qc-extras summary { padding-block:10px; }
  .qc-extras .qc-field-row { padding-top:5px; }
  .qc-data-note { margin-top:12px; }
  .qc-actions { margin-top:16px; }
  .qc-primary { min-height:46px; padding:11px 16px; }
  .qc-footer { margin-top:20px; padding-top:14px; }
}

.qc-data-note a { display:inline; color:#28687b; text-underline-offset:3px; }
.qc-consent-label { display:flex; align-items:flex-start; gap:10px; margin-top:8px; color:#425d67; font-size:11px; line-height:1.8; cursor:pointer; }
.qc-form .qc-consent-label input { flex:none; appearance:auto; width:18px; min-height:18px; height:18px; margin:2px 0 0; padding:0; border-radius:2px; accent-color:#28687b; }
