/* vanilla base reset (no framework) */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--cuft2-font, system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif); line-height: 1.5; color: var(--cuft2-ink, #111); background: var(--cuft2-bg, #fff); }
h1, h2, h3, h4, h5, h6 { font-family: var(--cuft2-font-display, var(--cuft2-font, system-ui, sans-serif)); }
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: inherit; }
*:focus-visible { outline: 2px solid var(--cuft2-primary, #2563eb); outline-offset: 2px; }
/* visibility shim for framework toggles */
.hidden { display: none !important; }

/* design tokens */
:root {
  --cuft2-primary: #4E6B4A;
  --cuft2-secondary: #3C5238;
  --cuft2-accent: #B0603C;
  --cuft2-ink: #1E211C;
  --cuft2-slate: #5C6157;
  --cuft2-mist: #E8E1D4;
  --cuft2-border: #D8CEBB;
  --cuft2-surface: #FEFCF7;
  --cuft2-bg: #F6F2EA;
  --cuft2-text: #23261F;
  --cuft2-font: 'Iowan Old Style', Palatino, Georgia, 'Times New Roman', serif;
  --cuft2-font-display: 'Iowan Old Style', 'Palatino Linotype', Palatino, 'Book Antiqua', Georgia, serif;
}

/* state utilities */
.is-open { display: block !important; }
.is-active { display: block !important; }
[hidden] { display: none !important; }

/* framework-injected components (vanilla) */
[data-cuft2-ui="cookie-banner"] { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; margin: 0 auto; max-width: 56rem; border: 1px solid var(--cuft2-border, #e5e7eb); background: var(--cuft2-surface, #fff); border-radius: 1rem; padding: 1rem; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
[data-cuft2-ui="cookie-banner"] > div { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-start; justify-content: space-between; }
[data-cuft2-ui="cookie-banner"] > div > div:last-child { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-cuft2-ui="cookie-banner"] a { text-decoration: underline; }
[data-cuft2-cs-action], [data-cuft2-ag-action] { cursor: pointer; border-radius: .5rem; padding: .5rem .9rem; font-size: .8rem; border: 1px solid var(--cuft2-border, #d1d5db); background: transparent; color: var(--cuft2-ink, #111); }
[data-cuft2-cs-action="accept-all"], [data-cuft2-cs-action="save"], [data-cuft2-ag-action="confirm"] { background: var(--cuft2-primary, #2563eb); color: #fff; border-color: transparent; font-weight: 600; }
[data-cuft2-cs-action="reject-all"] { background: var(--cuft2-ink, #111); color: #fff; border-color: transparent; font-weight: 600; }
[data-cuft2-cs-panel] { margin-top: 1rem; border: 1px solid var(--cuft2-border, #e5e7eb); background: var(--cuft2-surface, #fff); border-radius: .75rem; padding: 1rem; font-size: .875rem; }
[data-cuft2-cs-panel] > div { display: flex; flex-wrap: wrap; gap: .75rem; }
[data-cuft2-ui="cookie-banner"] label { display: inline-flex; align-items: center; gap: .5rem; }
[data-cuft2-ui="age-gate-overlay"] { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.8); }
[data-cuft2-ui="age-gate-overlay"] > div { width: 100%; max-width: 28rem; margin: 0 1rem; background: var(--cuft2-surface, #1a1a2e); color: var(--cuft2-ink, #fff); border-radius: 1rem; padding: 2rem; text-align: center; box-shadow: 0 20px 60px rgba(0,0,0,.4); }
[data-cuft2-ui="age-gate-overlay"] > div > div:last-of-type { display: flex; flex-direction: column; gap: .75rem; }
[data-cuft2-ag-action] { padding: .75rem 1.5rem; }

/* sections */
/* cuft2:header */
/* cuft2:header */
#header{position:sticky;top:0;z-index:30;background:var(--cuft2-surface);border-bottom:1px solid var(--cuft2-border)}
#header .header-shell{max-width:72rem;margin:0 auto;padding:1rem clamp(1rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
#header .brand{display:flex;flex-direction:column;gap:.2rem;text-decoration:none;color:var(--cuft2-ink)}
#header .brand-mark{font-size:1.2rem;font-weight:600;letter-spacing:-.015em;line-height:1.1}
#header .brand-note{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--cuft2-slate)}
#header .header-nav{display:flex;align-items:center;gap:2rem}
#header .nav-list{display:flex;align-items:center;gap:1.75rem;list-style:none;margin:0;padding:0}
#header .nav-list a{position:relative;display:inline-block;padding:.35rem 0;font-size:.95rem;color:var(--cuft2-text);text-decoration:none;border-bottom:1px solid transparent;transition:color 200ms ease-out,border-color 200ms ease-out}
#header .nav-list a:hover,#header .nav-list a:focus-visible{color:var(--cuft2-primary);border-bottom-color:var(--cuft2-primary)}
#header .header-cta{display:inline-flex;align-items:center;min-height:44px;padding:.7rem 1.25rem;border:1px solid var(--cuft2-ink);border-radius:2px;background:var(--cuft2-ink);color:var(--cuft2-surface);font-size:.85rem;letter-spacing:.03em;text-decoration:none;transition:background 200ms ease-out,border-color 200ms ease-out}
#header .header-cta:hover,#header .header-cta:focus-visible{background:var(--cuft2-secondary);border-color:var(--cuft2-secondary);color:var(--cuft2-surface)}
#header a:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:3px}
#header ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink)}
@media (max-width:768px){
#header .header-shell{flex-wrap:wrap;gap:1rem;padding-top:.85rem;padding-bottom:.85rem}
#header .header-nav{width:100%;flex-wrap:wrap;justify-content:space-between;gap:.85rem 1.25rem;border-top:1px solid var(--cuft2-border);padding-top:.85rem}
#header .nav-list{gap:1.25rem;flex-wrap:wrap}
#header .nav-list a{font-size:.9rem}
}
@media (max-width:420px){
#header .nav-list{width:100%;justify-content:space-between}
#header .header-cta{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
#header .nav-list a,#header .header-cta{transition:none}
}
/* cuft2:footer */
/* cuft2:footer */
#footer{background:var(--cuft2-secondary);color:var(--cuft2-mist);padding:clamp(3rem,8vw,7rem) 0 2rem}
.footer-inner,.footer-disclaimers,.footer-bottom{max-width:72rem;margin:0 auto;padding-left:clamp(1rem,4vw,3rem);padding-right:clamp(1rem,4vw,3rem)}
.footer-inner{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:1fr}
@media(min-width:768px){.footer-inner{grid-template-columns:1.5fr 1fr 1fr 1.3fr}}
.footer-wordmark{font-size:1.5rem;letter-spacing:-.01em;margin:0 0 .5rem;color:var(--cuft2-surface)}
.footer-tagline{font-size:.9375rem;line-height:1.6;margin:0 0 .75rem;max-width:34ch}
.footer-legal{font-size:.8125rem;margin:0}
.footer-heading{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin:0 0 .875rem;padding-bottom:.5rem;border-bottom:1px solid var(--cuft2-border);color:var(--cuft2-surface)}
.footer-nav ul,.footer-disclaimers ul{list-style:none;margin:0;padding:0}
.footer-nav ul{display:grid;gap:.25rem}
.footer-nav a,.footer-office a{color:var(--cuft2-mist);font-size:.9375rem;text-decoration:none;border-bottom:1px solid transparent;padding:.4rem 0;display:inline-block;transition:color 200ms,border-color 200ms}
.footer-nav a:hover,.footer-office a:hover{color:var(--cuft2-surface);border-bottom-color:var(--cuft2-accent)}
#footer a:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:3px}
.footer-office address{font-style:normal;font-size:.9375rem;line-height:1.9;margin:0 0 .875rem}
.footer-licence{font-size:.8125rem;line-height:1.6;margin:0;border-left:2px solid var(--cuft2-border);padding-left:.75rem}
.footer-disclaimers{margin-top:clamp(2rem,5vw,3.5rem);padding-top:clamp(1.5rem,4vw,2.5rem);border-top:1px solid var(--cuft2-border)}
.footer-disclaimers ul{display:grid;gap:.875rem;margin-top:.25rem}
@media(min-width:768px){.footer-disclaimers ul{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
.footer-disclaimers li{font-size:.875rem;line-height:1.6;border-left:2px solid var(--cuft2-accent);padding-left:.75rem}
.footer-bottom{margin-top:clamp(1.5rem,4vw,2.5rem);padding-top:1.25rem;border-top:1px solid var(--cuft2-border);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.8125rem}
.footer-bottom p{margin:0}
#footer ::selection{background:var(--cuft2-accent);color:var(--cuft2-surface)}
@media(prefers-reduced-motion:reduce){#footer *{transition:none!important}}
/* cuft2:hero */
/* cuft2:hero */
#hero{background:var(--cuft2-bg);color:var(--cuft2-text);font-family:"Iowan Old Style",Palatino,Georgia,serif}
#hero .hero-grid{display:grid;grid-template-columns:7fr 5fr;max-width:90rem;margin:0 auto;min-height:44rem}
#hero .media{position:relative;margin:0;overflow:hidden;background:var(--cuft2-mist)}
#hero .media img{display:block;width:100%;height:100%;object-fit:cover}
#hero .caption{position:absolute;left:1.5rem;bottom:1.5rem;padding:.5rem .75rem;background:var(--cuft2-ink);color:var(--cuft2-surface);font-size:.72rem;text-transform:uppercase}
#hero .panel{display:flex;flex-direction:column;gap:1.1rem;padding:clamp(1.5rem,3vw,3rem);background:var(--cuft2-ink);color:var(--cuft2-surface)}
#hero .title{margin:0;font-size:clamp(1.9rem,3.2vw,3.1rem);line-height:1.06;letter-spacing:-.02em}
#hero .label,#hero .index-title{margin:0 0 .6rem;color:var(--cuft2-mist);font-size:.72rem;text-transform:uppercase}
#hero .sub,#hero .note,#hero .meta{margin:0;color:var(--cuft2-mist);font-size:.78rem;line-height:1.55}
#hero .sub{max-width:34ch}
#hero .filters{display:flex;flex-wrap:wrap;gap:.5rem}
#hero .chip{min-height:44px;padding:.5rem .8rem;border:1px solid var(--cuft2-mist);background:transparent;color:var(--cuft2-surface);font:inherit;font-size:.75rem;text-transform:uppercase;cursor:pointer;transition:background .2s ease-out}
#hero .chip:hover{background:rgba(232,225,212,.16)}
#hero .chip.is-active{background:var(--cuft2-accent);border-color:var(--cuft2-accent)}
#hero .index{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(232,225,212,.3)}
#hero .dossier{list-style:none;margin:0;padding:0;max-height:14rem;overflow-y:auto}
#hero .dossier li{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;padding:.6rem 0;border-bottom:1px solid rgba(232,225,212,.2)}
#hero .dossier li[hidden]{display:none}
#hero .dossier h3{margin:0;font-size:1.05rem;font-weight:400}
#hero .price{grid-area:1/2;margin:0;font-size:.85rem;font-variant-numeric:tabular-nums;text-align:right}
#hero .meta{grid-column:1/3}
#hero .link{align-self:flex-start;color:var(--cuft2-surface);font-size:.8rem;text-underline-offset:4px}
#hero .chip:focus-visible,#hero .link:focus-visible{outline:2px solid var(--cuft2-surface);outline-offset:2px}
#hero ::selection{background:var(--cuft2-accent);color:var(--cuft2-surface)}
@media(max-width:900px){#hero .hero-grid{grid-template-columns:1fr;min-height:0}#hero .media{aspect-ratio:16/9}#hero .dossier{max-height:none}}
@media(prefers-reduced-motion:reduce){#hero .chip{transition:none}}
/* cuft2:verification */
/* cuft2:verification */
.verification{background:var(--cuft2-bg);color:var(--cuft2-text);font-family:system-ui,sans-serif;padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
.verification-inner{max-width:72rem;margin:auto}
.eyebrow,.ledger-title{margin:0 0 .75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--cuft2-primary)}
.verification-head{display:grid;gap:1rem;border-top:1px solid var(--cuft2-border);padding-top:1.5rem;margin-bottom:clamp(2rem,4vw,3rem)}
h2,h3,.ledger-trigger{font-family:Georgia,serif;color:var(--cuft2-ink)}
.verification-head h2{margin:0;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance}
.verification-head p{margin:0;max-width:46ch}
.verification-head p,.check-step p,.ledger-list li,.verification-photo figcaption{color:var(--cuft2-slate)}
.verification-grid{display:grid;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}
.check-step{border-top:1px solid var(--cuft2-border);padding-top:1rem}
.check-step h3{display:flex;gap:.6rem;align-items:baseline;margin:0 0 .4rem;font-size:1.05rem}
.step-index{font-family:ui-monospace,monospace;color:var(--cuft2-accent)}
.check-step p{margin:0 0 .5rem;font-size:.9375rem}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.375rem;margin:0 0 .5rem;padding:0}
.chip{border:1px solid var(--cuft2-border);border-radius:2px;padding:.2rem .5rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--cuft2-secondary);background:var(--cuft2-surface)}
.survey{margin:.25rem 0 0;font-size:.75rem;color:var(--cuft2-accent)}
.verification-photo{margin:0}
.verification-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;clip-path:inset(0 0 100% 0);transition:clip-path 200ms ease-out}
.verification-photo.is-visible img{clip-path:inset(0)}
.verification-photo figcaption{margin-top:.5rem;font-size:.75rem}
.ledger{margin-top:clamp(2rem,5vw,3.5rem);border-top:1px solid var(--cuft2-border);padding-top:1.5rem}
.ledger-item{border-bottom:1px solid var(--cuft2-border)}
.ledger-trigger{width:100%;min-height:44px;display:flex;justify-content:space-between;gap:1rem;align-items:center;background:none;border:0;padding:.85rem .2rem;font-size:1rem;text-align:left;cursor:pointer}
.ledger-trigger:hover{color:var(--cuft2-primary)}
.ledger-list{list-style:none;margin:0;padding:0 0 1rem}
.ledger-list li,.ledger-list b{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;font-size:.875rem}
.ledger-list b{color:var(--cuft2-primary)}
:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:2px}
::selection{background:var(--cuft2-mist);color:var(--cuft2-ink)}
@media(min-width:768px){.verification-head{grid-template-columns:1fr 1fr}.verification-grid{grid-template-columns:1.35fr 1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.verification-photo img{clip-path:none}}
/* cuft2:process */
/* cuft2:process */
#process{background:var(--cuft2-bg);color:var(--cuft2-text);padding:clamp(3rem,8vw,7rem) 0}
.process-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.process-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.5rem,4vw,3rem);border-top:1px solid var(--cuft2-ink);padding-top:1.5rem}
.process-label{grid-column:1/-1;margin:0 0 .75rem;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cuft2-slate)}
.process-title{grid-column:1;margin:0;font:700 clamp(1.5rem,3vw,2.5rem)/1.1 Georgia,Palatino,serif;letter-spacing:-.015em;text-wrap:balance;color:var(--cuft2-ink)}
.process-lead{grid-column:2;margin:0;font-size:.9375rem;line-height:1.6;color:var(--cuft2-slate)}
.process-steps{list-style:none;margin:clamp(2rem,5vw,3.5rem) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem)}
.process-step{border-top:1px solid var(--cuft2-border);padding-top:1rem}
.process-num{display:block;font:400 .8125rem/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.14em;color:var(--cuft2-accent);font-variant-numeric:tabular-nums}
.process-step h3{margin:.75rem 0 .5rem;font:600 1.25rem/1.2 Georgia,Palatino,serif;color:var(--cuft2-ink)}
.process-step p,.process-notes li{margin:0 0 .5rem;font-size:.9375rem;line-height:1.65;color:var(--cuft2-slate)}
.process-notes{margin-top:clamp(2rem,5vw,3.5rem);max-width:52rem;background:var(--cuft2-surface);border:1px solid var(--cuft2-border);border-left:2px solid var(--cuft2-primary);padding:clamp(1.25rem,3vw,2rem)}
.process-notes h3{margin:0 0 1rem;font:600 1.125rem/1.2 Georgia,Palatino,serif;color:var(--cuft2-ink)}
.process-notes ul{margin:0;padding-left:1.1rem}
.process-link{margin:1rem 0 0;font-size:.9375rem;color:var(--cuft2-text)}
.process-link a{color:var(--cuft2-secondary);text-decoration:underline;text-underline-offset:3px}
.process-link a:hover{color:var(--cuft2-accent)}
#process a{transition:color 200ms ease-out}
#process a:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:3px}
#process ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink)}
@media (max-width:768px){.process-head{grid-template-columns:1fr}.process-title,.process-lead{grid-column:1}.process-steps{grid-template-columns:1fr;gap:1.5rem}}
@media (prefers-reduced-motion:reduce){#process *{transition:none!important;animation:none!important}}
/* cuft2:regions */
/* cuft2:regions */
.regions{background:var(--cuft2-bg);color:var(--cuft2-text);padding:clamp(3rem,8vw,7rem) 0;border-top:1px solid var(--cuft2-border)}
.regions-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.regions-label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cuft2-slate);margin:0 0 .75rem}
.regions-head{border-top:1px solid var(--cuft2-ink);padding-top:1.25rem;margin-bottom:clamp(2rem,5vw,3.25rem)}
.regions-headline{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1.5rem,4vw,3rem)}
.regions-title{font-family:var(--font-serif,Georgia,'Times New Roman',serif);font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;margin:0;text-wrap:balance}
.regions-lede{margin:0;font-size:1rem;line-height:1.65;color:var(--cuft2-slate);max-width:40ch}
.regions-list{list-style:none;margin:0;padding:0}
.region-row{display:grid;grid-template-columns:2.5rem minmax(0,1.05fr) minmax(0,1.6fr) minmax(0,1.5fr);gap:clamp(1rem,3vw,2rem);align-items:baseline;padding:1.5rem 0;border-top:1px solid var(--cuft2-border)}
.region-row:last-child{border-bottom:1px solid var(--cuft2-border)}
.region-index{font-family:var(--font-mono,ui-monospace,monospace);font-size:.75rem;letter-spacing:.1em;color:var(--cuft2-accent);margin:0;font-variant-numeric:tabular-nums}
.region-name{font-family:var(--font-serif,Georgia,'Times New Roman',serif);font-size:1.15rem;letter-spacing:-.01em;margin:0}
.region-terrain,.region-access{margin:0;font-size:.9375rem;line-height:1.6;color:var(--cuft2-slate)}
.region-access{color:var(--cuft2-text)}
.regions-note{margin:2rem 0 0;padding-left:1rem;border-left:2px solid var(--cuft2-accent);font-size:.8125rem;line-height:1.6;color:var(--cuft2-slate);max-width:62ch}
.regions-note a{color:var(--cuft2-primary);text-decoration:underline;text-underline-offset:3px}
.regions-note a:hover{color:var(--cuft2-secondary)}
.regions :focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:2px}
.regions ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink)}
@media (max-width:768px){
.regions-headline{grid-template-columns:1fr}
.region-row{grid-template-columns:2.25rem minmax(0,1fr);row-gap:.4rem}
.region-index{grid-row:1 / span 3}
.region-name,.region-terrain,.region-access{grid-column:2}
}
@media (prefers-reduced-motion:reduce){.regions *{transition:none!important}}
/* cuft2:contact */
/* cuft2:contact */
#contact{background:var(--cuft2-bg);color:var(--cuft2-text);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);font-family:var(--cuft2-font,Georgia,serif)}
#contact .contact-inner{max-width:72rem;margin:0 auto}
#contact .contact-label{margin:0;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cuft2-slate)}
#contact .contact-rule{height:1px;background:var(--cuft2-border);margin:.75rem 0 clamp(1.5rem,4vw,3rem)}
#contact .contact-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
#contact .contact-heading{margin:0 0 1rem;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance;color:var(--cuft2-ink)}
#contact .contact-text{margin:0;max-width:34rem;color:var(--cuft2-slate);line-height:1.7}
#contact .contact-list{margin:0 0 1.5rem;border-top:1px solid var(--cuft2-border)}
#contact .contact-row{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--cuft2-border)}
#contact .contact-row dt{margin:0;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cuft2-slate)}
#contact .contact-row dd{margin:0;text-align:right;color:var(--cuft2-ink)}
#contact .contact-phone{font-variant-numeric:tabular-nums}
#contact .contact-link{color:var(--cuft2-secondary);text-decoration:underline;text-underline-offset:3px}
#contact .contact-link:hover{color:var(--cuft2-accent)}
#contact .contact-link:focus-visible,#contact .contact-cta:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:3px}
#contact .contact-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:1rem 1.75rem;background:var(--cuft2-primary);color:var(--cuft2-surface);border:1px solid var(--cuft2-primary);text-decoration:none;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;transition:background-color .2s ease-out,border-color .2s ease-out}
#contact .contact-cta:hover{background:var(--cuft2-secondary);border-color:var(--cuft2-secondary)}
#contact .contact-note{margin:1rem 0 0;font-size:.875rem;color:var(--cuft2-slate)}
#contact ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink)}
@media (max-width:768px){#contact .contact-grid{grid-template-columns:1fr}
#contact .contact-row dd{text-align:left}}
@media (prefers-reduced-motion:reduce){#contact .contact-cta{transition:none}}
/* cuft2:process-intro */
/* cuft2:process-intro */
#process-intro{background:var(--cuft2-bg);color:var(--cuft2-text);font-family:'Iowan Old Style',Palatino,Georgia,'Times New Roman',serif;padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem);}
#process-intro .process-intro__inner{max-width:72rem;margin:0 auto;}
#process-intro .process-intro__label{margin:0;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cuft2-slate);}
#process-intro .process-intro__rule{display:block;height:1px;background:var(--cuft2-border);margin:.875rem 0 clamp(1.5rem,4vw,2.75rem);}
#process-intro .process-intro__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
#process-intro .process-intro__title{margin:0;font-weight:400;font-size:clamp(1.75rem,3.2vw,2.75rem);line-height:1.14;letter-spacing:-.015em;text-wrap:balance;color:var(--cuft2-ink);}
#process-intro .process-intro__body{font-size:1.0625rem;line-height:1.7;max-width:38rem;}
#process-intro .process-intro__body p{margin:0;}
#process-intro .process-intro__body p+p{margin-top:1rem;}
#process-intro .process-intro__link{margin-top:1.5rem !important;}
#process-intro a{color:var(--cuft2-secondary);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.28em;transition:color 200ms ease-out;}
#process-intro a:hover{color:var(--cuft2-accent);}
#process-intro a:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:3px;}
#process-intro ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink);}
@media (max-width:768px){#process-intro .process-intro__grid{grid-template-columns:1fr;gap:1.5rem;}}
@media (prefers-reduced-motion:reduce){#process-intro a{transition:none;}}
/* cuft2:process-steps */
/* cuft2:process-steps */
.ps{background:var(--cuft2-bg);color:var(--cuft2-text);padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem)}
.ps .inner{max-width:72rem;margin:auto}
.ps h2,.ps h3,.ps p,.ps ol,.ps ul,.ps .num,.ps .label,.ps .meta{margin:0}
.ps ol,.ps ul{padding:0;list-style:none}
.ps .label,.ps .meta,.ps .chip{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.ps .label{color:var(--cuft2-accent);margin-bottom:.6rem}
.ps .meta{color:var(--cuft2-slate);margin-bottom:.6rem}
.ps h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance;color:var(--cuft2-ink);margin-bottom:1rem}
.ps h3{font-size:1.25rem;letter-spacing:-.01em;color:var(--cuft2-ink);margin-bottom:.35rem}
.ps .lede{max-width:46rem;line-height:1.65;color:var(--cuft2-slate);margin-bottom:clamp(1.5rem,4vw,3rem)}
.ps .step{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1.5rem;padding:1.75rem 0;border-top:1px solid var(--cuft2-border)}
.ps .step:last-child{border-bottom:1px solid var(--cuft2-border)}
.ps .num{font-size:1.5rem;color:var(--cuft2-primary);font-variant-numeric:tabular-nums}
.ps .text{max-width:52ch;line-height:1.68}
.ps .ledger{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.ps .chip{border:1px solid var(--cuft2-border);border-radius:2px;padding:.3rem .55rem;background:var(--cuft2-surface);color:var(--cuft2-ink)}
.ps .chip--verified{border-color:var(--cuft2-primary);color:var(--cuft2-secondary)}
.ps .chip--pending{border-color:var(--cuft2-accent);color:var(--cuft2-accent)}
.ps .cta{margin-top:clamp(2rem,5vw,3rem)}
.ps .btn{display:inline-flex;align-items:center;min-height:44px;padding:.75rem 1.25rem;border-radius:2px;text-decoration:none}
.ps .btn--solid{background:var(--cuft2-primary);border:1px solid var(--cuft2-primary);color:var(--cuft2-surface)}
.ps .btn--ghost{border:1px solid var(--cuft2-ink);color:var(--cuft2-ink);margin-left:.75rem}
.ps .btn--solid:hover{background:var(--cuft2-secondary);border-color:var(--cuft2-secondary)}
.ps .btn--ghost:hover{background:var(--cuft2-ink);color:var(--cuft2-surface)}
.ps :focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:3px}
.ps ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink)}
@media(max-width:640px){.ps .step{grid-template-columns:1fr;gap:.5rem}.ps .btn--ghost{margin:.75rem 0 0}}
@media(prefers-reduced-motion:reduce){.ps *{transition:none!important}}
/* cuft2:process-notes */
/* cuft2:process-notes */
.process-notes{background:var(--cuft2-bg);color:var(--cuft2-text);padding:clamp(3rem,8vw,7rem) 0;}
.process-notes__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
.process-notes__label{margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--cuft2-border);font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--cuft2-slate);}
.process-notes__grid{display:grid;grid-template-columns:1fr;gap:clamp(1.5rem,4vw,3rem);}
.process-notes__title{font-family:Georgia,'Iowan Old Style',serif;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.015em;text-wrap:balance;margin:0 0 1rem;color:var(--cuft2-ink);}
.process-notes__text{margin:0;font-size:1rem;line-height:1.65;color:var(--cuft2-slate);}
.process-notes__disclaimer{margin:1.5rem 0 0;padding-left:.75rem;border-left:2px solid var(--cuft2-accent);font-size:.8125rem;line-height:1.55;color:var(--cuft2-slate);}
.process-notes__list{list-style:none;margin:0;padding:0;}
.note-row{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--cuft2-border);}
.note-row:last-child{border-bottom:1px solid var(--cuft2-border);}
.note-row__index{margin:0;padding-top:.15rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--cuft2-accent);}
.note-row__title{font-family:Georgia,'Iowan Old Style',serif;font-size:1.0625rem;letter-spacing:-.005em;margin:0 0 .5rem;color:var(--cuft2-ink);}
.note-row__text{margin:0 0 .75rem;font-size:.9375rem;line-height:1.6;color:var(--cuft2-text);}
.note-row__meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cuft2-slate);}
.note-chip{border:1px solid var(--cuft2-border);background:var(--cuft2-mist);color:var(--cuft2-secondary);padding:.2rem .45rem;border-radius:2px;}
.process-notes__cta{display:inline-block;margin-top:2rem;padding-bottom:.15rem;border-bottom:1px solid var(--cuft2-primary);color:var(--cuft2-primary);font-weight:600;text-decoration:none;transition:color 200ms ease-out,border-color 200ms ease-out;}
.process-notes__cta:hover{color:var(--cuft2-accent);border-color:var(--cuft2-accent);}
.process-notes__cta:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:3px;}
.process-notes ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink);}
@media(min-width:1024px){.process-notes__grid{grid-template-columns:4fr 7fr;}}
@media(prefers-reduced-motion:reduce){.process-notes *{transition:none;}}

