.c-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);max-width:100%;min-height:var(--control-height);padding:13px 22px;border:1px solid transparent;border-radius:var(--r-sm);font-family:var(--sans);font-size:var(--text-base);font-weight:var(--weight-bold);line-height:1.2;text-align:center;white-space:normal;overflow-wrap:break-word;transition:background var(--duration),color var(--duration),box-shadow var(--duration),transform var(--duration)}
.c-btn-primary,.btn-solid{background:var(--primary);color:#FFFFFF;box-shadow:0 2px 6px rgba(48,71,199,.25)}
.c-btn-primary:hover,.btn-solid:hover{background:var(--primary-dk)}
.c-btn-secondary,.btn-line{background:#FFFFFF;color:#3047C7;border-color:color-mix(in srgb,currentColor 45%,transparent)}
.c-btn-secondary:hover,.btn-line:hover{background:var(--surface)}
.c-btn-ghost{background:var(--surface);color:#1C2029;border-color:color-mix(in srgb,currentColor 45%,transparent)}
.c-btn-ghost:hover{background:var(--s-gray)}
.c-btn:active,.btn:active{transform:translateY(1px);box-shadow:none}
.c-btn:disabled,.btn:disabled,.c-btn[aria-disabled=true]{opacity:.5;pointer-events:none}
.c-btn-sm,.btn-sm{min-height:2.375rem;padding:10px 16px;font-size:var(--text-sm)}
.c-btn svg,.btn svg{width:1.125rem;height:1.125rem}
:where(.c-actions,.hero-cta,.btns){display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--action-gap);margin-top:var(--space-5)}
.c-actions-center{justify-content:center}
.c-center>.c-actions,.c-hero-center>.c-actions{justify-content:center}
.c-center>.c-kicker,.c-hero-center>.c-kicker{margin-inline:auto;align-items:center}
.c-center>p,.c-hero-center>p{margin-inline:auto}
.c-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:var(--space-4);align-items:stretch}
.c-card{display:flex;flex-direction:column;gap:var(--space-3);height:100%;min-width:0;padding:var(--space-4);border-radius:var(--r-md);background:#FFFFFF;color:#1C2029;--ink:#1C2029;--muted:#5B6170;--line:#E3E6EB;--hair:#E3E6EB;--price:#A4511E;box-shadow:var(--shadow)}
.c-card>.c-actions{margin-top:var(--space-3)}
.c-card>:last-child:is(.c-badge,.c-card-foot,cite){margin-top:auto}
.c-card h3{font-size:var(--text-md);line-height:1.4}
.c-card p{font-size:var(--text-sm);line-height:var(--lh-copy);color:var(--muted)}
.c-card-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:var(--space-2)}
.c-card-specs>div{padding:var(--space-3);border-radius:var(--r-sm);background:#F4F5F7;color:#1C2029}
.c-icon-well{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--r-sm);background:#EEF0F3;color:#1C2029}
.c-icon-well svg{width:var(--icon);height:var(--icon)}
.c-badge,.tag{display:inline-flex;width:fit-content;max-width:100%;align-items:center;justify-content:center;gap:var(--space-2);padding:.3em .8em;border-radius:var(--r-pill);background:#E8F0EC;color:#1E3A2E;font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1.5}
.c-badge-sand,.tag-sand{background:#F3EEE6;color:#3B2F20}
.c-badge-gray,.tag-gray{background:#EEF0F3;color:#1C2029}
.c-badge-primary,.tag-primary{background:#3047C7;color:#FFFFFF}
.c-notice{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--r-md);background:#E8F0EC;color:#1E3A2E}
.c-notice svg{width:var(--icon);height:var(--icon)}
.c-notice p{font-size:var(--text-sm);line-height:var(--lh-copy);color:#1E3A2E}
.c-notice-warning{background:#F3EEE6;color:#3B2F20}
.c-notice-warning p{color:#3B2F20}
.table-scroll{position:relative;width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.c-table{display:table;width:100%;min-width:36rem;border-collapse:collapse;background:#FFFFFF;color:#1C2029;text-align:left}
.c-table caption{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:1.5;background:#FFFFFF;color:#1C2029}
.c-table th,.c-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid #E3E6EB;font-size:var(--text-sm);line-height:1.6;color:#1C2029;vertical-align:top}
.c-table th{background:#F4F5F7;font-weight:var(--weight-bold)}
.c-table th:first-child,.c-table td:first-child{min-width:11rem}
.c-table .is-highlight{background:#E8F0EC;color:#1E3A2E}
.c-table .is-number{text-align:right;font-family:var(--mono);white-space:nowrap}
.c-price-card{display:flex;flex-direction:column;gap:var(--space-4);height:100%;padding:var(--space-5);border-radius:var(--r-lg);background:#FFFFFF;color:#1C2029;--muted:#5B6170;--line:#E3E6EB;--price:#A4511E;box-shadow:var(--shadow)}
.c-price-card h3{font-size:var(--text-lg);line-height:1.4}
.c-price-card .c-actions{margin-top:auto}
.c-price-value{color:var(--price);font:var(--weight-heavy) var(--text-xl)/1.2 var(--mono)}
.c-price-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);width:100%}
.c-price-tiles>div{padding:var(--space-4);border-radius:var(--r-sm);background:#F4F5F7;color:#1C2029}
.c-faq{--faq-bg:#FFFFFF;--faq-ink:#1C2029;--faq-muted:#5B6170;--faq-line:#E3E6EB}
.c-faq-surface{--faq-bg:#F4F5F7;--faq-ink:#1C2029;--faq-muted:#5B6170;--faq-line:#DCE0E6}
.c-faq-dark{--faq-bg:#1E2430;--faq-ink:#F4F5F7;--faq-muted:#A9B0BE;--faq-line:rgba(244,245,247,.16)}
.c-faq details{background:var(--faq-bg);color:var(--faq-ink);border-bottom:1px solid var(--faq-line)}
.c-faq details:first-child{border-top:1px solid var(--faq-line)}
.c-faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;list-style:none;font-size:var(--text-md);font-weight:var(--weight-bold);line-height:1.5;cursor:pointer}
.c-faq summary::-webkit-details-marker{display:none}
.c-faq summary::after{content:"";flex:0 0 .6rem;width:.6rem;height:.6rem;margin-inline:var(--space-2);border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform var(--duration)}
.c-faq details[open] summary::after{transform:rotate(225deg)}
.c-faq details>div,.c-faq details>p{padding:var(--space-2) var(--space-6) var(--space-4) 0;color:var(--faq-muted);font-size:var(--text-base);line-height:var(--lh-copy)}
.c-field{display:grid;align-content:start;gap:var(--field-gap);min-width:0}
.c-field label{font-size:var(--text-sm);line-height:1.5;color:var(--ink)}
.c-field input,.c-field select,.c-field textarea{width:100%;min-width:0;min-height:var(--control-height);padding:.75rem 1rem;border:1px solid var(--input-line);border-radius:var(--r-sm);background:#FFFFFF;color:#1C2029;font-size:var(--text-base);line-height:1.5}
.c-field textarea{min-height:8rem;resize:vertical}
.c-field select{appearance:none;padding-inline-end:2.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%231C2029' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}
.c-field input:focus,.c-field select:focus,.c-field textarea:focus{border-color:var(--primary)}
.c-field [aria-invalid=true]{border-color:var(--error)}
.c-field-help{font-size:var(--text-xs);line-height:1.5;color:var(--muted)}
.c-field-error{font-size:var(--text-sm);line-height:1.5;color:var(--error)}
.c-check{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:var(--field-gap);align-items:start;font-size:var(--text-sm);line-height:1.6}
.c-check input{appearance:none;width:1.25rem;height:1.25rem;margin:.15rem 0 0;border:1px solid var(--input-line);border-radius:4px;background:#FFFFFF;display:grid;place-items:center}
.c-check input:checked{background:var(--primary);border-color:var(--primary)}
.c-check input:checked::after{content:"";width:.55rem;height:.3rem;border-left:2px solid #FFFFFF;border-bottom:2px solid #FFFFFF;transform:rotate(-45deg) translateY(-1px)}
.c-choice{position:relative;display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:var(--field-gap);align-content:start;align-items:start;padding:var(--space-4);border-radius:var(--r-md);background:#EEF0F3;color:#1C2029;cursor:pointer}
.c-choice input{appearance:none;display:grid;place-items:center;width:1.25rem;height:1.25rem;margin:.15rem 0 0;border:1px solid var(--input-line);border-radius:50%;background:#FFFFFF}
.c-choice input:checked::after{content:"";width:.625rem;height:.625rem;border-radius:50%;background:var(--primary)}
.c-choice:has(input:checked){background:#E8F0EC;color:#1E3A2E;box-shadow:inset 3px 0 var(--primary)}
.c-choice strong{font-size:var(--text-base);line-height:1.5}
.c-choice small{display:block;margin-top:var(--field-gap);font-size:var(--text-xs);line-height:1.5;color:#4F5564}
.c-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--space-2);align-items:stretch}
.c-filter{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.c-filter button{padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--r-sm);background:#F4F5F7;color:#1C2029;font-size:var(--text-sm);line-height:1.5}
.c-filter button[aria-pressed=true]{background:#3047C7;color:#FFFFFF;border-color:var(--primary)}
.c-breadcrumb,.c-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);list-style:none;padding:0}
.c-breadcrumb{margin:0 0 var(--crumb-after);color:var(--muted);font-size:var(--text-sm);line-height:1.5}
.c-breadcrumb li,.c-breadcrumb span,.c-breadcrumb a{font-size:var(--text-sm);line-height:1.5}
.c-breadcrumb li+li::before,.c-breadcrumb>span+span::before,.c-breadcrumb>a+span::before{content:"/";display:inline-block;margin-inline-end:var(--space-2);color:var(--muted)}
.c-breadcrumb a:hover{text-decoration:underline}
.c-stepper{display:inline-grid;grid-template-columns:3rem 5rem 3rem;gap:var(--field-gap);max-width:100%;align-items:center}
.c-stepper button,.c-stepper input{height:var(--control-height);min-width:0;border:1px solid var(--input-line);border-radius:var(--r-sm);background:#FFFFFF;color:#1C2029;font-size:var(--text-md);line-height:1.2;text-align:center}
.c-stepper input{width:100%;font-family:var(--mono);font-variant-numeric:tabular-nums;appearance:textfield}
.c-stepper input::-webkit-inner-spin-button,.c-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.c-stepper button:hover{background:var(--s-gray)}
.c-stepper button:disabled,.c-stepper input:disabled{opacity:.45}
.c-code,pre{position:relative;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;padding:var(--space-4);border-radius:var(--r-md);background:#1E2430;color:#F4F5F7;font-size:var(--text-sm);line-height:1.7;tab-size:2}
pre{margin:0}
pre code{font-size:var(--text-sm);line-height:1.7;color:#F4F5F7}
p code,li code{display:inline-block;max-width:100%;overflow-x:auto;vertical-align:middle}
.c-dialog{position:fixed;inset:0;z-index:var(--z-dialog);display:grid;place-items:center;padding:var(--gutter);background:rgba(28,32,41,.55)}
.c-dialog-panel{width:min(100%,32rem);max-height:calc(100dvh - var(--gutter)*2);overflow-y:auto;padding:var(--space-5);border-radius:var(--r-lg);background:#FFFFFF;color:#1C2029}
.c-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
.c-dialog-bar button{width:2.5rem;height:2.5rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink)}
.c-ticket-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-4);border-radius:var(--r-md);background:#EEF0F3;color:#1C2029}
.c-status-track{display:grid;grid-auto-flow:column;gap:var(--space-1)}
.c-status-track span{height:.5rem;border-radius:2px;background:var(--s-gray)}
.c-status-track .is-recorded{background:var(--primary)}
.site-footer .footer-brand img{background:#FFFFFF;padding:.35rem;border-radius:var(--radius-sm)}
.site-header{--header-text:1rem;position:sticky;top:0;z-index:var(--z-header);overflow:visible;background:#FFFFFF;color:#1C2029;border-bottom:1px solid var(--hair)}
.header-row{display:flex;align-items:center;min-height:var(--header-height);gap:var(--space-4)}
.site-brand{display:inline-flex;flex:0 0 auto;align-items:center;gap:10px;color:#1C2029}
.site-brand img,.footer-brand img{width:34px;height:34px;flex:0 0 34px}
.brand-copy{display:grid;align-content:center;gap:0}
.site-brand b,.footer-brand b{font-size:var(--text-lg);font-weight:var(--weight-heavy);line-height:1.2;color:#1C2029}
.site-brand small,.footer-brand small{font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.4;color:#5B6170}
.site-navigation{display:flex;align-items:center;justify-content:flex-start;flex:1;gap:clamp(.6rem,1vw,1.125rem)}
.site-navigation a{display:flex;align-items:center;min-height:3rem;padding:var(--space-2) 0;border-bottom:2px solid transparent;color:#1C2029;font-size:var(--header-text);font-weight:var(--weight-bold);line-height:1.5;white-space:nowrap}
.site-navigation a:hover{color:var(--primary)}
.site-navigation a.active{border-bottom-color:var(--primary);color:var(--primary)}
.header-tools{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2);margin-left:auto}
.header-tools>.c-btn{min-height:2.375rem;padding:var(--space-2) var(--space-3);font-size:var(--header-text);line-height:1.5}
.language-control{position:relative;display:flex;align-items:center}
.language-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 var(--space-2);border:0;border-radius:var(--r-sm);background:#F4F5F7;color:#1C2029;font-size:var(--header-text);font-weight:var(--weight-medium);line-height:1}
.language-toggle svg{width:13px;height:13px}
.language-toggle .chevron{width:9px;height:9px;transition:transform var(--duration)}
.language-toggle[aria-expanded=true] .chevron{transform:rotate(180deg)}
.language-menu{position:absolute;right:0;top:calc(100% + var(--space-2));z-index:2;min-width:11rem;padding:var(--space-2);border-radius:var(--r-md);background:#FFFFFF;color:#1C2029;box-shadow:var(--shadow-lift)}
.language-menu a{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--r-sm);font-size:var(--header-text);line-height:1.5}
.language-menu a:hover{background:#EEF0F3;color:#1C2029}
.language-menu a[aria-current=true]{background:#3047C7;color:#FFFFFF}
.menu-toggle{display:none;flex:0 0 38px;align-items:center;justify-content:center;align-self:center;width:38px;height:38px;padding:var(--space-2);border:1px solid var(--hair);border-radius:var(--r-sm);background:#FFFFFF;color:#1C2029}
.menu-toggle svg{width:20px;height:20px}
.site-footer{background:#1C2029;color:#C9CED8;padding:var(--space-10) 0 36px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr .9fr;gap:var(--space-6)}
.footer-grid>*{min-width:0}
.footer-brand{display:inline-flex;align-items:center;gap:10px;color:#FFFFFF}
.footer-brand b{color:#FFFFFF}
.footer-brand small{color:#A9B0BE}
.footer-intro{margin-top:18px;max-width:280px;color:#A9B0BE;font-size:var(--text-sm);line-height:var(--lh-copy)}
.footer-mail{display:inline-block;margin-top:18px;border-bottom:1px solid rgba(255,255,255,.3);color:#FFFFFF;font-family:var(--mono);font-size:var(--text-sm);line-height:1.6;overflow-wrap:anywhere}
.site-footer h4{margin-bottom:18px;color:#A9B0BE;font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.14em;line-height:1.5}
.site-footer ul{display:grid;gap:11px}
.site-footer li,.site-footer li a,.site-footer li span{font-size:var(--text-sm);line-height:1.6;color:#DDE1E8}
.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.footer-languages{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-8);padding-top:28px;border-top:1px solid rgba(255,255,255,.1)}
.footer-languages a{padding:6px 12px;border:1px solid rgba(255,255,255,.22);border-radius:var(--r-pill);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1.5;color:#C9CED8}
.footer-languages a[aria-current=true]{background:#3047C7;color:#FFFFFF;border-color:#3047C7}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-3);margin-top:28px;font-size:var(--text-xs);line-height:1.5;color:#A9B0BE}
.reveal{opacity:1;transform:none}
.reveal.is-pending{opacity:0;transform:translateY(16px);transition:opacity 600ms var(--ease),transform 600ms var(--ease)}
.reveal.reveal-left.is-pending{transform:translateX(-16px)}
.reveal.reveal-right.is-pending{transform:translateX(16px)}
.reveal.is-visible{opacity:1;transform:none}
@media(min-width:64.001rem){
.site-navigation[hidden]{display:flex!important}
}
@media(max-width:64rem){
.header-row{gap:var(--space-3)}
.menu-toggle{display:inline-flex}
.site-navigation{position:absolute;inset-inline:0;top:100%;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:var(--space-3) var(--gutter) var(--space-4);background:#FFFFFF;color:#1C2029;box-shadow:var(--shadow)}
.site-navigation.is-open{display:flex}
.site-navigation a{justify-content:flex-start;margin:0;padding:12px var(--space-3);font-size:var(--text-base);line-height:1.5}
.header-tools{margin-left:auto}
.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.c-card,.c-price-card,.c-choice{min-height:0}
}
@media(max-width:42rem){
.header-row{gap:var(--space-2);min-height:4.5rem}
.site-brand{gap:6px}
.site-brand b{font-size:var(--text-base)}
.site-header{--header-text:.875rem}
.site-brand img{width:30px;height:30px;flex-basis:30px}
.site-brand small{font-size:.625rem}
.header-tools{gap:6px}
.header-tools>.c-btn{padding-inline:10px}
.language-toggle{padding-inline:7px}
.language-toggle .language-label,.language-toggle .chevron{display:none}
.menu-toggle{width:34px;height:34px;flex-basis:34px;padding:6px}
.footer-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-5)}
.footer-bottom{flex-direction:column}
.c-price-card{padding:var(--space-4)}
.c-card-specs{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:22.5rem){
.header-row{gap:var(--space-1)}
.site-brand{gap:var(--space-1)}
.site-brand b{font-size:var(--text-sm)}
.site-brand img{width:26px;height:26px;flex-basis:26px}
.header-tools>.c-btn{padding-inline:var(--space-2)}
}
@media(prefers-reduced-motion:reduce){
.reveal.is-pending,.reveal.reveal-left.is-pending,.reveal.reveal-right.is-pending{opacity:1;transform:none}
}
