.buying-form-page{background:#0d0d0c;color:#eee7dc}
.buying-form-page .site-header{position:fixed;background:rgba(10,10,9,.93);border-color:rgba(200,174,132,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.buying-form-page .site-header nav a:not(.nav-cta):after{background:#d8c8ad}
.buying-form-page .nav-cta{border-color:#b89a6a;background:#a6783e;color:#fff}
.buying-form-page .menu-button span{background:#e5dccd}
.form-hero{padding:190px 8vw 90px;min-height:520px;display:flex;align-items:flex-end;background:linear-gradient(110deg,rgba(8,8,7,.96) 0%,rgba(17,16,14,.91) 48%,rgba(30,23,16,.76) 100%),url('assets/camera-wall-q92.webp') center/cover no-repeat;border-bottom:1px solid rgba(196,165,116,.35);position:relative;overflow:hidden}
.form-hero:after{content:"";position:absolute;inset:auto 0 0;height:10px;background:linear-gradient(#62421f,#2c1b0d 25%,#83603a 45%,#3b2613 78%,#19110a)}
.form-hero-inner{position:relative;z-index:1;max-width:780px}
.form-kicker{margin:0 0 22px;color:#c2a16d;font-size:11px;letter-spacing:.18em}
.form-hero h1{font:600 clamp(48px,6vw,82px)/1.35 "Noto Serif JP",serif;letter-spacing:.03em;margin:0 0 24px;color:#f0e8da}
.form-hero p:last-child{max-width:640px;margin:0;color:#bdb2a1;font-size:14px;line-height:2}
.form-section{display:grid;grid-template-columns:minmax(260px,34%) minmax(0,66%);gap:7vw;padding:110px 8vw 130px;background:#151513}
.form-guide{padding-top:10px;position:sticky;top:120px;align-self:start}
.guide-number{font:600 11px/1 Cinzel,serif;letter-spacing:.22em;color:#b99762;margin:0 0 28px}
.form-guide h2{font:600 clamp(30px,3.2vw,46px)/1.55 "Noto Serif JP",serif;color:#eee5d7;margin:0 0 26px}
.form-guide>p{font-size:13px;color:#aaa397;line-height:2;margin:0 0 28px;max-width:360px}
.form-guide ul{list-style:none;padding:22px 0 0;margin:0;border-top:1px solid rgba(255,255,255,.12);max-width:360px}
.form-guide li{font-size:12px;color:#c1b7a7;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.form-card{background:#efe8dc;color:#25221e;border:1px solid rgba(199,164,110,.32);box-shadow:0 30px 80px rgba(0,0,0,.28);padding:54px clamp(28px,5vw,68px)}
.field-group{margin:0 0 34px;border:0;padding:0;min-width:0}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field-group label,.field-group legend{display:block;font:600 14px/1.6 "Noto Serif JP",serif;letter-spacing:.03em;margin:0 0 11px;color:#29251f}
.field-group label span,.field-group legend span{display:inline-block;margin-left:8px;font:700 9px/1 "Noto Sans JP",sans-serif;letter-spacing:.08em;color:#7d5728;border:1px solid #b99362;padding:4px 6px;vertical-align:2px}
.field-group label small{font:500 10px/1 "Noto Sans JP",sans-serif;color:#81786d;margin-left:8px}
.field-group input,.field-group select,.field-group textarea{width:100%;border:1px solid #bcb2a4;background:#f8f4ed;color:#25221e;border-radius:0;padding:15px 14px;font:500 14px/1.65 "Noto Sans JP",sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
.field-group textarea{resize:vertical;min-height:120px}
.field-group input::placeholder,.field-group textarea::placeholder{color:#9a9288;font-weight:400}
.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:#9f7542;box-shadow:0 0 0 3px rgba(159,117,66,.12)}
.choice-grid{display:grid;gap:10px}
.choice-grid.two{grid-template-columns:1fr 1fr}
.choice{position:relative;margin:0!important;cursor:pointer}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice>span{display:block!important;margin:0!important;padding:14px 16px!important;border:1px solid #bcb2a4!important;background:#f8f4ed!important;color:#4a433a!important;font:600 13px/1.4 "Noto Sans JP",sans-serif!important;text-align:center;letter-spacing:.02em!important}
.choice input:checked+span{border-color:#8e6736!important;background:#30291f!important;color:#f4eadb!important}
.form-notice{border-top:1px solid #c9bfb1;padding-top:24px;margin:8px 0 28px}
.form-notice p{margin:0;font-size:11px;line-height:1.9;color:#746c61}
.form-submit{width:100%;min-height:64px;border:1px solid #b58d55;background:#29231b;color:#f6edde;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;font:700 13px/1.4 "Noto Sans JP",sans-serif;letter-spacing:.08em;cursor:pointer;transition:.25s}
.form-submit:hover{background:#8b6332}
.form-submit:disabled{opacity:.55;cursor:wait}
.form-submit span{font-size:18px}
.form-status{display:none;margin:18px 0 0;padding:14px 16px;border:1px solid #b99867;background:#f7f0e5;color:#563e22;font-size:12px;line-height:1.8}
.form-status.visible{display:block}
.form-status.success{border-color:#78836a;color:#44503b;background:#eff3ea}
.form-status.error{border-color:#a46e62;color:#6d3a31;background:#f7ece9}
.form-footer-note{text-align:center;padding:100px 24px 110px;background:linear-gradient(135deg,#5c401e,#1b150d 72%,#0d0d0c);border-top:1px solid #8b6a43;border-bottom:1px solid #8b6a43}
.form-footer-note>p{font-size:10px;letter-spacing:.2em;color:#c9aa75;margin:0 0 20px}
.form-footer-note h2{font:600 clamp(34px,4.8vw,58px)/1.55 "Noto Serif JP",serif;margin:0 0 34px;color:#f1e8d9}
.form-footer-note a{display:inline-flex;gap:18px;align-items:center;border-bottom:1px solid #b89a6a;padding:8px 0;color:#d8c7ae;font-size:12px;font-weight:700}
@media(max-width:900px){
  .buying-form-page .site-header nav{background:rgba(15,15,13,.99)}
  .form-hero{padding:145px 24px 70px;min-height:460px}
  .form-section{grid-template-columns:1fr;padding:72px 24px 90px;gap:42px}
  .form-guide{position:static}
  .form-card{padding:42px 28px}
}
@media(max-width:600px){
  .buying-form-page .site-header{height:68px;padding:0 18px}
  .buying-form-page .lux-wordmark{font-size:29px!important}.buying-form-page .lux-lockup small{font-size:11px!important;margin-bottom:6px!important}
  .buying-form-page .menu-button{width:42px;height:42px;padding:8px}.buying-form-page .menu-button span{width:25px;margin:7px auto}
  .buying-form-page .site-header nav{top:68px;inset:68px 0 auto;padding:22px 24px 28px;gap:0}.buying-form-page .site-header nav a{padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.1)}.buying-form-page .site-header nav .nav-cta{margin-top:16px;text-align:center;border:1px solid #d1ad66}
  .form-hero{padding:126px 22px 58px;min-height:400px;background-position:60% center}
  .form-kicker{font-size:9px;margin-bottom:17px}
  .form-hero h1{font-size:36px;line-height:1.48;margin-bottom:18px}
  .form-hero p:last-child{font-size:12px;line-height:1.9}
  .form-section{padding:58px 18px 74px;gap:32px}
  .form-guide{padding:0 4px}
  .guide-number{margin-bottom:18px}
  .form-guide h2{font-size:28px;margin-bottom:18px}
  .form-guide>p{font-size:12px;margin-bottom:22px}
  .form-guide ul{padding-top:16px}.form-guide li{font-size:11px;padding:8px 0}
  .form-card{padding:34px 20px}
  .field-group{margin-bottom:28px}
  .field-row{grid-template-columns:1fr;gap:0}
  .field-group label,.field-group legend{font-size:13px}
  .field-group input,.field-group select,.field-group textarea{font-size:16px;padding:14px 13px}
  .field-group textarea{min-height:110px}
  .form-submit{min-height:62px}
  .form-footer-note{padding:76px 22px 84px}
  .form-footer-note h2{font-size:31px}
}

/* 4-step buying form */
.form-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0 0 30px;margin:0 0 42px;border-bottom:1px solid #c9bfb1;gap:0}
.form-steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;color:#998f82;text-align:center;font-family:"Noto Sans JP",sans-serif;font-size:10px;font-weight:600}
.form-steps li:not(:last-child):after{content:"";position:absolute;top:14px;left:63%;width:74%;height:1px;background:#cfc5b7}
.form-steps li span{position:relative;z-index:1;display:grid;place-items:center;width:29px;height:29px;border:1px solid #c2b6a5;border-radius:50%;background:#efe8dc;color:#7e7569;font:600 10px/1 Cinzel,serif}
.form-steps li b{font-weight:600;white-space:nowrap}
.form-steps li.is-active,.form-steps li.is-complete{color:#6c4d28}
.form-steps li.is-active span{border-color:#8e6736;background:#30291f;color:#fff6e8}
.form-steps li.is-complete span{border-color:#a77d48;background:#b38a55;color:#fff}
.form-step-panel[hidden]{display:none!important}
.form-step-panel.is-active{animation:formFade .24s ease both}
@keyframes formFade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.step-eyebrow{margin:0 0 10px;color:#9a7041;font:600 10px/1 Cinzel,serif;letter-spacing:.18em}
.form-step-panel>h2{margin:0 0 12px;color:#29251f;font:600 clamp(25px,3vw,34px)/1.5 "Noto Serif JP",serif;letter-spacing:.02em}
.step-lead{margin:0 0 34px;color:#746c61;font-size:12px;line-height:1.9}
.step-actions{margin-top:6px}
.step-actions.split{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(220px,1.35fr);gap:12px;align-items:stretch}
.step-back{border:1px solid #bcb2a4;background:transparent;color:#5f574d;padding:15px 14px;font:600 11px/1.5 "Noto Sans JP",sans-serif;letter-spacing:.03em;cursor:pointer}
.step-back:hover{border-color:#8e6736;color:#6c4d28}
.confirm-list{margin:0 0 34px;border-top:1px solid #c5baaa}
.confirm-list>div{display:grid;grid-template-columns:135px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid #d6ccbd}
.confirm-list dt{font:600 11px/1.7 "Noto Serif JP",serif;color:#756b5e}
.confirm-list dd{margin:0;white-space:pre-wrap;font:600 13px/1.75 "Noto Sans JP",sans-serif;color:#2e2923;overflow-wrap:anywhere}
.photo-field input[type="file"]{padding:12px;background:#f8f4ed}
.field-help{margin:8px 0 0;color:#847a6d;font-size:10px;line-height:1.8}
.field-help.caution{color:#8b6236}
.photo-count{margin:10px 0 0;font-size:14px;color:#655c51}
.photo-error{margin:10px 0 0;font-size:13px;line-height:1.7;color:#873f30;white-space:pre-line;overflow-wrap:anywhere}
.photo-error:empty{margin:0}
.photo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.photo-list:empty{display:none}
.photo-item{position:relative;min-width:0;aspect-ratio:1;border:1px solid #cbbda9;background:#f6f0e7}
.photo-item img{display:block;width:100%;height:100%;object-fit:cover}
.photo-item img[hidden],.photo-fallback[hidden]{display:none}
.photo-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;box-sizing:border-box;padding:48px 8px 8px;color:#655c51;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.photo-fallback-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.photo-fallback strong{font-size:13px;color:#30291f}
.photo-remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #bcb2a4;border-radius:2px;background:rgba(248,244,237,.96);color:#30291f;font:400 26px/1 sans-serif;cursor:pointer}
.photo-remove:hover{background:#e7ddcc}
.photo-remove:focus-visible{outline:3px solid #8e6736;outline-offset:2px}
@media(min-width:600px){.photo-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
.completion-panel{text-align:center;padding:36px 4px 26px}
.completion-mark{display:grid;place-items:center;width:66px;height:66px;border:1px solid #a47b45;border-radius:50%;margin:0 auto 26px;background:#30291f;color:#f1dfc2;font-size:25px}
.completion-panel>h2{font-size:32px;margin-bottom:18px}
.completion-panel>p:not(.step-eyebrow){color:#746c61;font-size:12px;line-height:2;margin:0 0 34px}
.form-home-link{display:flex;align-items:center;justify-content:space-between;max-width:360px;min-height:62px;margin:0 auto;border:1px solid #b58d55;background:#29231b;color:#f6edde;padding:17px 20px;font:700 12px/1.4 "Noto Sans JP",sans-serif;letter-spacing:.06em}
@media(max-width:600px){
  .form-steps{margin-bottom:32px;padding-bottom:24px}
  .form-steps li{font-size:8px;gap:6px}
  .form-steps li span{width:26px;height:26px;font-size:9px}
  .form-steps li:not(:last-child):after{top:12px;left:64%;width:72%}
  .form-step-panel>h2{font-size:25px}
  .step-lead{margin-bottom:28px;font-size:11px}
  .confirm-list>div{grid-template-columns:1fr;gap:4px;padding:13px 0}
  .confirm-list dt{font-size:10px}
  .confirm-list dd{font-size:12px}
  .step-actions.split{grid-template-columns:1fr}
  .step-actions.split .form-submit{order:1}
  .step-actions.split .step-back{order:2}
  .step-back{min-height:52px}
  .completion-panel{padding-top:24px}
  .completion-panel>h2{font-size:28px}
}

/* Compact, input-first flow */
.form-hero{min-height:0;padding:124px 24px 24px;background:#151513;border:0}
.form-hero:after{display:none}
.form-hero-inner{width:100%;max-width:660px;margin:auto}
.form-kicker{font-size:10px;margin-bottom:12px}
.form-hero h1{font-size:28px;margin-bottom:12px}
.form-hero p:last-child{font-size:12px;line-height:1.8}
.form-section{display:block;padding:0 24px 64px}
.form-card{max-width:660px;margin:auto;padding:30px}
.form-steps{margin-bottom:22px;padding-bottom:20px}
.preview-notice{font-size:11px;color:#6d5130;background:#e7ddcc;padding:12px;margin:0 0 24px;border-left:2px solid #9f7542}
.step-lead{margin-bottom:22px}
.form-step-panel>h2{font-size:24px}
.field-group{margin-bottom:22px}
.field-group textarea{min-height:86px}
.field-group legend small{font:500 10px sans-serif;color:#81786d;margin-left:8px}
.choice input:focus-visible+span{outline:3px solid #9f7542;outline-offset:3px}
button:focus-visible,a:focus-visible{outline:3px solid #a77d48;outline-offset:4px}
.form-footer-note{display:none}
@media(max-width:600px){
 .form-hero{padding:92px 20px 22px;min-height:0}
 .form-hero h1{font-size:24px}
 .form-section{padding:0 12px 44px}
 .form-card{padding:24px 18px}
 .form-steps li{font-size:10px}
 .form-step-panel>h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.form-step-panel.is-active{animation:none}html{scroll-behavior:auto}}

/* Reference form fields within the CAVARIO theme. */
.privacy-consent{margin-top:24px}
.form-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.privacy-consent .privacy-policy-link{display:inline-block;padding:10px 0;font:500 13px/1.8 "Noto Sans JP",sans-serif;color:#7d5728;text-decoration:underline;text-underline-offset:3px}
.privacy-consent .privacy-policy-link span{font-size:12px}
.privacy-consent .privacy-policy-link:focus-visible{outline:2px solid #9f7542;outline-offset:3px}
.field-group .consent-label{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:14px;letter-spacing:0}
.field-group .consent-label input{appearance:auto;flex:none;width:20px;height:20px;margin:0;padding:0;accent-color:#8e6736;cursor:pointer}
.field-group .consent-label input:focus-visible{outline:2px solid #9f7542;outline-offset:3px}
.field-group .consent-label span{flex:none;margin-left:0;white-space:nowrap}
.privacy-details{font:500 12px/1.8 "Noto Sans JP",sans-serif;color:#746c61}
.privacy-details summary{cursor:pointer;list-style:none}
.privacy-details summary::-webkit-details-marker{display:none}
.privacy-details summary span{margin-left:4px;color:#7d5728;text-decoration:underline;text-underline-offset:3px}
.privacy-details summary:focus-visible{outline:2px solid #9f7542;outline-offset:3px}
.privacy-details p{margin:10px 0 0;padding:12px;border:1px solid #cbbda9;background:#f8f4ed}
.label-example{font-size:12px;font-weight:400;font-style:normal;color:#81786d;margin-left:6px}
#model{min-height:50px;height:50px}
#message{min-height:70px;height:70px;padding-top:7px;padding-bottom:7px}

/* Arrow progress navigation, matching the CAVARIO palette. */
.form-steps{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:16px}
.form-steps li{display:block;min-width:0;font-size:13px;color:#81786d}
.form-steps li span{display:none}
.form-steps li b{display:inline-block;padding:5px 8px;border-radius:4px;font-weight:500;line-height:1.5}
.form-steps li.is-active b{background:#30291f;color:#fff6e8;box-shadow:inset 0 0 0 1px #a77d48}
.form-steps li.is-complete b{color:#795426}
.form-steps li:not(:last-child):after{content:"";top:50%;left:auto;right:-12px;width:0;height:0;transform:translateY(-50%);background:none;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid #c2b6a5}
.form-steps li.is-active:after,.form-steps li.is-complete:after{border-left-color:#a77d48}
@media(max-width:600px){
 .form-steps{gap:10px}
 .form-steps li{font-size:10px}
 .form-steps li b{padding:5px 4px}
 .form-steps li:not(:last-child):after{right:-8px;border-left-width:5px;border-top-width:3px;border-bottom-width:3px}
}
