*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#ece8df;--bg-card:#f5f2ec;--black:#2d2820;--gray-dark:#4a453e;--gray:#605b56;--gray-light:#dedad1;--white:#fff;--accent:#b33000;--accent-hover:#8f2600;--accent-soft:#b3300014;--accent-on-dark:#ff5218;--green:#34c759;--green-soft:#34c7591a;--serif:var(--font-fraunces);--radius:4px;--shadow-soft:0 4px 24px #0000000f;--shadow-medium:0 8px 32px #00000014;--shadow-strong:0 16px 48px #0000001f;--container-max:1120px;--safe-bottom:env(safe-area-inset-bottom,20px)}html{scroll-behavior:smooth;scroll-padding-top:72px}body{font-family:var(--font-inter);color:var(--black);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;&.no-scroll{touch-action:none;overflow:hidden}}::selection{background:var(--accent);color:var(--white)}img{max-width:100%;height:auto;display:block}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.skip-link{background:var(--accent);color:var(--white);z-index:10000;padding:8px 16px;font-weight:500;text-decoration:none;transition:transform .2s;position:fixed;top:0;left:0;transform:translateY(-100%);&:focus{transform:translateY(0)}}.page-wrap{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}.section-header{text-align:center;margin-bottom:60px}.section-label{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:.8125rem;font-weight:600}.section-title{font-family:var(--serif);font-variation-settings:"opsz" clamp(21, 3vw, 30), "SOFT" 30;letter-spacing:-.02em;color:var(--black);margin-bottom:14px;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:400}.section-subtitle{color:var(--gray);max-width:560px;margin:0 auto;font-size:1.0625rem}header{z-index:1002;-webkit-backdrop-filter:saturate(180%)blur(20px);background:#ffffffd9;border-bottom:1px solid #00000014;position:sticky;top:0;& nav{max-width:var(--container-max);justify-content:space-between;align-items:center;height:56px;margin:0 auto;padding:0 24px;display:flex}}.logo{color:var(--black);letter-spacing:-.02em;font-size:1.125rem;font-weight:700;text-decoration:none;& span{color:var(--accent)}&:hover{text-decoration:none}}.back-btn{color:var(--gray-dark);align-items:center;gap:6px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex;& svg{width:16px;height:16px}&:hover{color:var(--accent);text-decoration:none}}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:15px 28px;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex;& svg{width:16px;height:16px}}.btn-primary{background:var(--accent);color:var(--white);box-shadow:0 4px 14px #0071e34d;&:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px #0071e366}}.btn-link{color:var(--black);border-bottom:1.5px solid var(--black);align-self:flex-start;align-items:center;padding:12px 0;font-size:1rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex;@media (width<=768px){align-self:center;margin-top:8px}&:hover{color:var(--accent);border-color:var(--accent)}}footer{background:var(--black);color:var(--white);padding:56px 24px 32px}.footer-grid{max-width:var(--container-max);grid-template-columns:1fr 1fr;gap:40px;margin:0 auto;display:grid;@media (width<=1024px){grid-template-columns:1fr;gap:32px}}.footer-brand{margin-bottom:12px;font-size:1.125rem;font-weight:700;& span{color:var(--accent-on-dark)}}.footer-desc{color:#fff9;margin-bottom:16px;font-size:.9375rem}.footer-contact{& a{color:var(--white);margin-bottom:4px;font-size:.9375rem;text-decoration:none;display:block;&:hover{color:var(--accent)}}}.footer-legal{text-align:right;color:#ffffff80;font-size:.8125rem;line-height:1.7;@media (width<=1024px){text-align:left}}.footer-bottom{max-width:var(--container-max);color:#ffffff80;border-top:1px solid #ffffff1a;align-items:center;margin:40px auto 0;padding-top:24px;font-size:.8125rem;display:flex;& a{color:inherit;text-decoration:none;transition:color .2s;&:hover{color:var(--accent-on-dark)}}}.footer-separator{opacity:.5;margin:0 12px}.reveal{transition:opacity .7s,transform .7s}.js-loaded .reveal{opacity:0;transform:translateY(24px)}.js-loaded .reveal.active{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.contact{background:var(--gray-light);padding:100px 0;@media (width<=768px){padding:64px 0}}.contact-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:64px;display:grid;@media (width<=1024px){gap:40px}@media (width<=768px){grid-template-columns:1fr}}.contact-info-list{flex-direction:column;gap:20px;margin-top:32px;display:flex}.contact-info-row{align-items:center;gap:16px;text-decoration:none;display:flex}.contact-info-icon{background:var(--white);border-radius:var(--radius);width:48px;height:48px;box-shadow:var(--shadow-soft);flex-shrink:0;justify-content:center;align-items:center;display:flex;& svg{width:24px;height:24px;stroke:var(--accent)}}.contact-info-label{color:var(--gray);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;font-size:.8125rem;font-weight:600}.contact-info-value{color:var(--black);font-size:1.0625rem;font-weight:600}.contact-form{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-medium);text-align:left;padding:40px;@media (width<=768px){padding:24px 16px}}.form-honey{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important;top:-9999px!important;left:-9999px!important;overflow:hidden!important}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid;@media (width<=768px){grid-template-columns:1fr;gap:0}}.form-group{flex-direction:column;margin-bottom:20px;display:flex;& label{color:var(--gray-dark);margin-bottom:8px;font-size:.875rem;font-weight:600;& .required{color:var(--accent)}}& input[type=text],& input[type=email],& input[type=tel],& select,& textarea{border:1px solid var(--gray-light);background:var(--bg-card);color:var(--black);border-radius:var(--radius);outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s,background-color .2s;&:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--white)}&::placeholder{color:#9ca3af}}& textarea{resize:vertical}}.form-consent{align-items:flex-start;gap:12px;margin-bottom:24px;display:flex;position:relative;& input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin-top:1px}& label{color:var(--gray-dark);cursor:pointer;font-size:.8125rem;line-height:1.4;& a{color:var(--accent);text-decoration:underline;&:hover{color:var(--accent-hover)}}& .required{color:var(--accent)}}}.form-error{color:#dc2626;margin-top:6px;font-size:.8125rem;font-weight:500;display:none}.form-group.has-error{& input,& textarea,& select{background-color:#fef2f2;border-color:#dc2626;&:focus{box-shadow:0 0 0 3px #dc262626}}& .form-error{display:block}}.form-consent.has-error{& .form-error{display:block;position:absolute;bottom:-20px;left:28px}}.form-actions{justify-content:flex-start;margin-top:12px;display:flex;& .btn-submit{width:100%;padding:16px 32px;position:relative}}.btn-spinner{border:2px solid #ffffff4d;border-top-color:var(--white);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:none}@keyframes spin{to{transform:rotate(360deg)}}.btn-submit.loading{& .btn-text{display:none}& .btn-spinner{display:block}pointer-events:none;opacity:.8}.form-status{border-radius:var(--radius);align-items:flex-start;gap:16px;margin-top:24px;padding:24px;display:none;& svg{flex-shrink:0;width:24px;height:24px}& h4{margin-bottom:6px;font-size:1.0625rem;font-weight:700}& p{font-size:.875rem;line-height:1.5}}.form-status--success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;& svg{stroke:#166534}}.form-status--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;& svg{stroke:#991b1b}}
