@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,450;0,500;1,400&display=swap');
:root { --vcs-bg:#f8f9f5; --vcs-card:#fff; --vcs-ink:#194b39; --vcs-grey:#64755d; --vcs-line:#e1e5dd; --vcs-accent:#426d39; --vcs-btn:#194b39; --vcs-btn-ink:#fff; --vcs-ok:#194b39; --vcs-err:#a73e35; --vcs-radius:8px; --vcs-font:'DM Sans',sans-serif; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--vcs-font); background:var(--vcs-bg); color:var(--vcs-ink); line-height:1.7; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font-family:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #88a475; outline-offset:4px; }
.rx-skip { position:fixed; top:-90px; left:20px; padding:10px 17px; z-index:100; background:var(--vcs-ink); color:#fff; border-radius:5px; }
.rx-skip:focus { top:12px; }
.rx-sidebar { position:fixed; inset:0 auto 0 0; width:245px; padding:31px 23px 22px; background:#fff; border-right:1px solid var(--vcs-line); display:flex; flex-direction:column; z-index:30; overflow:auto; }
.rx-wordmark { display:flex; gap:10px; align-items:center; }
.rx-logo { font-family:'Fraunces',serif; font-size:33px; font-weight:500; letter-spacing:-3px; line-height:1; position:relative; }
.rx-logo:after { content:''; display:block; height:3px; width:18px; background:#8aa56c; position:absolute; bottom:-6px; right:0; }
.rx-wordmark > span:last-child { font-size:9px; letter-spacing:1.5px; line-height:1.45; }
.rx-wordmark strong { font-size:12px; letter-spacing:2px; font-weight:600; }
.rx-workspace { border-top:1px solid var(--vcs-line); margin-top:32px; padding-top:24px; }
.rx-workspace span { display:block; font-size:9px; letter-spacing:1.5px; font-weight:600; }
.rx-workspace small { display:block; font-size:10px; color:var(--vcs-grey); margin-top:6px; }
.rx-sidebar nav { margin-top:23px; display:flex; flex-direction:column; gap:5px; }
.rx-sidebar nav a { display:flex; align-items:center; gap:10px; font-size:11px; padding:12px 10px; color:var(--vcs-grey); border-radius:6px; }
.rx-sidebar nav a > span { border:1px solid #d8e2d0; border-radius:50%; width:24px; height:24px; display:grid; place-items:center; font-size:9px; flex-shrink:0; }
.rx-sidebar nav a:hover { background:#f2f5ec; }
.rx-sidebar nav a[aria-current='location'] { background:#eaf0e3; color:var(--vcs-ink); font-weight:600; }
.rx-sidebar nav a.complete > span { background:#dce8d1; border-color:#a3ba8c; }
.rx-sidebar-bottom { margin-top:auto; padding-top:27px; }
.rx-progress-card { background:#f0f4e9; border:1px solid #e0e8d6; border-radius:6px; padding:16px 13px; font-size:10px; }
.rx-progress-card > div:first-child { display:flex; justify-content:space-between; }
.rx-progress-track { background:#dce4d3; height:4px; border-radius:5px; margin:12px 0; overflow:hidden; }
.rx-progress-track span { display:block; width:0; height:100%; background:#64834f; transition:width .2s; }
.rx-progress-card p { font-size:9px; color:var(--vcs-grey); line-height:1.7; }
.rx-sidebar-person { display:flex; gap:11px; margin-top:24px; align-items:center; }
.rx-sidebar-person > span { width:32px; height:32px; background:#e8efdf; display:grid; place-items:center; font-size:11px; border-radius:50%; }
.rx-sidebar-person strong { display:block; font-size:11px; font-weight:600; }
.rx-sidebar-person small { font-size:9px; color:var(--vcs-grey); display:block; }
.rx-main { margin-left:245px; }
.rx-topbar { height:68px; padding:0 40px; background:#fcfdf9f5; border-bottom:1px solid var(--vcs-line); position:sticky; top:0; display:flex; justify-content:space-between; align-items:center; z-index:20; backdrop-filter:blur(12px); font-size:11px; color:var(--vcs-grey); gap:14px; }
.rx-topbar > div { display:flex; align-items:center; gap:13px; }
.rx-topbar strong { color:var(--vcs-ink); font-weight:500; }
.rx-topbar a { padding:7px 12px; border:1px solid #dce4d3; border-radius:5px; color:var(--vcs-ink); background:#fff; }
.rx-wrap { max-width:1030px; margin:auto; padding:32px 44px 48px; }
.vcs-head { margin-bottom:30px; max-width:790px; }
.vcs-eyebrow { display:block; font-size:10px; font-weight:600; letter-spacing:1.7px; text-transform:uppercase; color:#667b57; margin-bottom:19px; }
.vcs-head h1 { font-family:'Fraunces',serif; font-size:44px; font-weight:450; letter-spacing:-1px; line-height:1.2; margin-bottom:18px; max-width:690px; }
.vcs-head p { color:var(--vcs-grey); font-size:13px; max-width:730px; line-height:1.9; }
.vcs-time { display:inline-flex; gap:8px; align-items:center; background:#edf3e5; border:1px solid #dce7d2; color:#527342; padding:5px 11px; border-radius:5px; font-size:10px; margin-top:20px; }
.rx-preview-note { display:flex; gap:13px; justify-content:space-between; align-items:center; background:#eaf0e3; padding:13px 17px; border:1px solid #d7e3cc; border-radius:6px; margin-bottom:26px; font-size:11px; color:#4a693b; }
.rx-preview-note strong { display:block; font-size:11px; }
.rx-preview-note p { font-size:10px; color:#64765a; }
.rx-preview-tag { white-space:nowrap; font-size:8px; font-weight:600; letter-spacing:1px; background:#dce8d2; padding:4px 7px; border-radius:3px; }
.rx-preview-ready { margin:18px 0; background:#e9f1e0; color:#406332; border:1px solid #cbdcbd; padding:20px; border-radius:7px; }
.rx-preview-ready h2 { font-family:'Fraunces',serif; font-weight:450; font-size:25px; margin-bottom:9px; }
.rx-preview-ready p { font-size:12px; }
.vcs-card { background:var(--vcs-card); border:1px solid var(--vcs-line); border-radius:var(--vcs-radius); padding:27px 29px 29px; margin-bottom:24px; min-width:0; scroll-margin-top:92px; }
fieldset.vcs-card legend { display:flex; align-items:center; gap:14px; padding:0 7px; margin-left:-7px; }
.vcs-num { font-family:'Fraunces',serif; font-size:24px; color:#8caa73; }
.vcs-card legend h2 { font-family:'Fraunces',serif; font-size:23px; font-weight:450; line-height:1.35; }
.vcs-hint { font-size:11px; color:var(--vcs-grey); margin:3px 0 25px; padding-bottom:19px; border-bottom:1px solid #edf0e7; }
.vcs-field { margin-bottom:23px; min-width:0; }
.vcs-field:last-child { margin-bottom:0; }
.vcs-label { display:block; font-size:12px; font-weight:600; margin-bottom:8px; color:#244c34; }
.vcs-label .opt { font-weight:400; color:var(--vcs-grey); font-size:11px; }
input[type=text],input[type=email],input[type=tel],select,textarea { width:100%; padding:12px 13px; font-size:16px; color:#294d36; background:#fbfcf8; border:1px solid #d9e1d2; border-radius:6px; outline:none; transition:border-color .15s,box-shadow .15s; }
select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23647c53' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 15px center; padding-right:36px; }
textarea { min-height:115px; resize:vertical; line-height:1.7; }
input:focus,select:focus,textarea:focus { border-color:#7a995e; box-shadow:0 0 0 3px #9db68126; }
input.vcs-invalid,select.vcs-invalid,textarea.vcs-invalid { border-color:var(--vcs-err); }
::placeholder { color:#889580; font-size:12px; }
.vcs-row { display:grid; grid-template-columns:1fr 1fr; gap:19px; }
.vcs-help { font-size:10px; color:var(--vcs-grey); margin-top:7px; line-height:1.8; }
.vcs-opts { display:flex; flex-direction:column; gap:8px; }
.vcs-opt { display:flex; gap:10px; align-items:flex-start; padding:11px 13px; background:#fbfcf8; color:#5c7151; font-size:12px; border:1px solid #e0e6d9; border-radius:6px; cursor:pointer; transition:border-color .15s,background .15s; }
.vcs-opt:hover { border-color:#9db689; }
.vcs-opt input { accent-color:var(--vcs-ink); width:16px; height:16px; margin-top:3px; flex-shrink:0; }
.vcs-opt:has(input:checked) { background:#eef4e7; border-color:#9ab080; color:#365d2c; }
.vcs-opt:has(input:focus-visible) { outline:3px solid #9db68155; outline-offset:2px; }
.vcs-consent { display:flex; gap:11px; align-items:flex-start; color:#64775a; font-size:11px; line-height:1.9; }
.vcs-consent input { accent-color:var(--vcs-ink); width:18px; height:18px; flex-shrink:0; margin-top:3px; }
.vcs-submit { display:block; width:100%; padding:15px 17px; font-size:13px; font-weight:600; color:var(--vcs-btn-ink); background:var(--vcs-btn); border:0; border-radius:6px; cursor:pointer; margin-top:23px; transition:background .15s; }
.vcs-submit:hover { background:#245b44; }
.vcs-submit:disabled { opacity:.55; cursor:wait; }
.vcs-msg { display:none; margin-top:17px; padding:14px 17px; border-radius:6px; font-size:12px; }
.vcs-msg.err { background:#f9eeeb; color:var(--vcs-err); border:1px solid #e9c8c1; }
.vcs-success { display:none; padding:40px; background:#fff; border:1px solid var(--vcs-line); border-radius:8px; text-align:center; }
.vcs-success .ico { width:50px; height:50px; border-radius:50%; background:#e9f0e1; color:#53743f; font-size:24px; display:grid; place-items:center; margin:0 auto 17px; }
.vcs-success h2 { font-family:'Fraunces',serif; font-weight:450; font-size:31px; margin-bottom:13px; }
.vcs-success p { color:var(--vcs-grey); font-size:13px; margin:0 auto 24px; max-width:560px; }
.vcs-wa { display:inline-block; padding:12px 20px; background:var(--vcs-ok); color:#fff; border-radius:5px; font-size:12px; font-weight:600; }
.vcs-hp { position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden; }
.vcs-calcnote { display:none; padding:16px 20px; border:1px solid #cbdcbf; background:#eef4e7; border-radius:7px; color:#53753f; font-size:12px; margin-bottom:24px; }
.vcs-calcnote.on { display:block; }
.vcs-foot { border-top:1px solid var(--vcs-line); padding:22px 0 0; margin-top:30px; font-size:10px; color:var(--vcs-grey); line-height:1.9; }
.vcs-foot strong { font-weight:500; font-size:12px; }
.vcs-foot a:hover { text-decoration:underline; }
.rx-mobile-title { display:none; }
@media(min-width:1500px) { .rx-wrap { max-width:1080px; padding:40px 55px 55px; } .vcs-head h1 { font-size:48px; } }
@media(max-width:1000px) { .rx-sidebar { width:210px; padding:28px 17px; } .rx-main { margin-left:210px; } .rx-wrap { padding:30px; } .rx-topbar { padding:0 30px; } .rx-sidebar nav a { font-size:10px; padding:10px 8px; gap:8px; } .vcs-head h1 { font-size:38px; } .vcs-card { padding:24px; } }
@media(max-width:760px) { .rx-sidebar { display:none; } .rx-main { margin:0; } .rx-topbar { height:62px; padding:0 20px; font-size:10px; } .rx-topbar > div > span:first-child { display:none; } .rx-topbar > div > span:nth-child(2) { display:none; } .rx-topbar a { padding:6px 8px; } .rx-wrap { padding:27px 20px 35px; } .rx-mobile-title { display:block; color:#657c56; font-size:10px; margin-bottom:22px; } .vcs-head h1 { font-size:36px; letter-spacing:-.7px; } .vcs-head p { font-size:12px; } .vcs-card { padding:23px 19px; margin-bottom:25px; } .vcs-card legend h2 { font-size:21px; } .vcs-num { font-size:23px; } .vcs-row { grid-template-columns:1fr; gap:0; } .vcs-row > .vcs-field:last-child { margin-bottom:23px; } .vcs-label { font-size:12px; } .vcs-opt { font-size:12px; } .rx-preview-note { padding:13px 15px; align-items:flex-start; } .rx-preview-tag { display:none; } .vcs-success { padding:30px 20px; } .vcs-foot { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