/* cuft2:process-cta */
/* cuft2:process-cta */
#process-cta {
  background: var(--cuft2-bg);
  color: var(--cuft2-text);
  padding: clamp(3rem, 8vw, 7rem) clamp(1rem, 4vw, 3rem);
}
#process-cta .process-cta__inner {
  max-width: 72rem;
  margin: 0 auto;
  border-top: 1px solid var(--cuft2-border);
  padding-top: clamp(1.5rem, 4vw, 3rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(1.5rem, 4vw, 3rem);
}
#process-cta .process-cta__label {
  margin: 0 0 0.75rem;
  font-family: var(--cuft2-font-sans, 'Iowan Old Style', Palatino, Georgia, serif);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--cuft2-slate);
}
#process-cta .process-cta__title {
  margin: 0;
  font-family: 'Iowan Old Style', Palatino, Georgia, serif;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -0.015em;
  text-wrap: balance;
  max-width: 34ch;
  color: var(--cuft2-ink);
}
#process-cta .process-cta__text {
  margin: 1rem 0 0;
  max-width: 58ch;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--cuft2-slate);
}
#process-cta .process-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.9rem 1.75rem;
  background: var(--cuft2-ink);
  color: var(--cuft2-surface);
  border: 1px solid var(--cuft2-ink);
  border-radius: 2px;
  font-family: 'Iowan Old Style', Palatino, Georgia, serif;
  font-size: 0.9375rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 200ms ease-out, color 200ms ease-out;
}
#process-cta .process-cta__button:hover,
#process-cta .process-cta__button:focus-visible {
  background: var(--cuft2-secondary);
  border-color: var(--cuft2-secondary);
  color: var(--cuft2-surface);
}
#process-cta .process-cta__button:focus-visible {
  outline: 2px solid var(--cuft2-accent);
  outline-offset: 3px;
}
#process-cta .process-cta__button:active {
  background: var(--cuft2-primary);
  border-color: var(--cuft2-primary);
}
#process-cta ::selection {
  background: var(--cuft2-mist);
  color: var(--cuft2-ink);
}
@media (max-width: 768px) {
  #process-cta .process-cta__inner {
    grid-template-columns: 1fr;
    align-items: start;
  }
  #process-cta .process-cta__button {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  #process-cta .process-cta__button {
    transition: none;
  }
}
/* cuft2:contact-intro */
/* cuft2:contact-intro */
#contact-intro{background:var(--cuft2-bg);color:var(--cuft2-text);padding:clamp(3rem,8vw,7rem) 0}
#contact-intro .contact-intro__inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#contact-intro .contact-intro__label{display:block;margin:0 0 1rem;font-family:'Iowan Old Style',Palatino,Georgia,serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cuft2-slate)}
#contact-intro .contact-intro__rule{display:block;height:1px;margin:0 0 clamp(2rem,5vw,3.5rem);background:var(--cuft2-border)}
#contact-intro .contact-intro__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}
#contact-intro .contact-intro__title{margin:0;max-width:22ch;font-family:'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:400;line-height:1.15;letter-spacing:-.02em;text-wrap:balance;color:var(--cuft2-ink)}
#contact-intro .contact-intro__body{max-width:52ch;font-family:'Iowan Old Style',Palatino,Georgia,serif;font-size:1rem;line-height:1.7;color:var(--cuft2-text)}
#contact-intro .contact-intro__body p{margin:0 0 1rem}
#contact-intro .contact-intro__body p:last-of-type{color:var(--cuft2-slate);font-size:.9375rem}
#contact-intro .contact-intro__link{display:inline-flex;align-items:center;min-height:44px;margin-top:.75rem;padding:.7rem 1.35rem;border:1px solid var(--cuft2-primary);border-radius:2px;background:var(--cuft2-surface);color:var(--cuft2-primary);font-family:'Iowan Old Style',Palatino,Georgia,serif;font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background-color 200ms ease-out,color 200ms ease-out}
#contact-intro .contact-intro__link:hover{background:var(--cuft2-primary);color:var(--cuft2-surface)}
#contact-intro .contact-intro__link:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:2px}
#contact-intro ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink)}
@media (max-width:768px){#contact-intro .contact-intro__grid{grid-template-columns:1fr}#contact-intro .contact-intro__title{max-width:none}}
@media (prefers-reduced-motion:reduce){#contact-intro .contact-intro__link{transition:none}}
/* cuft2:contact-form */
/* cuft2:contact-form */
#contact-form{background:var(--cuft2-bg);color:var(--cuft2-text);padding:clamp(3rem,8vw,6rem) clamp(1rem,4vw,3rem);font-family:'Iowan Old Style',Palatino,Georgia,serif}
#contact-form *{box-sizing:border-box}
.brief-inner{max-width:72rem;margin:0 auto}
.brief-head{border-bottom:1px solid var(--cuft2-border);padding-bottom:clamp(1.5rem,3vw,2.5rem);margin-bottom:clamp(2rem,4vw,3rem)}
.brief-label{margin:0 0 .6rem;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cuft2-slate)}
.brief-title{margin:0 0 .9rem;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.02em;text-wrap:balance;color:var(--cuft2-ink)}
.brief-lede,.brief-note{margin:0 0 .6rem;font-size:.9375rem;line-height:1.6;color:var(--cuft2-slate)}
.brief-lede{max-width:42rem}
.brief-panel{display:grid;gap:clamp(1.5rem,4vw,3rem)}
.brief-aside{background:var(--cuft2-surface);border:1px solid var(--cuft2-border);padding:clamp(1.25rem,3vw,2rem)}
.brief-aside h3{margin:0 0 1rem;font-size:1.125rem;color:var(--cuft2-ink)}
.brief-steps{list-style:none;margin:0 0 1.4rem;padding:0;display:grid;gap:.8rem;font-size:.9375rem;line-height:1.5}
.brief-steps span{color:var(--cuft2-accent);font-weight:700;margin-right:.5rem;font-variant-numeric:tabular-nums}
.brief-note a{color:var(--cuft2-secondary);border-bottom:1px solid var(--cuft2-primary);text-decoration:none}
.brief-note a:hover{border-bottom-color:var(--cuft2-accent)}
.brief-form{display:grid;gap:1.1rem;align-content:start}
.brief-row{display:grid;gap:1.1rem}
.brief-field{display:grid;gap:.4rem}
.brief-field label{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cuft2-slate)}
.brief-field input,.brief-field select,.brief-field textarea{font:inherit;font-size:1rem;color:var(--cuft2-ink);background:var(--cuft2-surface);border:1px solid var(--cuft2-border);border-radius:2px;padding:.75rem .85rem;min-height:44px;width:100%}
.brief-field textarea{min-height:8rem;resize:vertical}
.brief-field input:focus-visible,.brief-field select:focus-visible,.brief-field textarea:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:2px;border-color:var(--cuft2-primary)}
.brief-consent{display:grid;grid-template-columns:1.25rem 1fr;gap:.7rem;align-items:start;font-size:.875rem;line-height:1.55;color:var(--cuft2-text)}
.brief-consent input{width:1.15rem;height:1.15rem;margin:.15rem 0 0;accent-color:var(--cuft2-primary)}
.brief-consent a{color:var(--cuft2-secondary)}
.brief-submit{justify-self:start;min-height:44px;padding:.9rem 2rem;background:var(--cuft2-primary);color:var(--cuft2-surface);border:1px solid var(--cuft2-primary);border-radius:2px;font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background 200ms ease-out}
.brief-submit:hover{background:var(--cuft2-secondary);border-color:var(--cuft2-secondary)}
.brief-submit:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:3px}
#contact-form ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink)}
@media (min-width:640px){.brief-row{grid-template-columns:1fr 1fr}}
@media (min-width:768px){.brief-panel{grid-template-columns:5fr 7fr}}
@media (prefers-reduced-motion:reduce){.brief-submit{transition:none}}
/* cuft2:contact-details */
/* cuft2:contact-details */
.contact-details{background:var(--cuft2-bg);color:var(--cuft2-text);padding:clamp(3rem,8vw,7rem) 0}
.details-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
.details-label{margin:0;font-size:.8125rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cuft2-slate)}
.details-rule{height:1px;background:var(--cuft2-border);margin:.75rem 0 clamp(2rem,4vw,3rem)}
.details-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.details-title{margin:0 0 1.25rem;font-family:var(--font-serif,'Iowan Old Style',Georgia,serif);font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.015em;text-wrap:balance;color:var(--cuft2-ink)}
.details-list{margin:0}
.details-row{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.85rem 0;border-top:1px solid var(--cuft2-border)}
.details-row:last-child{border-bottom:1px solid var(--cuft2-border)}
.details-row dt{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cuft2-slate)}
.details-row dd{margin:0;font-size:1rem;line-height:1.5;font-variant-numeric:tabular-nums}
.details-list a{color:var(--cuft2-primary);text-decoration:underline;text-underline-offset:3px}
.details-list a:hover{color:var(--cuft2-accent)}
.details-note{background:var(--cuft2-surface);border:1px solid var(--cuft2-border);border-left:3px solid var(--cuft2-accent);padding:clamp(1.25rem,3vw,2rem)}
.details-note h3{margin:0 0 .75rem;font-family:var(--font-serif,'Iowan Old Style',Georgia,serif);font-size:1.125rem;letter-spacing:-.01em;color:var(--cuft2-ink)}
.details-note p{margin:0 0 1rem;font-size:.9375rem;line-height:1.6;color:var(--cuft2-text)}
.details-cta-line{margin:1.5rem 0 0}
.details-link{display:inline-block;padding:.75rem 1.25rem;min-height:44px;background:var(--cuft2-primary);color:var(--cuft2-surface);border:1px solid var(--cuft2-primary);border-radius:2px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color 200ms ease-out,color 200ms ease-out}
.details-link:hover{background:var(--cuft2-secondary);border-color:var(--cuft2-secondary);color:var(--cuft2-surface)}
.details-link:focus-visible,.details-list a:focus-visible{outline:2px solid var(--cuft2-accent);outline-offset:2px}
.contact-details ::selection{background:var(--cuft2-mist);color:var(--cuft2-ink)}
@media (max-width:860px){.details-grid{grid-template-columns:1fr}.details-row{grid-template-columns:1fr;gap:.25rem}}
@media (prefers-reduced-motion:reduce){.details-link{transition:none}}
.policy-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1rem;
  font-family: var(--cuft2-font);
  color: var(--cuft2-text);
  background-color: var(--cuft2-bg);
}
.policy-header h1 {
  font-family: var(--cuft2-font-display);
  color: var(--cuft2-primary);
  font-size: 2rem;
  margin-bottom: 0.5rem;
  border-bottom: 2px solid var(--cuft2-border);
  padding-bottom: 0.5rem;
}
.policy-intro {
  color: var(--cuft2-slate);
  font-size: 1.1rem;
  margin-bottom: 2rem;
}
.policy-section {
  margin-bottom: 1.5rem;
}
.policy-section h2 {
  font-family: var(--cuft2-font-display);
  color: var(--cuft2-secondary);
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}
.policy-section p {
  line-height: 1.6;
  color: var(--cuft2-text);
}
.policy-footer {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--cuft2-border);
  color: var(--cuft2-slate);
  font-size: 0.95rem;
}
.policy-footer h2 {
  font-family: var(--cuft2-font-display);
  color: var(--cuft2-secondary);
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}
.policy-footer p {
  margin: 0.25rem 0;
}
.privacy-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  background: var(--cuft2-surface);
  color: var(--cuft2-text);
  font-family: var(--cuft2-font);
  line-height: 1.6;
}
.policy-header {
  border-bottom: 2px solid var(--cuft2-border);
  margin-bottom: 2rem;
  padding-bottom: 1rem;
}
.policy-header h1 {
  font-family: var(--cuft2-font-display);
  color: var(--cuft2-primary);
  margin: 0;
  font-size: 2rem;
}
.policy-meta {
  color: var(--cuft2-slate);
  font-size: 0.9rem;
  margin: 0.5rem 0 0;
}
section {
  margin-bottom: 1.5rem;
}
h2 {
  font-family: var(--cuft2-font-display);
  color: var(--cuft2-secondary);
  font-size: 1.3rem;
  margin: 0 0 0.5rem;
}
p {
  margin: 0 0 0.75rem;
}
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: 400px;
}
.contact-form label {
  font-weight: bold;
  color: var(--cuft2-ink);
}
.contact-form input,
.contact-form textarea {
  padding: 0.5rem;
  border: 1px solid var(--cuft2-border);
  border-radius: var(--cuft2-radius-sm, 2px);
  font-family: var(--cuft2-font);
  background: var(--cuft2-bg);
  color: var(--cuft2-text);
}
.btn-submit {
  background: var(--cuft2-primary);
  color: var(--cuft2-surface);
  border: none;
  padding: 0.6rem 1.2rem;
  font-family: var(--cuft2-font);
  font-size: 1rem;
  cursor: pointer;
  border-radius: var(--cuft2-radius-sm, 2px);
  margin-top: 0.5rem;
}
.btn-submit:hover {
  background: var(--cuft2-secondary);
}
.policy-footer {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--cuft2-border);
  color: var(--cuft2-slate);
  font-size: 0.9rem;
}
.policy-footer p {
  margin: 0.25rem 0;
}
.policy-page{max-width:800px;margin:0 auto;padding:2rem 1.5rem;background:var(--cuft2-bg);color:var(--cuft2-text);font-family:var(--cuft2-font);line-height:1.6}.policy-header{border-bottom:2px solid var(--cuft2-border);padding-bottom:1rem;margin-bottom:2rem}.policy-header h1{font-family:var(--cuft2-font-display);color:var(--cuft2-primary);font-size:2.2rem;margin:0 0 0.5rem}.policy-meta{color:var(--cuft2-slate);font-size:0.9rem}.policy-content h2{font-family:var(--cuft2-font-display);color:var(--cuft2-secondary);font-size:1.5rem;margin:2rem 0 0.75rem}.policy-content p{margin:0 0 1rem}.policy-content ul{margin:0 0 1rem 1.5rem;padding:0}.policy-content li{margin-bottom:0.5rem}.policy-content a{color:var(--cuft2-accent);text-decoration:underline}.policy-footer{margin-top:3rem;padding-top:1.5rem;border-top:2px solid var(--cuft2-border);font-size:0.9rem;color:var(--cuft2-slate)}.policy-footer h2{font-size:1.2rem;color:var(--cuft2-secondary);margin-bottom:0.5rem}.policy-footer p{margin:0.25rem 0}
body { margin:0; background: var(--cuft2-bg); color: var(--cuft2-text); font-family: var(--cuft2-font); line-height:1.5; }
.policy-page { max-width: 780px; margin: 0 auto; padding: 2rem 1.5rem; }
.policy-page h1 { font-family: var(--cuft2-font-display); color: var(--cuft2-ink); font-size: 2rem; margin: 0 0 1rem; border-bottom: 2px solid var(--cuft2-border); padding-bottom: .5rem; }
.policy-page h2 { font-family: var(--cuft2-font-display); color: var(--cuft2-secondary); font-size: 1.25rem; margin: 2rem 0 .75rem; }
.policy-page p { margin: 0 0 1rem; }
.policy-intro { font-size: 1.1rem; color: var(--cuft2-slate); }
.policy-page section { margin-bottom: 1.5rem; }
.contact-form { display: flex; flex-direction: column; gap: .5rem; max-width: 400px; margin-top: .5rem; }
.contact-form label { font-weight: bold; color: var(--cuft2-secondary); }
.contact-form input, .contact-form textarea { padding: .5rem; border: 1px solid var(--cuft2-border); border-radius: var(--radius-sm, 2px); background: var(--cuft2-surface); font-family: inherit; font-size: 1rem; }
.contact-form button { background: var(--cuft2-primary); color: white; border: none; padding: .75rem 1rem; font-family: inherit; font-size: 1rem; cursor: pointer; border-radius: var(--radius-sm, 2px); align-self: flex-start; }
.contact-form button:hover { background: var(--cuft2-secondary); }
.policy-footer { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--cuft2-border); font-size: .95rem; color: var(--cuft2-slate); }
.policy-footer address { font-style: normal; margin-bottom: .5rem; }
.policy-footer a { color: var(--cuft2-primary); text-decoration: underline; }
.vat-note { font-style: italic; }
:root{--cuft2-primary:#4E6B4A;--cuft2-secondary:#3C5238;--cuft2-accent:#B0603C;--cuft2-ink:#1E211C;--cuft2-slate:#5C6157;--cuft2-mist:#E8E1D4;--cuft2-border:#D8CEBB;--cuft2-surface:#FEFCF7;--cuft2-bg:#F6F2EA;--cuft2-text:#23261F;--cuft2-font:'Iowan Old Style',Palatino,Georgia,'Times New Roman',serif}body{margin:0;background:var(--cuft2-bg);color:var(--cuft2-text);font-family:var(--cuft2-font);line-height:1.6}.policy-page{max-width:960px;margin:0 auto;padding:2rem 1.5rem;background:var(--cuft2-surface);border:1px solid var(--cuft2-border);box-shadow:0 2px 8px rgba(0,0,0,0.05)}.policy-page h1{font-size:2rem;color:var(--cuft2-primary);margin-top:0;border-bottom:2px solid var(--cuft2-mist);padding-bottom:0.5rem}.policy-page h2{font-size:1.35rem;color:var(--cuft2-secondary);margin-top:2rem;margin-bottom:0.5rem}.policy-page p{margin:0.75rem 0}.policy-page section{margin-bottom:1.5rem}.policy-page .contact-info p{background:var(--cuft2-mist);padding:1rem;border-left:4px solid var(--cuft2-primary);font-size:0.95rem}.inquiry-form{margin-top:2rem;padding:1.5rem;background:var(--cuft2-bg);border:1px solid var(--cuft2-border)}.inquiry-form label{display:block;font-weight:600;margin-bottom:0.5rem;color:var(--cuft2-ink)}.inquiry-form input[type='email']{width:100%;padding:0.75rem;border:1px solid var(--cuft2-border);border-radius:var(--radius-sm,2px);font-family:var(--cuft2-font);font-size:1rem;background:var(--cuft2-surface);color:var(--cuft2-text);margin-bottom:1rem}.inquiry-form button{background:var(--cuft2-primary);color:#fff;border:none;padding:0.75rem 1.5rem;font-family:var(--cuft2-font);font-size:1rem;cursor:pointer;border-radius:var(--radius-sm,2px)}.inquiry-form button:hover{background:var(--cuft2-secondary)}
:root {
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-12: 3rem;
}

.policy-page {
  max-width: 72rem;
  margin: 0 auto;
  padding: var(--spacing-8) var(--spacing-6);
  font-family: var(--cuft2-font);
  color: var(--cuft2-text);
  background: var(--cuft2-bg);
  line-height: 1.6;
}

.policy-content {
  background: var(--cuft2-surface);
  border: 1px solid var(--cuft2-border);
  padding: var(--spacing-8);
  border-radius: var(--radius-sm);
}

.policy-title {
  font-family: var(--cuft2-font-display);
  font-size: 2.2rem;
  color: var(--cuft2-primary);
  margin-top: 0;
  margin-bottom: var(--spacing-4);
  border-bottom: 2px solid var(--cuft2-mist);
  padding-bottom: var(--spacing-2);
}

.policy-intro {
  font-size: 1.1rem;
  color: var(--cuft2-slate);
  margin-bottom: var(--spacing-6);
}

.policy-section {
  margin-bottom: var(--spacing-6);
}

.policy-section h2 {
  font-family: var(--cuft2-font-display);
  font-size: 1.4rem;
  color: var(--cuft2-secondary);
  margin-top: 0;
  margin-bottom: var(--spacing-2);
}

.policy-section p {
  margin: 0 0 var(--spacing-2);
  color: var(--cuft2-text);
}

.policy-section a {
  color: var(--cuft2-accent);
  text-decoration: underline;
}

.business-info {
  margin-top: var(--spacing-8);
  padding: var(--spacing-6);
  background: var(--cuft2-mist);
  border-left: 4px solid var(--cuft2-accent);
}

.business-info__title {
  font-family: var(--cuft2-font-display);
  font-size: 1.2rem;
  color: var(--cuft2-primary);
  margin-top: 0;
  margin-bottom: var(--spacing-2);
}

.business-info__details {
  font-style: normal;
  color: var(--cuft2-slate);
  line-height: 1.8;
}

.business-info__details a {
  color: var(--cuft2-secondary);
  text-decoration: none;
  border-bottom: 1px dotted var(--cuft2-border);
}

.business-info__details a:hover {
  color: var(--cuft2-accent);
}

@media (max-width: 600px) {
  .policy-page {
    padding: var(--spacing-4) var(--spacing-3);
  }
  .policy-content {
    padding: var(--spacing-4);
  }
  .policy-title {
    font-size: 1.8rem;
  }
}
:root{--cuft2-primary:#4E6B4A;--cuft2-secondary:#3C5238;--cuft2-accent:#B0603C;--cuft2-ink:#1E211C;--cuft2-slate:#5C6157;--cuft2-mist:#E8E1D4;--cuft2-border:#D8CEBB;--cuft2-surface:#FEFCF7;--cuft2-bg:#F6F2EA;--cuft2-text:#23261F;--cuft2-font:'Iowan Old Style',Palatino,Georgia,'Times New Roman',serif;--cuft2-font-display:'Iowan Old Style','Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif}body{background:var(--cuft2-bg);color:var(--cuft2-text);font-family:var(--cuft2-font);line-height:1.6;margin:0;padding:0}.thank-you-page{max-width:780px;margin:0 auto;padding:3rem 1.5rem}.page-header{border-bottom:1px solid var(--cuft2-border);padding-bottom:1.5rem;margin-bottom:2rem}.page-header h1{font-family:var(--cuft2-font-display);font-size:2.5rem;color:var(--cuft2-ink);margin:0;letter-spacing:-0.02em}.confirmation{background:var(--cuft2-surface);border:1px solid var(--cuft2-border);padding:2rem;margin-bottom:2rem;border-radius:var(--radius-md)}.confirmation p{margin:0 0 1rem}.contact-details{list-style:none;padding:0;margin:1rem 0 0}.contact-details li{margin-bottom:0.5rem}.contact-details a{color:var(--cuft2-primary);text-decoration:underline;text-underline-offset:2px}.legal-info{background:var(--cuft2-mist);border-left:4px solid var(--cuft2-secondary);padding:1.5rem 1.5rem 1.5rem 1.75rem;margin-bottom:2rem;border-radius:var(--radius-sm)}.legal-info h2{font-family:var(--cuft2-font-display);font-size:1.25rem;color:var(--cuft2-ink);margin:0 0 0.75rem}.legal-info a{color:var(--cuft2-secondary)}.business-footer{border-top:1px solid var(--cuft2-border);padding-top:2rem;margin-top:2rem;color:var(--cuft2-slate);font-size:0.9375rem}.business-footer h2{font-family:var(--cuft2-font-display);font-size:1.125rem;color:var(--cuft2-ink);margin:0 0 1rem}.business-footer address{font-style:normal}.business-footer address p{margin:0 0 0.35rem}.business-footer a{color:var(--cuft2-primary);text-decoration:none}.business-footer a:hover{text-decoration:underline}@media (max-width:600px){.thank-you-page{padding:2rem 1rem}.page-header h1{font-size:2rem}.confirmation{padding:1.5rem}}
section[data-cuft2-s36]:not([data-cuft2-s36='header']):not([data-cuft2-s36='footer']) { position: relative; }
section[data-cuft2-s36]:not([data-cuft2-s36='header']):not([data-cuft2-s36='footer']) > :first-child { transform: translateX(clamp(0rem, 2vw, 2rem)); }
section[data-cuft2-s36]:nth-of-type(even) > :first-child { transform: translateX(clamp(-2rem, -2vw, 0rem)); }
section[data-cuft2-s36] h1, section[data-cuft2-s36] h2 { max-width: 18ch; letter-spacing: -0.04em; }
:root {
  --cuft2-c-content-width: 72rem;
  --cuft2-c-gutter: clamp(1rem, 4vw, 3rem);
  --cuft2-c-measure: 65ch;
  --cuft2-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-cuft2-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-cuft2-s36] { padding-inline: var(--cuft2-c-gutter); }
[data-cuft2-dr*='article'], [data-cuft2-dr*='review'] { max-width: var(--cuft2-c-measure); }
h1 { font-size: var(--cuft2-c-heading-display); }
@media (max-width: 768px) { [data-cuft2-dr] { min-width: 0; } }