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

/* design tokens */
:root {
  --o09fca-primary: #C46A2A;
  --o09fca-secondary: #5B524A;
  --o09fca-accent: #C46A2A;
  --o09fca-ink: #111111;
  --o09fca-slate: #6A5F58;
  --o09fca-mist: #E7DDCF;
  --o09fca-border: #E7DDCF;
  --o09fca-surface: #F4EFE6;
  --o09fca-bg: #FBF6EF;
  --o09fca-text: #111111;
  --o09fca-font: 'Segoe UI', Candara, 'Gill Sans', 'Trebuchet MS', sans-serif;
  --o09fca-font-display: 'Optima', 'Segoe UI', Candara, 'Gill Sans', 'Gill Sans MT', sans-serif;
}

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

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

/* sections */
/* o09fca:header */
/* o09fca:header */
#header{
  --h-pad: clamp(16px, 3vw, 28px);
  background: var(--o09fca-bg);
  border-bottom: 1px solid var(--o09fca-border);
  color: var(--o09fca-text);
  position: sticky;
  top: 0;
  z-index: 50;
}
#header .header__inner{
  max-width: 72rem;
  margin: 0 auto;
  padding: calc(var(--h-pad) - 6px) var(--h-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
#header .header__brand{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--o09fca-ink);
  min-height: 44px;
}
#header .header__brand-mark{
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--o09fca-border);
  border-radius: var(--radius-sm, 6px);
  color: var(--o09fca-primary);
  font-size: 18px;
  line-height: 1;
}
#header .header__brand-text{
  font-family: var(--font-sans, 'Segoe UI', Candara, 'Gill Sans', 'Trebuchet MS', sans-serif);
  font-weight: 800;
  letter-spacing: -0.02em;
}
#header .header__nav{ display: none; }
#header .header__nav-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 18px;
}
#header .header__nav-link{
  display: inline-flex;
  align-items: center;
  padding: 10px 2px;
  color: var(--o09fca-secondary);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 2px solid transparent;
}
#header .header__nav-link:focus-visible{
  outline: 3px solid color-mix(in oklab, var(--o09fca-primary) 35%, transparent);
  outline-offset: 4px;
  border-radius: 6px;
}
#header .header__nav-link:hover{
  color: var(--o09fca-ink);
  border-bottom-color: var(--o09fca-primary);
}
#header .header__cta{ display: none; }
#header .header__cta-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 14px;
  background: var(--o09fca-primary);
  color: #fff;
  text-decoration: none;
  border-radius: var(--radius-md, 8px);
  font-weight: 800;
  letter-spacing: -0.01em;
  border: 1px solid var(--o09fca-primary);
}
#header .header__cta-link:focus-visible{
  outline: 3px solid color-mix(in oklab, var(--o09fca-primary) 45%, transparent);
  outline-offset: 4px;
}
#header .header__cta-link:hover{ background: color-mix(in oklab, var(--o09fca-primary) 88%, #000 12%); }

#header .header__menu-toggle{
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  min-width: 44px;
  padding: 10px;
  background: transparent;
  border: 1px solid var(--o09fca-border);
  border-radius: var(--radius-md, 8px);
  cursor: pointer;
}
#header .header__menu-toggle-line{
  display: block;
  height: 2px;
  width: 22px;
  background: var(--o09fca-secondary);
  border-radius: 2px;
}
#header .header__menu-toggle:focus-visible{
  outline: 3px solid color-mix(in oklab, var(--o09fca-primary) 35%, transparent);
  outline-offset: 4px;
}

/* Mobile menu (no JS required for visibility; assembler/theme can enhance) */
@media (max-width: 767px){
  #header .header__nav{ 
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--o09fca-surface);
    border-bottom: 1px solid var(--o09fca-border);
    padding: 14px var(--h-pad);
    transform: translateY(-6px);
    opacity: 0;
    pointer-events: none;
  }
  #header .header__nav[data-open="true"]{ 
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  #header .header__nav-list{ flex-direction: column; align-items: flex-start; gap: 6px; }
  #header .header__nav-link{ padding: 12px 2px; }
  #header .header__cta{ display: none; }
}

@media (min-width: 768px){
  #header .header__menu-toggle{ display: none; }
  #header .header__nav{ display: block; }
  #header .header__cta{ display: block; }
}

::selection{ background: color-mix(in oklab, var(--o09fca-primary) 25%, #fff); }
#header a{ color: inherit; }
@media (prefers-reduced-motion: reduce){
  #header .header__nav{ transition: none !important; }
}

/* o09fca:footer */
/* o09fca:footer */
#footer.footer{background:var(--o09fca-bg);color:var(--o09fca-ink);padding:clamp(2.5rem,6vw,5.5rem) 0;}
#footer .footer-inner{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#footer .footer-top{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;}
#footer .footer-brand .brand-mark{font-family:var(--o09fca-serif, 'Optima', 'Segoe UI', Candara, 'Gill Sans', sans-serif);font-weight:700;font-size:1.25rem;letter-spacing:-0.02em;}
#footer .footer-tagline{margin:0.75rem 0 0;max-width:48ch;line-height:1.6;color:var(--o09fca-secondary);}
#footer .footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
#footer .footer-col-title{font-weight:700;font-size:0.875rem;letter-spacing:0.01em;text-transform:none;}
#footer .footer-links{list-style:none;padding:0;margin:0.75rem 0 0;display:flex;flex-direction:column;gap:0.6rem;}
#footer .footer-links a{color:var(--o09fca-ink);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;}
#footer .footer-links a:hover{color:var(--o09fca-accent);text-decoration-color:var(--o09fca-accent);}
#footer .footer-links a:focus-visible{outline:3px solid var(--o09fca-accent);outline-offset:3px;border-radius:var(--o09fca-radius-sm,6px);}
#footer .footer-divider{height:1px;background:var(--o09fca-border);margin:clamp(1.5rem,3vw,2.5rem) 0;}
#footer .footer-bottom{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;}
#footer .footer-contact{background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-lg,10px);padding:1.25rem;}
#footer .contact-row{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;align-items:start;padding:0.5rem 0;}
#footer .contact-label{color:var(--o09fca-slate);font-size:0.875rem;font-weight:700;}
#footer .contact-value{color:var(--o09fca-ink);font-size:0.95rem;line-height:1.5;}
#footer .link{color:var(--o09fca-ink);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;}
#footer .link:hover{color:var(--o09fca-accent);text-decoration-color:var(--o09fca-accent);}
#footer .link:focus-visible{outline:3px solid var(--o09fca-accent);outline-offset:3px;border-radius:var(--o09fca-radius-sm,6px);}
#footer .contact-meta{margin-top:0.75rem;color:var(--o09fca-secondary);font-size:0.875rem;line-height:1.5;}
#footer .footer-disclosures{padding:0.2rem 0;}
#footer .disclosure-title{font-weight:800;font-size:1rem;margin-bottom:0.75rem;}
#footer .disclosure-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:0.55rem;color:var(--o09fca-secondary);line-height:1.55;}
#footer .policy-links{margin-top:1.15rem;display:flex;flex-wrap:wrap;align-items:center;gap:0.6rem;color:var(--o09fca-secondary);}
#footer .policy-links a{color:var(--o09fca-ink);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;}
#footer .policy-links a:hover{color:var(--o09fca-accent);text-decoration-color:var(--o09fca-accent);}
#footer .policy-links a:focus-visible{outline:3px solid var(--o09fca-accent);outline-offset:3px;border-radius:var(--o09fca-radius-sm,6px);}
#footer .policy-sep{color:var(--o09fca-slate);}
#footer .copyright{margin-top:1rem;color:var(--o09fca-secondary);font-size:0.875rem;}
#footer ::selection{background:rgba(196,106,42,0.25);}
#footer .footer-brand, #footer .footer-contact{position:relative;}
@media (max-width: 900px){
  #footer .footer-top{grid-template-columns:1fr;}
  #footer .footer-nav{grid-template-columns:1fr 1fr;}
  #footer .footer-bottom{grid-template-columns:1fr;}
  #footer .contact-row{grid-template-columns:6.5rem 1fr;}
}
@media (max-width: 640px){
  #footer .footer-nav{grid-template-columns:1fr;}
  #footer .contact-row{grid-template-columns:1fr;gap:0.25rem;}
  #footer .footer-links{gap:0.5rem;}
}
@media (prefers-reduced-motion: reduce){
  #footer .footer-links a, #footer .link, #footer .policy-links a{transition:none !important;}
}

/* o09fca:hero */
/* o09fca:hero */
#hero{--radius-hero:10px;--gap:24px;position:relative;background:var(--o09fca-bg);color:var(--o09fca-text);padding:clamp(2.5rem,6vw,5rem) 0;overflow:hidden;}
#hero::selection{background:var(--o09fca-primary);color:var(--o09fca-ink);}
#hero .hero-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#hero .hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:var(--gap);align-items:start;}
#hero .hero-left{position:relative;padding-top:0;}
#hero .hero-index{font-family:var(--o09fca-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:0.95rem;letter-spacing:0.08em;text-transform:none;color:var(--o09fca-slate);margin-bottom:1rem;}
#hero .hero-title{font-family:var(--o09fca-serif, Optima, "Segoe UI", Candara, "Gill Sans", "Gill Sans MT", sans-serif);font-size:clamp(2.2rem,4vw,4rem);line-height:1.06;margin:0 0 1rem;letter-spacing:-0.02em;text-wrap:balance;}
#hero .hero-subcopy{font-family:var(--o09fca-sans, "Segoe UI", Candara, "Gill Sans", "Trebuchet MS", sans-serif);font-size:1rem;line-height:1.6;max-width:44ch;margin:0;color:var(--o09fca-secondary);}
#hero .hero-cta-row{margin-top:1.6rem;display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;}
#hero .hero-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0.9rem 1.2rem;border-radius:var(--o09fca-radius-md,8px);background:var(--o09fca-surface);color:var(--o09fca-ink);text-decoration:none;border:1px solid var(--o09fca-border);font-weight:700;letter-spacing:0.01em;}
#hero .hero-primary:focus-visible{outline:3px solid color-mix(in srgb,var(--o09fca-primary) 55%, transparent);outline-offset:3px;border-color:var(--o09fca-primary);}
#hero .hero-primary:hover{border-color:var(--o09fca-primary);}
#hero .hero-secondary{font-size:0.875rem;color:var(--o09fca-slate);}
#hero .hero-right{padding-top:0;}
#hero .project-frame{margin:0;position:relative;border:1px solid var(--o09fca-border);padding:12px;border-radius:var(--radius-hero);background:var(--o09fca-surface);}
#hero .project-photo{display:block;width:100%;height:auto;border-radius:8px;object-fit:cover;}
#hero .project-caption{position:absolute;left:12px;right:12px;bottom:12px;}
#hero .caption-rail{border-radius:var(--radius-hero);background:color-mix(in srgb,var(--o09fca-surface) 78%, transparent);border:1px solid var(--o09fca-border);padding:10px 12px;backdrop-filter:saturate(120%);}
#hero .caption-row{display:flex;gap:10px;justify-content:space-between;align-items:baseline;padding:4px 0;}
#hero .caption-label{font-size:0.75rem;color:var(--o09fca-slate);letter-spacing:0.06em;text-transform:none;}
#hero .caption-value{font-size:0.875rem;color:var(--o09fca-ink);font-weight:600;font-family:var(--o09fca-sans, "Segoe UI", Candara, "Gill Sans", "Trebuchet MS", sans-serif);}
@media (max-width: 1024px){#hero .hero-grid{grid-template-columns:1fr;gap:18px;}#hero .project-caption{position:relative;left:auto;right:auto;bottom:auto;margin-top:12px;}#hero .caption-rail{background:var(--o09fca-surface);}#hero .project-frame{padding:10px;}#hero .project-photo{border-radius:6px;}}
@media (prefers-reduced-motion: reduce){#hero *{scroll-behavior:auto;transition:none !important;animation:none !important;}}

/* o09fca:services-intro */
/* o09fca:services-intio */
#services-intro.services-intro{background:var(--o09fca-bg);color:var(--o09fca-text);padding:clamp(2.5rem,6vw,5rem) 0;}
#services-intro .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#services-intro .section-head{display:grid;grid-template-columns:5.5rem 1fr;gap:1.25rem;align-items:flex-start;margin-bottom:clamp(1.5rem,3vw,2.5rem);}
#services-intro .section-index{font-family:var(--o09fca-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:1rem;letter-spacing:0.02em;color:var(--o09fca-secondary);padding-top:0.2rem;}
#services-intro .section-title{font-family:var(--o09fca-serif, var(--o09fca-sans, inherit));font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.15;margin:0 0 0.6rem 0;letter-spacing:-0.02em;text-wrap:balance;}
#services-intro .section-subtitle{margin:0;max-width:55ch;font-size:1rem;line-height:1.6;color:var(--o09fca-secondary);}
#services-intro .services-wrap{display:grid;gap:1.25rem;}
#services-intro .service-item{display:grid;grid-template-columns:4.25rem 1fr;gap:1.25rem;padding:1rem 0;}
#services-intro .service-number{font-family:var(--o09fca-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:1rem;color:var(--o09fca-secondary);padding-top:0.2rem;}
#services-intro .service-title{margin:0 0 0.5rem 0;font-size:1.1rem;line-height:1.25;font-weight:700;color:var(--o09fca-ink);}
#services-intro .service-copy{margin:0 0 0.75rem 0;color:var(--o09fca-secondary);line-height:1.65;max-width:64ch;}
#services-intro .service-benefits{margin:0;padding-left:1.1rem;color:var(--o09fca-secondary);line-height:1.7;}
#services-intro .service-benefits li{margin:0.25rem 0;}
#services-intro .divider{height:1px;background:var(--o09fca-border);width:100%;}
#services-intro .services-cta{margin-top:clamp(1.5rem,3vw,2.5rem);padding:1.25rem;border:1px solid var(--o09fca-border);background:var(--o09fca-surface);border-radius:var(--o09fca-radius, 10px);}
#services-intro .services-cta-note{margin:0 0 0.9rem 0;color:var(--o09fca-secondary);}
#services-intro .primary-link{display:inline-flex;align-items:center;gap:0.65rem;text-decoration:none;color:var(--o09fca-ink);font-weight:700;border-bottom:2px solid var(--o09fca-accent);padding-bottom:0.1rem;}
#services-intro .primary-link:focus-visible{outline:3px solid var(--o09fca-primary);outline-offset:3px;border-radius:6px;}
#services-intro .primary-link:hover{border-bottom-color:var(--o09fca-primary);}
#services-intro .link-arrow{color:var(--o09fca-accent);font-weight:700;}
#services-intro .secondary-link{display:inline-block;margin-left:1rem;text-decoration:none;color:var(--o09fca-secondary);border-bottom:1px solid var(--o09fca-border);padding-bottom:0.08rem;}
#services-intro .secondary-link:focus-visible{outline:3px solid var(--o09fca-primary);outline-offset:3px;border-radius:6px;}
#services-intro .secondary-link:hover{border-bottom-color:var(--o09fca-accent);color:var(--o09fca-ink);}
#services-intro ::selection{background:rgba(196,106,42,0.25);}
@media (max-width: 768px){
  #services-intro .section-head{grid-template-columns:4.25rem 1fr;gap:1rem;}
  #services-intro .service-item{grid-template-columns:3.75rem 1fr;}
  #services-intro .secondary-link{margin-left:0.75rem;}
}
@media (max-width: 640px){
  #services-intro .section-head{grid-template-columns:1fr;}
  #services-intro .section-index{padding-top:0;}
  #services-intro .service-item{grid-template-columns:1fr;gap:0.6rem;}
  #services-intro .service-number{padding-top:0;}
}
@media (prefers-reduced-motion: reduce){
  #services-intro *{scroll-behavior:auto;}
}

/* o09fca:process-timeline */
/* o09fca:process-timeline */
#process-timeline.process-timeline{background:var(--o09fca-bg);color:var(--o09fca-ink);padding:clamp(2.5rem,6vw,5rem) 0;}
#process-timeline .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#process-timeline .section-head{display:grid;grid-template-columns:96px 1fr;gap:24px;align-items:start;margin-bottom:clamp(1.5rem,3vw,2.5rem);}
#process-timeline .index{font-family:var(--font-serif, 'Optima, Segoe UI, Candara, Gill Sans, Gill Sans MT, sans-serif');font-size:1.25rem;line-height:1;letter-spacing:0.06em;color:var(--o09fca-secondary);padding-top:6px;}
#process-timeline .title{font-family:var(--font-serif, 'Optima, Segoe UI, Candara, Gill Sans, Gill Sans MT, sans-serif');font-size:clamp(1.6rem,3.2vw,2.4rem);margin:0 0 0.6rem 0;letter-spacing:-0.01em;text-wrap:balance;}
#process-timeline .subtitle{margin:0;max-width:55ch;font-size:1rem;line-height:1.6;color:var(--o09fca-slate);}
#process-timeline .timeline-grid{display:grid;grid-template-columns:1fr;gap:16px;border-top:1px solid var(--o09fca-border);padding-top:clamp(0.75rem,1.4vw,1.25rem);}
#process-timeline .step{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:start;padding:16px 14px;border-bottom:1px solid var(--o09fca-border);}
#process-timeline .step:last-child{border-bottom:0;}
#process-timeline .step-margin{display:flex;align-items:flex-start;justify-content:flex-start;padding-top:4px;}
#process-timeline .step-no{display:inline-flex;align-items:center;justify-content:center;width:64px;height:40px;border:1px solid var(--o09fca-border);border-radius:var(--radius-md, 8px);color:var(--o09fca-secondary);font-weight:700;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;letter-spacing:0.02em;background:transparent;}
#process-timeline .step-title{margin:0 0 0.5rem 0;font-size:1.1rem;letter-spacing:-0.005em;font-family:var(--font-sans, 'Segoe UI, Candara, Gill Sans, Trebuchet MS, sans-serif');}
#process-timeline .step-desc{margin:0 0 0.75rem 0;color:var(--o09fca-slate);line-height:1.6;max-width:70ch;}
#process-timeline .step-list{margin:0;padding-left:18px;color:var(--o09fca-slate);line-height:1.65;display:flex;flex-wrap:wrap;gap:12px 18px;}
#process-timeline .step-list li{list-style:disc;}
#process-timeline .timeline-note{margin-top:18px;background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--radius-lg, 10px);padding:16px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
#process-timeline .note-text{margin:0;color:var(--o09fca-secondary);line-height:1.6;max-width:60ch;font-size:0.98rem;}
#process-timeline .note-link{color:var(--o09fca-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;display:inline-block;white-space:nowrap;font-weight:600;}
#process-timeline .note-link:focus-visible{outline:3px solid color-mix(in srgb, var(--o09fca-primary) 35%, white);outline-offset:4px;border-radius:6px;}
@media (max-width:640px){
  #process-timeline .section-head{grid-template-columns:74px 1fr;gap:16px;}
  #process-timeline .step{grid-template-columns:74px 1fr;gap:12px;padding:14px 12px;}
  #process-timeline .step-no{width:56px;}
  #process-timeline .timeline-note{flex-direction:column;}
}
@media (prefers-reduced-motion: reduce){
  #process-timeline *{scroll-behavior:auto;}
}
#process-timeline ::selection{background:color-mix(in srgb, var(--o09fca-primary) 25%, white);}

/* o09fca:project-proof-grid */
/* o09fca:project-proof-grid */
#project-proof-grid.project-proof-grid{--ppg-accent:var(--o09fca-accent);--ppg-ink:var(--o09fca-ink);--ppg-bg:var(--o09fca-bg);--ppg-surface:var(--o09fca-surface);--ppg-border:var(--o09fca-border);--ppg-text:var(--o09fca-text);background:var(--ppg-bg);color:var(--ppg-ink);padding:clamp(2.5rem,6vw,5rem) 0;}
#project-proof-grid .ppg-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#project-proof-grid .ppg-head{display:block;margin-bottom:clamp(1.5rem,3vw,2.5rem);}
#project-proof-grid .ppg-index{font-family:var(--font-sans, 'Segoe UI, Candara, Gill Sans, Trebuchet MS, sans-serif');font-weight:700;color:var(--o09fca-secondary);font-size:0.95rem;letter-spacing:0.02em;display:inline-block;transform:translateY(2px);margin-right:0.75rem;}
#project-proof-grid .ppg-title{font-family:var(--font-serif, 'Optima, Segoe UI, Candara, Gill Sans, Gill Sans MT, sans-serif');font-size:clamp(1.5rem,2.8vw,2.25rem);line-height:1.1;letter-spacing:-0.01em;margin:0;display:inline-block;vertical-align:baseline;text-wrap:balance;}
#project-proof-grid .ppg-sub{font-family:var(--font-sans, 'Segoe UI, Candara, Gill Sans, Trebuchet MS, sans-serif');margin:0.9rem 0 0;max-width:60ch;color:var(--o09fca-secondary);font-size:1rem;line-height:1.6;}
#project-proof-grid .ppg-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:stretch;}
#project-proof-grid .ppg-card{grid-column:span 6;background:var(--ppg-surface);border:1px solid var(--ppg-border);border-radius:var(--radius-md, 8px);padding:16px 16px 0;position:relative;overflow:hidden;box-shadow:0 1px 0 rgba(17,17,17,0.03);}
#project-proof-grid .ppg-card::after{content:"";position:absolute;left:-20%;top:-60%;width:140%;height:160%;background:linear-gradient(135deg, rgba(196,106,42,0.00) 0%, rgba(196,106,42,0.08) 50%, rgba(196,106,42,0.00) 100%);opacity:0;transform:translateY(6px);transition:opacity 160ms ease, transform 160ms ease;pointer-events:none;}
#project-proof-grid .ppg-card:hover::after{opacity:1;transform:translateY(0);} 
#project-proof-grid .ppg-card-top,#project-proof-grid .ppg-card-mid,#project-proof-grid .ppg-card-bot{padding:10px 0;}
#project-proof-grid .ppg-card-meta{font-size:0.875rem;color:var(--o09fca-secondary);font-family:var(--font-sans, 'Segoe UI, Candara, Gill Sans, Trebuchet MS, sans-serif');letter-spacing:0.01em;}
#project-proof-grid .ppg-card-value{font-size:1.05rem;color:var(--ppg-ink);font-weight:650;line-height:1.35;margin-top:6px;font-family:var(--font-sans, 'Segoe UI, Candara, Gill Sans, Trebuchet MS, sans-serif');}
#project-proof-grid .ppg-value-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;letter-spacing:0.02em;tab-size:4;}
#project-proof-grid .ppg-divider{height:1px;background:var(--ppg-border);margin:0;}
#project-proof-grid .ppg-card-footer{height:64px;border-top:1px solid var(--ppg-border);margin-top:16px;padding:14px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;}
#project-proof-grid .ppg-card-footer-label{font-size:0.875rem;color:var(--o09fca-secondary);font-weight:650;letter-spacing:0.02em;}
#project-proof-grid .ppg-card-footer-rules{font-size:0.875rem;color:var(--o09fca-secondary);text-align:right;line-height:1.35;max-width:24ch;}
#project-proof-grid .ppg-footnote{margin-top:20px;display:flex;align-items:flex-start;gap:12px;color:var(--o09fca-secondary);font-size:0.95rem;line-height:1.6;}
#project-proof-grid .ppg-footnote-dot{width:10px;height:10px;border-radius:50%;margin-top:7px;background:var(--o09fca-primary);box-shadow:0 0 0 4px rgba(196,106,42,0.12);} 
#project-proof-grid .ppg-footnote-text{max-width:70ch;}
#project-proof-grid .ppg-card:focus-within{outline:3px solid rgba(196,106,42,0.35);outline-offset:2px;}
#project-proof-grid ::selection{background:rgba(196,106,42,0.22);}
@media (max-width: 860px){#project-proof-grid .ppg-card{grid-column:span 12;}#project-proof-grid .ppg-title{display:block;margin-top:0.25rem;}}
@media (prefers-reduced-motion: reduce){#project-proof-grid .ppg-card::after{transition:none;}}

/* o09fca:faq-contact */
/* o09fca:faq-contact */
#faq-contact.faq-contact{background:var(--o09fca-bg);color:var(--o09fca-text);padding:clamp(2.5rem,6vw,6rem) 0;}
#faq-contact.faq-contact .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#faq-contact.faq-contact .section-header{display:flex;gap:1rem;align-items:flex-end;margin-bottom:clamp(1.5rem,4vw,3rem);}
#faq-contact.faq-contact .section-index{font:700 0.95rem/1 var(--font-sans, 'Segoe UI');letter-spacing:0.04em;color:var(--o09fca-secondary);background:rgba(231,221,207,0.55);border:1px solid var(--o09fca-border);padding:0.55rem 0.7rem;border-radius:var(--radius-sm,6px);min-width:3.1rem;text-align:center;}
#faq-contact.faq-contact .section-title{margin:0;font:600 clamp(1.6rem,2.6vw,2.25rem)/1.15 var(--font-sans,'Segoe UI');letter-spacing:-0.01em;text-wrap:balance;}
#faq-contact.faq-contact .section-subtitle{margin:0.55rem 0 0;font:400 1rem/1.6 var(--font-sans,'Segoe UI');color:var(--o09fca-slate);max-width:52ch;}
#faq-contact.faq-contact .faq-form-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:clamp(1.25rem,3vw,2.25rem);align-items:start;}
#faq-contact.faq-contact .faq-col{min-width:0;}
#faq-contact.faq-contact .accordion{border:1px solid var(--o09fca-border);background:var(--o09fca-surface);border-radius:var(--radius-md,8px);overflow:hidden;}
#faq-contact.faq-contact .faq-item{border-top:1px solid var(--o09fca-border);}
#faq-contact.faq-contact .faq-item:first-child{border-top:none;}
#faq-contact.faq-contact .faq-trigger{width:100%;text-align:left;background:transparent;border:none;padding:1rem 1.1rem;font:600 1rem/1.35 var(--font-sans,'Segoe UI');color:var(--o09fca-ink);cursor:pointer;}
#faq-contact.faq-contact .faq-trigger:focus-visible{outline:3px solid var(--o09fca-primary);outline-offset:-3px;}
#faq-contact.faq-contact .faq-panel{padding:0 1.1rem 1rem;}
#faq-contact.faq-contact .faq-text{margin:0;font:400 0.98rem/1.65 var(--font-sans,'Segoe UI');color:var(--o09fca-slate);}
#faq-contact.faq-contact .faq-note{margin-top:1rem;padding:0.9rem 1rem;border:1px solid var(--o09fca-border);border-radius:var(--radius-md,8px);background:rgba(231,221,207,0.35);}
#faq-contact.faq-contact .faq-note-text{margin:0 0 0.5rem;font:400 0.95rem/1.55 var(--font-sans,'Segoe UI');color:var(--o09fca-slate);}
#faq-contact.faq-contact .link{color:var(--o09fca-text);text-decoration:underline;text-decoration-color:rgba(196,106,42,0.55);text-underline-offset:0.18em;}
#faq-contact.faq-contact .link:focus-visible{outline:3px solid var(--o09fca-primary);outline-offset:3px;border-radius:var(--radius-sm,6px);}
#faq-contact.faq-contact .form-card{border:1px solid var(--o09fca-border);background:var(--o09fca-surface);border-radius:var(--radius-lg,10px);padding:1.15rem 1.15rem 1.05rem;position:relative;}
#faq-contact.faq-contact .form-title{margin:0;font:650 1.35rem/1.2 var(--font-sans,'Segoe UI');letter-spacing:-0.01em;}
#faq-contact.faq-contact .form-lead{margin:0.6rem 0 1rem;font:400 0.98rem/1.65 var(--font-sans,'Segoe UI');color:var(--o09fca-slate);}
#faq-contact.faq-contact .lead-form{display:flex;flex-direction:column;gap:0.95rem;}
#faq-contact.faq-contact .field-row{display:flex;flex-direction:column;gap:0.45rem;}
#faq-contact.faq-contact .label{font:600 0.9rem/1.2 var(--font-sans,'Segoe UI');color:var(--o09fca-secondary);}
#faq-contact.faq-contact .input,#faq-contact.faq-contact .textarea{width:100%;border:1px solid var(--o09fca-border);background:var(--o09fca-bg);border-radius:var(--radius-md,8px);padding:0.75rem 0.85rem;font:400 1rem/1.4 var(--font-sans,'Segoe UI');color:var(--o09fca-ink);}
#faq-contact.faq-contact .textarea{resize:vertical;min-height:140px;}
#faq-contact.faq-contact .input::placeholder,#faq-contact.faq-contact .textarea::placeholder{color:rgba(17,17,17,0.45);}
#faq-contact.faq-contact .input:focus-visible,#faq-contact.faq-contact .textarea:focus-visible{outline:3px solid var(--o09fca-primary);outline-offset:-2px;}
#faq-contact.faq-contact .btn{margin-top:0.2rem;display:inline-flex;align-items:center;justify-content:center;gap:0.55rem;min-height:44px;padding:0.85rem 1rem;border-radius:var(--radius-md,8px);border:1px solid var(--o09fca-primary);background:var(--o09fca-primary);color:#fff;font:700 1rem/1.2 var(--font-sans,'Segoe UI');cursor:pointer;}
#faq-contact.faq-contact .btn:hover{background:rgba(196,106,42,0.92);}
#faq-contact.faq-contact .btn:active{background:rgba(196,106,42,0.86);}
#faq-contact.faq-contact .btn:focus-visible{outline:3px solid var(--o09fca-primary);outline-offset:3px;}
#faq-contact.faq-contact .btn:disabled{opacity:0.7;cursor:not-allowed;}
#faq-contact.faq-contact .form-footnote{margin:0.1rem 0 0;font:400 0.86rem/1.55 var(--font-sans,'Segoe UI');color:var(--o09fca-slate);}
#faq-contact.faq-contact .contact-direct{margin-top:1rem;padding-top:0.95rem;border-top:1px solid var(--o09fca-border);}
#faq-contact.faq-contact .contact-row{display:flex;gap:0.8rem;align-items:flex-start;justify-content:space-between;padding:0.55rem 0;}
#faq-contact.faq-contact .contact-label{font:600 0.86rem/1.2 var(--font-sans,'Segoe UI');color:var(--o09fca-secondary);min-width:5.5rem;}
#faq-contact.faq-contact .contact-value{font:400 0.95rem/1.45 var(--font-sans,'Segoe UI');color:var(--o09fca-slate);text-align:right;}
#faq-contact.faq-contact .contact-row .link{text-align:right;}
#faq-contact.faq-contact ::selection{background:rgba(196,106,42,0.25);}
@media (max-width: 900px){#faq-contact.faq-contact .faq-form-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce){#faq-contact.faq-contact *{scroll-behavior:auto;transition:none !important;animation:none !important;}}

/* o09fca:services-deliverables */
/* o09fca:services-deliverables */
#services-deliverables.services-deliverables{background:var(--o09fca-bg);color:var(--o09fca-ink);padding:clamp(2.5rem,6vw,5rem) 0;}
#services-deliverables .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#services-deliverables .section-header{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;align-items:start;margin-bottom:clamp(1.5rem,3.5vw,2.5rem);}
#services-deliverables .section-index{font-family:inherit;letter-spacing:0.02em;font-weight:800;font-size:0.95rem;line-height:1;display:flex;align-items:flex-start;justify-content:flex-start;color:var(--o09fca-secondary);padding-top:0.25rem;}
#services-deliverables .header-copy{max-width:56ch;}
#services-deliverables .title{font-family:var(--font-serif, 'Optima');font-size:clamp(1.6rem,2.6vw,2.25rem);line-height:1.12;margin:0 0 0.75rem 0;letter-spacing:-0.01em;text-wrap:balance;}
#services-deliverables .lead{margin:0;max-width:52ch;font-size:1rem;line-height:1.65;color:var(--o09fca-secondary);}
#services-deliverables .packages{display:grid;grid-template-columns:repeat(3, minmax(0,1fr));gap:1.25rem;align-items:stretch;}
#services-deliverables .package-card{background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--radius-lg);padding:1.25rem 1.25rem 1rem 1.25rem;box-shadow:0 10px 30px rgba(17,17,17,0.05);display:flex;flex-direction:column;min-height:100%;}
#services-deliverables .package-top{display:flex;align-items:baseline;gap:0.9rem;margin-bottom:0.6rem;}
#services-deliverables .package-num{font-family:inherit;font-weight:800;color:var(--o09fca-accent);letter-spacing:0.04em;font-size:0.95rem;}
#services-deliverables .package-title{margin:0;font-family:var(--font-serif, 'Optima');font-size:1.35rem;letter-spacing:-0.01em;}
#services-deliverables .package-desc{margin:0 0 0.85rem 0;color:var(--o09fca-secondary);line-height:1.6;}
#services-deliverables .package-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.5rem;}
#services-deliverables .package-list li{display:flex;gap:0.6rem;align-items:flex-start;}
#services-deliverables .check{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;width:1.1rem;height:1.1rem;border-radius:var(--radius-sm);background:rgba(196,106,42,0.12);color:var(--o09fca-accent);font-weight:900;line-height:1;font-size:0.9rem;margin-top:0.08rem;}
#services-deliverables .li-text{color:var(--o09fca-text);font-size:0.98rem;line-height:1.5;}
#services-deliverables .package-outcomes{margin-top:auto;padding-top:0.95rem;border-top:1px solid var(--o09fca-border);}
#services-deliverables .outcome-label{font-family:inherit;font-size:0.875rem;letter-spacing:0.01em;color:var(--o09fca-slate);font-weight:700;margin-bottom:0.35rem;}
#services-deliverables .outcome-value{font-size:1rem;line-height:1.55;color:var(--o09fca-ink);}
#services-deliverables .scope-note{margin-top:1.5rem;background:transparent;border-radius:var(--radius-lg);display:grid;grid-template-columns:1fr;gap:0.75rem;}
#services-deliverables .scope-note-rule{height:1px;background:var(--o09fca-border);width:100%;}
#services-deliverables .scope-note-body{display:grid;grid-template-columns:1fr;gap:0.5rem;}
#services-deliverables .scope-note-text{margin:0;color:var(--o09fca-secondary);line-height:1.65;font-size:0.98rem;}
#services-deliverables .scope-note-text strong{color:var(--o09fca-ink);}
#services-deliverables .scope-link{color:var(--o09fca-accent);text-decoration:underline;text-underline-offset:0.18em;}
#services-deliverables .scope-link:focus-visible{outline:3px solid rgba(196,106,42,0.35);outline-offset:3px;border-radius:var(--radius-sm);}
#services-deliverables .scope-link:hover{color:var(--o09fca-accent);}
#services-deliverables a{color:inherit;}
#services-deliverables ::selection{background:rgba(196,106,42,0.25);}
#services-deliverables *:focus-visible{outline:3px solid rgba(196,106,42,0.35);outline-offset:3px;}
@media (max-width: 900px){#services-deliverables .packages{grid-template-columns:1fr;gap:1rem;}#services-deliverables .section-header{grid-template-columns:5.5rem 1fr;gap:0.75rem;}}
@media (prefers-reduced-motion: reduce){#services-deliverables .package-card{transition:none;}}

/* o09fca:scope-qualifiers */
/* o09fca:scope-qualifiers */
#scope-qualifiers.scope-qualifiers{background:var(--o09fca-bg);padding:clamp(2.5rem,6vw,5rem) 0;color:var(--o09fca-text)}
#scope-qualifiers .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#scope-qualifiers .scope-head{display:grid;grid-template-columns:56px 1fr;gap:1.25rem;align-items:start;margin-bottom:1.75rem}
#scope-qualifiers .scope-index{font-family:var(--font-sans, 'Segoe UI', Candara, 'Gill Sans', 'Trebuchet MS', sans-serif);font-size:1.25rem;letter-spacing:.02em;color:var(--o09fca-secondary);padding-top:.35rem}
#scope-qualifiers .scope-title{font-family:var(--font-serif, 'Optima', 'Segoe UI', Candara, 'Gill Sans', 'Gill Sans MT', sans-serif);font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.1;margin:0 0 .5rem 0;letter-spacing:-.015em;text-wrap:balance}
#scope-qualifiers .scope-subtitle{margin:0;max-width:60ch;font-size:1rem;line-height:1.6;color:var(--o09fca-secondary)}
#scope-qualifiers .qual-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin:1.25rem 0 1.75rem 0}
#scope-qualifiers .qual-item{background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-md, 8px);padding:1.05rem 1.05rem 1rem;position:relative;overflow:hidden}
#scope-qualifiers .qual-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--o09fca-accent)}
#scope-qualifiers .qual-title{margin:.15rem 0 .45rem 0;font-size:1.05rem;letter-spacing:-.005em}
#scope-qualifiers .qual-body{margin:0;color:var(--o09fca-secondary);line-height:1.65}
#scope-qualifiers .scope-disclaimer{display:flex;gap:.75rem;align-items:flex-start;border-top:1px solid var(--o09fca-border);padding-top:1.25rem}
#scope-qualifiers .scope-disclaimer-mark{color:var(--o09fca-accent);font-size:1.5rem;line-height:1;margin-top:-.05rem}
#scope-qualifiers .scope-disclaimer-text{margin:0;color:var(--o09fca-secondary);line-height:1.65;max-width:78ch}
#scope-qualifiers .scope-links{margin-top:1.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}
#scope-qualifiers .scope-link{color:var(--o09fca-text);text-decoration:underline;text-decoration-color:var(--o09fca-border);text-underline-offset:4px;font-weight:600}
#scope-qualifiers .scope-link:focus-visible{outline:3px solid var(--o09fca-accent);outline-offset:3px;border-radius:var(--o09fca-radius-sm,6px)}
#scope-qualifiers .scope-link:hover{text-decoration-color:var(--o09fca-accent)}
#scope-qualifiers .scope-link-sep{color:var(--o09fca-secondary)}
::selection{background:rgba(196,106,42,.25)}
#scope-qualifiers [tabindex="-1"]{outline:none}
@media (min-width: 640px){
  #scope-qualifiers .qual-grid{grid-template-columns:1fr 1fr;gap:1.05rem}
}
@media (min-width: 1024px){
  #scope-qualifiers .qual-grid{grid-template-columns:repeat(2, 1fr);gap:1.2rem}
  #scope-qualifiers .scope-head{margin-bottom:2rem}
}
@media (prefers-reduced-motion: reduce){
  #scope-qualifiers *{scroll-behavior:auto}
}

/* o09fca:materials-lighting */
/* o09fca:materials-lighting */
#materials-lighting{--ml-accent:var(--o09fca-accent);--ml-ink:var(--o09fca-ink);--ml-surface:var(--o09fca-surface);--ml-bg:var(--o09fca-bg);--ml-border:var(--o09fca-border);font-family:var(--font-sans, 'Segoe UI', Candara, 'Gill Sans', 'Trebuchet MS', sans-serif);background:var(--o09fca-bg);color:var(--o09fca-text);padding:clamp(2.5rem,6vw,5.5rem) 0;}
#materials-lighting .ml-wrap{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#materials-lighting .ml-head{display:grid;grid-template-columns:72px 1fr;gap:clamp(1rem,2.4vw,1.6rem);align-items:start;margin-bottom:clamp(1.5rem,3vw,2.4rem);}
#materials-lighting .ml-index{width:56px;height:56px;border:1px solid var(--o09fca-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono','Courier New', monospace);font-size:1rem;letter-spacing:0.02em;color:var(--o09fca-secondary);background:var(--o09fca-surface);}
#materials-lighting .ml-h2{font-family:var(--font-serif, 'Optima', 'Segoe UI', Candara, 'Gill Sans', 'Gill Sans MT', sans-serif);font-weight:650;letter-spacing:-0.02em;margin:0 0 0.5rem 0;font-size:clamp(1.8rem,3.1vw,2.4rem);text-wrap:balance;}
#materials-lighting .ml-lede{margin:0;max-width:48ch;font-size:1rem;line-height:1.6;color:var(--o09fca-secondary);}
#materials-lighting .ml-grid{display:grid;grid-template-columns:1fr;gap:16px;border-top:1px solid var(--o09fca-border);padding-top:clamp(1rem,2.2vw,1.6rem);}
#materials-lighting .ml-item{background:transparent;border:1px solid var(--o09fca-border);border-radius:var(--radius-md);padding:16px 16px 14px 16px;}
#materials-lighting .ml-item-title{margin:0 0 8px 0;display:flex;align-items:baseline;gap:10px;}
#materials-lighting .ml-item-num{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono','Courier New', monospace);color:var(--o09fca-secondary);font-size:0.95rem;letter-spacing:0.02em;min-width:40px;}
#materials-lighting .ml-item-title{font-family:var(--font-sans, 'Segoe UI', Candara, 'Gill Sans', 'Trebuchet MS', sans-serif);font-weight:650;font-size:1.02rem;color:var(--o09fca-ink);}
#materials-lighting .ml-item-body{margin:0;color:var(--o09fca-secondary);line-height:1.65;font-size:0.98rem;}
#materials-lighting .ml-cta-row{margin-top:clamp(1.5rem,3.5vw,2.4rem);display:block;border:1px solid var(--o09fca-border);background:var(--o09fca-surface);border-radius:var(--radius-lg);padding:16px;}
#materials-lighting .ml-link{display:inline-block;color:var(--o09fca-ink);text-decoration:none;border-bottom:2px solid var(--o09fca-accent);padding-bottom:2px;}
#materials-lighting .ml-link:focus-visible{outline:3px solid color-mix(in srgb, var(--o09fca-accent) 35%, white 65%);outline-offset:4px;border-radius:4px;}
#materials-lighting .ml-cta-note{margin:10px 0 0 0;color:var(--o09fca-secondary);font-size:0.93rem;line-height:1.6;max-width:70ch;}
#materials-lighting .ml-item{transition:transform 120ms ease, border-color 120ms ease;}
@media (min-width: 640px){
  #materials-lighting .ml-grid{grid-template-columns:1fr 1fr;gap:20px;}
  #materials-lighting .ml-item{padding:18px 18px 16px 18px;}
}
@media (prefers-reduced-motion: reduce){
  #materials-lighting .ml-item{transition:none;}
}
#materials-lighting ::selection{background:color-mix(in srgb, var(--o09fca-accent) 20%, white 80%);color:var(--o09fca-ink);}
@supports not (color: color-mix(in srgb, #000 0%, #fff 100%)){
  #materials-lighting .ml-link:focus-visible{outline:3px solid var(--o09fca-accent);}
}

/* o09fca:contact-cta */
/* o09fca:contact-cta */
#contact-cta.contact-cta-wrap{background:var(--o09fca-bg);color:var(--o09fca-text);padding:clamp(2rem,5vw,5rem) 0;}
#contact-cta .contact-cta-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,3.5vw,3rem);position:relative;}
#contact-cta .contact-cta-index{position:absolute;left:clamp(1rem,3.5vw,3rem);top:-0.4rem;color:var(--o09fca-secondary);font-family:var(--o09fca-font-sans, 'Segoe UI', Candara, 'Gill Sans', 'Trebuchet MS', sans-serif);font-weight:700;letter-spacing:0.02em;font-size:1.25rem;}
#contact-cta .contact-cta-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(1.25rem,3vw,2.5rem);align-items:start;}
#contact-cta .contact-cta-title{font-family:var(--o09fca-font-serif, 'Optima', 'Segoe UI', Candara, 'Gill Sans', 'Gill Sans MT', sans-serif);font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.1;margin:0 0 0.75rem;letter-spacing:-0.01em;text-wrap:balance;}
#contact-cta .contact-cta-lead{margin:0 0 1.25rem;max-width:50ch;font-size:1rem;line-height:1.6;color:var(--o09fca-secondary);}
#contact-cta .contact-cta-checklist{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-direction:column;gap:0.65rem;}
#contact-cta .check-item{display:flex;gap:0.6rem;align-items:flex-start;color:var(--o09fca-text);font-size:0.98rem;line-height:1.45;}
#contact-cta .check-dot{color:var(--o09fca-accent);font-weight:900;font-size:1.25rem;line-height:1;position:relative;top:0.05rem;}
#contact-cta .contact-cta-linkrow{margin-top:0.5rem;}
#contact-cta .text-link{color:var(--o09fca-ink);text-decoration:underline;text-decoration-color:var(--o09fca-accent);text-decoration-thickness:2px;text-underline-offset:0.18em;}
#contact-cta .text-link:focus-visible{outline:2px solid var(--o09fca-accent);outline-offset:3px;border-radius:6px;}
#contact-cta .contact-cta-formpanel{background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--radius-lg, 10px);padding:1.25rem 1.25rem 1rem;box-shadow:0 10px 26px rgba(17,17,17,0.06);}
#contact-cta .formpanel-header{padding-bottom:0.9rem;border-bottom:1px solid var(--o09fca-border);margin-bottom:1rem;}
#contact-cta .formpanel-kicker{font-size:0.875rem;color:var(--o09fca-secondary);text-transform:none;font-weight:700;letter-spacing:0.02em;}
#contact-cta .formpanel-sub{margin-top:0.4rem;font-size:0.98rem;color:var(--o09fca-text);}
#contact-cta form.lead-form{display:flex;flex-direction:column;gap:0.95rem;}
#contact-cta .field{display:flex;flex-direction:column;gap:0.4rem;}
#contact-cta label{font-weight:700;font-size:0.92rem;color:var(--o09fca-secondary);}
#contact-cta input,#contact-cta select,#contact-cta textarea{width:100%;font:inherit;font-size:1rem;line-height:1.5;color:var(--o09fca-text);background:var(--o09fca-bg);border:1px solid var(--o09fca-border);border-radius:var(--radius-md, 8px);padding:0.7rem 0.85rem;}
#contact-cta textarea{resize:vertical;min-height:120px;}
#contact-cta input::placeholder,#contact-cta textarea::placeholder{color:rgba(17,17,17,0.55);}
#contact-cta input:focus-visible,#contact-cta select:focus-visible,#contact-cta textarea:focus-visible{outline:2px solid var(--o09fca-accent);outline-offset:2px;border-color:var(--o09fca-accent);}
#contact-cta .form-cta{margin-top:0.2rem;display:flex;flex-direction:column;gap:0.7rem;}
#contact-cta .primary-btn{appearance:none;border:1px solid var(--o09fca-accent);background:var(--o09fca-accent);color:#fff;border-radius:var(--radius-md, 8px);padding:0.82rem 1rem;font-weight:800;font-size:1rem;cursor:pointer;min-height:44px;}
#contact-cta .primary-btn:hover{filter:brightness(0.98);}
#contact-cta .primary-btn:active{transform:translateY(1px);}
#contact-cta .primary-btn:focus-visible{outline:3px solid var(--o09fca-accent);outline-offset:3px;}
#contact-cta .form-footnote{font-size:0.875rem;line-height:1.45;color:var(--o09fca-secondary);}
#contact-cta .formpanel-disclaimer{margin-top:0.95rem;padding-top:0.85rem;border-top:1px solid var(--o09fca-border);font-size:0.875rem;line-height:1.5;color:var(--o09fca-secondary);}
#contact-cta ::selection{background:rgba(196,106,42,0.28);}
@media (max-width: 880px){#contact-cta .contact-cta-grid{grid-template-columns:1fr;gap:1.25rem;}#contact-cta .contact-cta-index{position:static;margin-bottom:0.75rem;left:auto;top:auto;}}
@media (prefers-reduced-motion: reduce){#contact-cta .primary-btn:active{transform:none;}}
/* o09fca:pricing-packages */
/* o09fca:pricing-packages */
#pricing-packages{--pad:clamp(1.25rem,3vw,2.25rem);padding:var(--pad) 0;background:var(--o09fca-bg)}
#pricing-packages .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#pricing-packages .section-head{display:grid;grid-template-columns:4.5rem 1fr;gap:1.25rem;align-items:end;margin-bottom:1.5rem}
#pricing-packages .index{font-family:var(--font-sans);font-size:1.25rem;color:var(--o09fca-slate);letter-spacing:0.02em;font-weight:700;line-height:1}
#pricing-packages .h2{font-family:var(--font-serif);font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 0.5rem;color:var(--o09fca-ink);letter-spacing:-0.02em;text-wrap:balance}
#pricing-packages .subcopy{margin:0;color:var(--o09fca-secondary);max-width:62ch;font-size:1rem;line-height:1.6}
#pricing-packages .packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
#pricing-packages .package{background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;min-height:100%}
#pricing-packages .package.featured{border-color:color-mix(in srgb,var(--o09fca-primary) 35%,var(--o09fca-border));box-shadow:0 10px 30px color-mix(in srgb,var(--o09fca-primary) 18%, transparent);position:relative}
#pricing-packages .package.featured::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--o09fca-primary) 20%, transparent)}
#pricing-packages .package-top{margin-bottom:0.75rem}
#pricing-packages .package-label{display:inline-block;font-size:0.875rem;color:var(--o09fca-primary);font-weight:800;letter-spacing:0.08em;text-transform:uppercase}
#pricing-packages .package-title{font-family:var(--font-serif);font-size:1.35rem;margin-top:0.35rem;color:var(--o09fca-ink);letter-spacing:-0.015em}
#pricing-packages .package-desc{margin:0 0 0.9rem;color:var(--o09fca-secondary);line-height:1.65}
#pricing-packages .deliverables{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:0.55rem}
#pricing-packages .deliverables li{display:flex;gap:0.6rem;align-items:flex-start}
#pricing-packages .dot{width:10px;height:10px;border-radius:50%;background:color-mix(in srgb,var(--o09fca-primary) 65%, var(--o09fca-surface));margin-top:0.35rem;flex:0 0 auto;box-shadow:0 0 0 3px color-mix(in srgb,var(--o09fca-primary) 16%, transparent)}
#pricing-packages .li-text{color:var(--o09fca-text);line-height:1.5;font-size:0.98rem}
#pricing-packages .timeline{margin-top:auto;padding-top:0.25rem}
#pricing-packages .timeline-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-top:1px solid var(--o09fca-border);padding-top:0.85rem}
#pricing-packages .timeline-kicker{color:var(--o09fca-slate);font-size:0.875rem;font-weight:650}
#pricing-packages .timeline-value{font-variant-numeric:tabular-nums;font-family:var(--font-mono, var(--font-sans));font-size:1.35rem;color:var(--o09fca-ink);font-weight:900;letter-spacing:-0.02em}
#pricing-packages .timeline-qual{margin-top:0.5rem;color:var(--o09fca-secondary);font-size:0.92rem;line-height:1.45}
#pricing-packages .package-cta{display:grid;gap:0.65rem;margin-top:1rem}
#pricing-packages .btn{display:inline-flex;justify-content:center;align-items:center;gap:0.5rem;min-height:44px;padding:0.75rem 0.95rem;border-radius:var(--radius-md);text-decoration:none;font-weight:800;letter-spacing:0.01em;outline:none}
#pricing-packages .btn-primary{background:var(--o09fca-primary);color:#fff;border:1px solid var(--o09fca-primary)}
#pricing-packages .btn-primary:hover{background:color-mix(in srgb,var(--o09fca-primary) 88%, #000);border-color:color-mix(in srgb,var(--o09fca-primary) 88%, #000)}
#pricing-packages .btn-ghost{background:transparent;color:var(--o09fca-text);border:2px solid var(--o09fca-border)}
#pricing-packages .btn-ghost:hover{border-color:color-mix(in srgb,var(--o09fca-primary) 55%, var(--o09fca-border));color:var(--o09fca-ink)}
#pricing-packages .btn:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--o09fca-primary) 28%, transparent)}
#pricing-packages .qual-block{margin-top:1.75rem;background:color-mix(in srgb,var(--o09fca-surface) 66%, transparent);border:1px solid var(--o09fca-border);border-radius:var(--radius-lg);overflow:hidden}
#pricing-packages .qual-rule{height:1px;background:var(--o09fca-border)}
#pricing-packages .qual-content{padding:1.25rem}
#pricing-packages .h3{margin:0 0 0.5rem;font-family:var(--font-serif);font-size:1.25rem;letter-spacing:-0.01em;color:var(--o09fca-ink)}
#pricing-packages .qual-copy{margin:0;color:var(--o09fca-secondary);line-height:1.7;max-width:80ch}
#pricing-packages .qual-links{margin-top:0.9rem;display:flex;flex-wrap:wrap;gap:0.6rem;align-items:center;color:var(--o09fca-secondary)}
#pricing-packages .link{color:var(--o09fca-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--o09fca-primary) 35%, var(--o09fca-border));text-underline-offset:3px;font-weight:800}
#pricing-packages .link:hover{text-decoration-color:color-mix(in srgb,var(--o09fca-primary) 75%, var(--o09fca-border))}
#pricing-packages .sep{color:var(--o09fca-slate);font-weight:700}
#pricing-packages ::selection{background:color-mix(in srgb,var(--o09fca-primary) 25%, transparent)}

@media (max-width: 1024px){
  #pricing-packages .packages{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  #pricing-packages .section-head{grid-template-columns:3.5rem 1fr;gap:0.9rem}
  #pricing-packages .packages{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce){
  #pricing-packages .btn{transition:none !important}
}

/* o09fca:estimator */
/* o09fca:estimator */
#estimator{padding:clamp(2.5rem,6vw,5rem) 0;background:var(--o09fca-bg);color:var(--o09fca-ink);font-family:var(--o09fca-font-sans, 'Segoe UI', Candara, 'Gill Sans', 'Trebuchet MS', sans-serif)}
#estimator .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#estimator .section-head{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;margin-bottom:clamp(1.5rem,3.5vw,2.5rem)}
#estimator .section-index{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;letter-spacing:0.02em;font-size:1.25rem;color:var(--o09fca-secondary);padding-top:8px}
#estimator .section-title{margin:0;font-size:clamp(1.7rem,3.2vw,2.3rem);line-height:1.15;letter-spacing:-0.02em;font-weight:750}
#estimator .section-subtitle{margin:10px 0 0;max-width:56ch;color:var(--o09fca-secondary);font-size:1rem;line-height:1.6}
#estimator .estimator-grid{display:grid;grid-template-columns:1fr 0.98fr;gap:24px;align-items:start}
#estimator .estimator-form{background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-md, 8px);padding:20px}
#estimator .form{display:flex;flex-direction:column;gap:18px}
#estimator .field-group{display:flex;flex-direction:column;gap:10px}
#estimator .label{font-weight:650;font-size:0.95rem;color:var(--o09fca-text)}
#estimator .hint{font-size:0.875rem;color:var(--o09fca-slate);line-height:1.45}
#estimator .radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#estimator .radio-card{display:flex;gap:12px;align-items:center;padding:12px 12px;border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-sm, 6px);background:var(--o09fca-bg);cursor:pointer;min-height:44px}
#estimator .radio-card input{position:absolute;opacity:0;pointer-events:none}
#estimator .radio-ui{width:18px;height:18px;border-radius:50%;border:2px solid var(--o09fca-border);background:var(--o09fca-surface);box-sizing:border-box;flex:0 0 auto}
#estimator .radio-card input:checked + .radio-ui{border-color:var(--o09fca-primary)}
#estimator .radio-card input:checked + .radio-ui::after{content:'';display:block;width:10px;height:10px;border-radius:50%;background:var(--o09fca-primary);margin:2px auto}
#estimator .radio-text{font-weight:600;color:var(--o09fca-text)}
#estimator .input-wrap,.#estimator .select-row{display:flex}
#estimator .input{width:100%;padding:12px 12px;border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-sm, 6px);background:var(--o09fca-bg);color:var(--o09fca-text);font-size:1rem;box-sizing:border-box}
#estimator .select{width:100%;padding:12px 12px;border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-sm, 6px);background:var(--o09fca-bg);color:var(--o09fca-text);font-size:1rem;box-sizing:border-box}
#estimator .check-row{display:flex;flex-direction:column;gap:10px}
#estimator .check-item{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
#estimator .check-item input{margin-top:3px}
#estimator .check-text{color:var(--o09fca-text);font-weight:550;line-height:1.4}
#estimator .actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#estimator .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 16px;border-radius:var(--o09fca-radius-sm,6px);text-decoration:none;font-weight:700;font-size:1rem;border:1px solid transparent;box-sizing:border-box}
#estimator .btn:focus-visible{outline:3px solid color-mix(in oklab, var(--o09fca-primary) 65%, white);outline-offset:2px}
#estimator .btn-primary{background:var(--o09fca-primary);color:var(--o09fca-bg);border-color:var(--o09fca-primary)}
#estimator .btn-primary:hover{filter:brightness(0.98)}
#estimator .btn-outline{background:var(--o09fca-bg);color:var(--o09fca-text);border-color:var(--o09fca-border)}
#estimator .btn-outline:hover{border-color:color-mix(in oklab, var(--o09fca-border) 55%, var(--o09fca-primary))}
#estimator .btn-link{color:var(--o09fca-primary);border-color:transparent;text-decoration:underline; text-underline-offset:4px}
#estimator .btn-link:hover{color:var(--o09fca-primary)}
#estimator .fineprint{font-size:0.875rem;color:var(--o09fca-slate);line-height:1.5}
#estimator .fineprint strong{color:var(--o09fca-text)}
#estimator .estimator-result{position:sticky;top:18px}
#estimator .result-shell{background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-md, 8px);padding:18px;box-shadow:0 10px 28px color-mix(in oklab, var(--o09fca-ink) 7%, transparent)}
#estimator .result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
#estimator .result-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;font-size:0.9rem;color:var(--o09fca-secondary);border:1px solid var(--o09fca-border);background:var(--o09fca-bg);padding:8px 10px;border-radius:var(--o09fca-radius-sm,6px)}
#estimator .result-rating{font-size:0.875rem;color:var(--o09fca-slate);font-weight:650}
#estimator .result-main{padding:14px;border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-sm,6px);background:var(--o09fca-bg)}
#estimator .result-package{font-size:1.3rem;font-weight:850;letter-spacing:-0.02em;margin-bottom:10px}
#estimator .result-timeline{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;color:var(--o09fca-secondary);font-size:0.98rem;margin-bottom:10px}
#estimator .result-deliverables{color:var(--o09fca-slate);line-height:1.55;font-weight:550;font-size:0.95rem}
#estimator .result-proof{margin-top:14px;border-top:1px solid var(--o09fca-border);padding-top:14px;display:grid;grid-template-columns:1fr;gap:10px}
#estimator .proof-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
#estimator .proof-label{color:var(--o09fca-slate);font-weight:650;font-size:0.875rem}
#estimator .proof-value{color:var(--o09fca-text);font-weight:750;font-size:0.95rem; text-align:right}
#estimator .next-steps{margin-top:16px}
#estimator .next-title{margin:0 0 10px;font-size:1.05rem;font-weight:850;letter-spacing:-0.01em}
#estimator .steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
#estimator .step{display:flex;gap:12px;align-items:flex-start}
#estimator .step-dot{width:10px;height:10px;border-radius:50%;background:var(--o09fca-primary);margin-top:6px;flex:0 0 auto}
#estimator .step-text{color:var(--o09fca-secondary);line-height:1.45;font-weight:600}
#estimator .result-cta{margin-top:18px;border-top:1px solid var(--o09fca-border);padding-top:16px;display:flex;flex-direction:column;gap:10px}
#estimator .cta-note{color:var(--o09fca-slate);font-size:0.9rem;line-height:1.45}
#estimator .qualifier-strip{margin-top:26px;background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-md, 8px);padding:16px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
#estimator .qualifier-item{padding:10px 10px;border-radius:var(--o09fca-radius-sm,6px);background:var(--o09fca-bg);border:1px solid transparent}
#estimator .qi-title{font-weight:850;color:var(--o09fca-text);margin-bottom:6px}
#estimator .qi-text{color:var(--o09fca-secondary);line-height:1.55;font-weight:550;font-size:0.92rem}
#estimator .divider{height:1px;background:var(--o09fca-border);margin:26px 0}
#estimator .contact-rail{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
#estimator .rail-title{margin:0;font-size:1.1rem;font-weight:900;letter-spacing:-0.01em}
#estimator .rail-text{margin:8px 0 0;color:var(--o09fca-secondary);line-height:1.6;font-weight:550;max-width:58ch}
#estimator .btn:disabled{opacity:0.6;cursor:not-allowed}
#estimator .radio-card:hover{border-color:color-mix(in oklab, var(--o09fca-border) 55%, var(--o09fca-primary))}
@media (max-width: 900px){#estimator .estimator-grid{grid-template-columns:1fr;}
#estimator .estimator-result{position:relative;top:auto}
#estimator .radio-grid{grid-template-columns:1fr 1fr}
#estimator .qualifier-strip{grid-template-columns:1fr}
#estimator .contact-rail{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion: reduce){#estimator *{scroll-behavior:auto !important;transition:none !important;animation:none !important}}
#estimator ::selection{background:color-mix(in oklab, var(--o09fca-primary) 25%, white);color:var(--o09fca-ink)}
/* o09fca:disclaimer-qualifiers */
/* o09fca:disclaimer-qualifiers */
#disclaimer-qualifiers.section-disclaimer{background:var(--o09fca-surface);color:var(--o09fca-text);padding:clamp(2.25rem,5vw,4.5rem) 0;}
#disclaimer-qualifiers .container{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem);}
#disclaimer-qualifiers .section-header{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:end;margin-bottom:clamp(1.25rem,2.5vw,2.25rem);}
#disclaimer-qualifiers .index-badge{width:54px;height:54px;border:1px solid var(--o09fca-border);border-radius:var(--o09fca-radius-md,8px);display:flex;align-items:center;justify-content:center;font-family:inherit;font-size:1rem;color:var(--o09fca-secondary);background:rgba(251,246,239,0.55);}
#disclaimer-qualifiers .section-title{font-family:var(--o09fca-font-serif,inherit);font-size:clamp(1.35rem,2.2vw,2rem);margin:0;letter-spacing:-0.01em;line-height:1.15;text-wrap:balance;}
#disclaimer-qualifiers .disclaimer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
#disclaimer-qualifiers .disclaimer-item{border:1px solid var(--o09fca-border);background:rgba(251,246,239,0.55);border-radius:var(--o09fca-radius-md,8px);padding:16px 16px 18px;}
#disclaimer-qualifiers .item-title{margin:0 0 8px;font-size:1.02rem;line-height:1.25;color:var(--o09fca-ink);}
#disclaimer-qualifiers .item-body{margin:0;font-size:1rem;line-height:1.6;color:var(--o09fca-slate);}
#disclaimer-qualifiers .disclaimer-note{margin-top:18px;border-top:1px solid var(--o09fca-border);padding-top:16px;display:flex;gap:14px;align-items:flex-start;justify-content:space-between;}
#disclaimer-qualifiers .note-text{margin:0;max-width:62ch;color:var(--o09fca-slate);line-height:1.7;font-size:1rem;}
#disclaimer-qualifiers .note-link{display:inline-block;margin-top:6px;color:var(--o09fca-ink);text-decoration:none;border-bottom:2px solid var(--o09fca-accent);padding-bottom:2px;}
#disclaimer-qualifiers .note-link:focus-visible{outline:3px solid rgba(196,106,42,0.35);outline-offset:4px;border-bottom-color:var(--o09fca-ink);}
#disclaimer-qualifiers ::selection{background:rgba(196,106,42,0.22);}
@media (max-width:768px){
  #disclaimer-qualifiers .disclaimer-grid{grid-template-columns:1fr;}
  #disclaimer-qualifiers .disclaimer-note{flex-direction:column;gap:10px;}
  #disclaimer-qualifiers .section-header{grid-template-columns:48px 1fr;}
}
@media (prefers-reduced-motion: reduce){
  #disclaimer-qualifiers *{scroll-behavior:auto;transition:none !important;animation:none !important;}
}

/* o09fca:contact-form */
/* o09fca:contact-form */
#contact-form{padding:var(--section-spacing,clamp(3rem,8vw,7rem)) 0;background:var(--o09fca-bg);color:var(--o09fca-text)}
#contact-form .marketing-shell{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem)}
#contact-form .section-header{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:clamp(1.5rem,4vw,3rem)}
#contact-form .section-index{flex:0 0 auto;min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--o09fca-border);color:var(--o09fca-secondary);border-radius:var(--radius-sm,6px);font:700 0.95rem/1 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif);letter-spacing:0.02em;background:var(--o09fca-surface)}
#contact-form .section-title-wrap{max-width:52rem}
#contact-form .section-title{margin:0;font:800 clamp(1.6rem,3.2vw,2.4rem)/1.15 var(--font-serif,'Optima','Segoe UI',Candara,'Gill Sans','Gill Sans MT',sans-serif);letter-spacing:-0.02em;text-wrap:balance}
#contact-form .section-subtitle{margin:0.75rem 0 0;font:400 1rem/1.6 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif);color:var(--o09fca-secondary)}

#contact-form .form-grid{display:grid;grid-template-columns:1fr 0.9fr;gap:clamp(1rem,3vw,2rem);align-items:start}
#contact-form .form-panel{background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--radius-md,8px);padding:clamp(1rem,2.5vw,1.5rem)}
#contact-form .lead-form{display:flex;flex-direction:column;gap:0.95rem}
#contact-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:0.95rem}
#contact-form .field{display:flex;flex-direction:column;gap:0.45rem}
#contact-form .label-text{font:700 0.9rem/1.2 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif);color:var(--o09fca-secondary)}
#contact-form input,#contact-form select,#contact-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--o09fca-border);background:var(--o09fca-bg);color:var(--o09fca-text);border-radius:var(--radius-sm,6px);padding:0.85rem 0.9rem;font:400 1rem/1.4 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif)}
#contact-form textarea{resize:vertical;min-height:140px}
#contact-form input::placeholder,#contact-form textarea::placeholder{color:var(--o09fca-slate)}
#contact-form input:focus,#contact-form select:focus,#contact-form textarea:focus{outline:none;border-color:var(--o09fca-accent);box-shadow:0 0 0 3px rgba(196,106,42,0.18)}
#contact-form input:disabled,#contact-form select:disabled,#contact-form textarea:disabled{opacity:0.7;cursor:not-allowed}

#contact-form .form-actions{display:flex;flex-direction:column;gap:0.75rem;margin-top:0.25rem}
#contact-form .primary-btn{align-self:flex-start;min-height:44px;padding:0.95rem 1.15rem;border-radius:var(--radius-md,8px);border:1px solid var(--o09fca-accent);background:var(--o09fca-primary);color:var(--o09fca-bg);font:800 1rem/1 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif);letter-spacing:0.01em;cursor:pointer}
#contact-form .primary-btn:hover{background:color-mix(in srgb,var(--o09fca-primary) 88%, black 12%)}
#contact-form .primary-btn:active{background:color-mix(in srgb,var(--o09fca-primary) 82%, black 18%)}
#contact-form .primary-btn:focus-visible{outline:3px solid rgba(196,106,42,0.35);outline-offset:3px}
#contact-form .form-disclaimer{font:400 0.92rem/1.5 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif);color:var(--o09fca-secondary)}

#contact-form .side-info{display:flex;flex-direction:column;gap:1rem}
#contact-form .side-card{border:1px solid var(--o09fca-border);border-radius:var(--radius-md,8px);background:var(--o09fca-surface);padding:1.05rem 1.05rem}
#contact-form .side-card--muted{background:color-mix(in srgb,var(--o09fca-surface) 92%, var(--o09fca-bg) 8%)}
#contact-form .side-card-head{font:800 1rem/1.2 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif);color:var(--o09fca-secondary);margin-bottom:0.9rem}
#contact-form .side-line{display:flex;flex-direction:column;gap:0.25rem;margin-bottom:0.8rem}
#contact-form .side-label{font:700 0.86rem/1.2 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif);color:var(--o09fca-slate)}
#contact-form .side-value{font:400 1rem/1.45 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif);color:var(--o09fca-text)}
#contact-form .side-link{color:var(--o09fca-text);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
#contact-form .side-link:focus-visible{outline:3px solid rgba(196,106,42,0.35);outline-offset:3px;border-radius:4px;text-decoration-color:var(--o09fca-accent)}
#contact-form .side-link:hover{text-decoration-color:var(--o09fca-accent)}
#contact-form .proof-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.6rem}
#contact-form .proof-list li{display:flex;gap:0.6rem;align-items:flex-start;color:var(--o09fca-secondary);font:400 0.96rem/1.5 var(--font-sans,'Segoe UI',Candara,'Gill Sans',sans-serif)}
#contact-form .bullet{color:var(--o09fca-accent);font-weight:900;min-width:18px;text-align:center}
#contact-form .side-note{margin:0.9rem 0 0}
#contact-form .side-cta-link{color:var(--o09fca-text);text-decoration:underline;text-decoration-color:var(--o09fca-accent);text-underline-offset:3px}
#contact-form .side-cta-link:hover{text-decoration-color:color-mix(in srgb,var(--o09fca-accent) 70%, black 30%)}

@media (max-width:900px){
  #contact-form .form-grid{grid-template-columns:1fr;gap:1.25rem}
  #contact-form .field-row{grid-template-columns:1fr}
  #contact-form .section-header{gap:1rem}
}

#contact-form *::selection{background:rgba(196,106,42,0.25)}
@media (prefers-reduced-motion:reduce){
  #contact-form .primary-btn{transition:none}
  #contact-form .side-link,#contact-form .side-cta-link{transition:none}
}
/* Design-system variables */
.policy-page{background:var(--o09fca-bg);color:var(--o09fca-text);font-family:var(--o09fca-font);line-height:1.55;}
.policy-wrap{max-width:980px;margin:0 auto;padding:24px 16px 40px;}
.policy-header{padding:18px 0 10px;}
.policy-title{margin:0 0 10px;font-family:var(--o09fca-font-display);font-size:34px;letter-spacing:-0.3px;color:var(--o09fca-ink);}
.policy-lead{margin:0;color:var(--o09fca-secondary);font-size:15.5px;}
.policy-section{margin:20px 0;padding:18px 16px;background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--radius-lg);}
.policy-h2{margin:0 0 10px;font-size:18px;color:var(--o09fca-ink);}
.policy-p{margin:8px 0;color:var(--o09fca-secondary);}
.policy-list{margin:10px 0 0;padding-left:18px;color:var(--o09fca-secondary);}
.policy-li{margin:6px 0;}
.policy-contact{margin-top:10px;padding:12px 12px;border-radius:var(--radius-md);background:rgba(231,221,207,0.45);border:1px solid var(--o09fca-border);}
.policy-contact-line{margin:8px 0;color:var(--o09fca-secondary);}
.policy-strong{color:var(--o09fca-ink);font-weight:700;}
.policy-link{color:var(--o09fca-primary);text-decoration:underline;text-underline-offset:3px;}
.policy-link:hover{color:var(--o09fca-accent);}
.policy-footer{margin-top:18px;padding:14px 6px;}
.policy-footer-p{margin:8px 0;color:var(--o09fca-secondary);}
.policy-footer-small{font-size:12.5px;opacity:0.95;}
@media (max-width:520px){.policy-title{font-size:28px;}.policy-section{padding:16px 12px;}}

/* Design-system based, hand-written CSS (no utility frameworks) */
.policy-page{
  background:var(--o09fca-bg);
  color:var(--o09fca-text);
  font-family:var(--o09fca-font);
  line-height:1.5;
}
.policy-wrap{
  max-width:980px;
  margin:0 auto;
  padding:28px 18px 40px;
}
.policy-header{margin:0 0 18px;}
.policy-title{
  font-family:var(--o09fca-font-display);
  font-size:34px;
  line-height:1.15;
  margin:0;
  color:var(--o09fca-ink);
}
.policy-lead{margin:10px 0 0; color:var(--o09fca-slate);}
.policy-strong{font-weight:700;}
.policy-section{margin:18px 0; padding:16px 16px; border:1px solid var(--o09fca-border); border-radius:var(--radius-lg); background:var(--o09fca-surface);}
.policy-h2{margin:0 0 10px; font-size:18px; color:var(--o09fca-ink);}
.policy-p{margin:10px 0; color:var(--o09fca-ink);}
.policy-muted{color:var(--o09fca-slate);}
.policy-list{margin:8px 0 0 18px; padding:0;}
.policy-li{margin:8px 0;}
.policy-box{border:1px solid var(--o09fca-border); background:var(--o09fca-bg); border-radius:var(--radius-md); padding:12px 14px;}
.policy-cta{background:linear-gradient(180deg, var(--o09fca-surface), var(--o09fca-bg));}
.lead-form{display:block; margin-top:10px;}
.field-label{display:block; margin:12px 0 6px; font-weight:700; font-size:14px;}
.field-input,.field-textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--o09fca-border);
  border-radius:var(--radius-md);
  padding:10px 12px;
  font-family:var(--o09fca-font);
  font-size:15px;
  background:#fff;
}
.field-textarea{resize:vertical;}
.submit-button{
  margin-top:14px;
  display:inline-block;
  border:none;
  border-radius:var(--radius-md);
  padding:11px 16px;
  background:var(--o09fca-primary);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}
.submit-button:focus{outline:3px solid rgba(196,106,42,0.35); outline-offset:2px;}
.policy-footer{margin:18px 0 0; padding:14px 6px 0;}
.policy-footer-grid{display:block; border-top:1px solid var(--o09fca-border); padding-top:14px;}
.policy-footer-col{margin:0 0 10px;}
.policy-footer-title{margin:0 0 8px; font-weight:800;}
@media (min-width:860px){
  .policy-footer-grid{display:flex; gap:18px;}
  .policy-footer-col{flex:1;}
  .policy-title{font-size:38px;}
}

.thanks-page{background:var(--o09fca-bg);color:var(--o09fca-text);font-family:var(--o09fca-font);padding:24px 16px;min-height:60vh}
.thanks-container{max-width:980px;margin:0 auto;display:block;padding:18px 0 8px}
.thanks-header{background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--radius-lg);padding:22px 18px;box-shadow:0 10px 25px rgba(17,17,17,0.04)}
.thanks-badge{width:40px;height:40px;border-radius:999px;background:rgba(196,106,42,0.12);color:var(--o09fca-accent);display:inline-flex;align-items:center;justify-content:center;font-weight:700;letter-spacing:0.5px}
.thanks-title{margin:10px 0 6px;font-family:var(--o09fca-font-display);font-size:34px;line-height:1.15}
.thanks-subtitle{margin:0;font-size:16px;line-height:1.6;color:var(--o09fca-secondary)}
.thanks-section,.legal-summary,.contact-card{margin-top:16px;background:var(--o09fca-surface);border:1px solid var(--o09fca-border);border-radius:var(--radius-lg);padding:18px}
.section-title{margin:0 0 10px;font-family:var(--o09fca-font-display);font-size:18px;line-height:1.25;color:var(--o09fca-ink)}
.bullet-list{margin:0;padding-left:18px}
.bullet-item{margin:8px 0;line-height:1.6;color:var(--o09fca-secondary)}
.legal-text{margin:10px 0 0;line-height:1.65;font-size:14.5px;color:var(--o09fca-secondary)}
.legal-strong{color:var(--o09fca-ink);font-weight:700}
.contact-grid{display:block;margin-top:4px}
.contact-row{display:block;padding:10px 0;border-top:1px solid rgba(231,221,207,0.9)}
.contact-row:first-child{border-top:0;padding-top:0}
.contact-label{display:block;font-size:13px;color:var(--o09fca-slate);margin-bottom:3px}
.contact-value{display:block;font-size:15px;color:var(--o09fca-ink);line-height:1.35}
.contact-note{margin:12px 0 0;line-height:1.6;color:var(--o09fca-secondary);font-size:14.5px}
.footer{margin-top:14px;padding:12px 4px;color:var(--o09fca-secondary);font-size:13.5px;line-height:1.6}
.footer-line{margin:8px 0}
@media (max-width:520px){.thanks-header{padding:18px 14px}.thanks-title{font-size:28px}.thanks-section,.legal-summary,.contact-card{padding:14px}}
:focus-visible{outline:3px solid rgba(196,106,42,0.35);outline-offset:2px}
section[data-o09fca-h06]:not([data-o09fca-h06='header']):not([data-o09fca-h06='footer']) { position: relative; }
section[data-o09fca-h06]:not([data-o09fca-h06='header']):not([data-o09fca-h06='footer']) { border-top: 1px solid var(--o09fca-border); }
section[data-o09fca-h06]:not([data-o09fca-h06='header']) h1,section[data-o09fca-h06]:not([data-o09fca-h06='header']) h2 { max-width: 20ch; letter-spacing: -0.035em; }
section[data-o09fca-h06]:nth-of-type(even)::before { content: ''; position: absolute; top: 0; left: 0; width: 5rem; border-top: 3px solid var(--o09fca-accent); }
:root {
  --o09fca-c-content-width: 72rem;
  --o09fca-c-gutter: clamp(1rem, 4vw, 3rem);
  --o09fca-c-measure: 65ch;
  --o09fca-c-heading-display: clamp(2.5rem, 6vw, 5.5rem);
}
[data-o09fca-dr] { scroll-margin-top: 1.5rem; }
main > section, main [data-o09fca-h06] { padding-inline: var(--o09fca-c-gutter); }
[data-o09fca-dr*='article'], [data-o09fca-dr*='review'] { max-width: var(--o09fca-c-measure); }
h1 { font-size: var(--o09fca-c-heading-display); }
@media (max-width: 768px) { [data-o09fca-dr] { min-width: 0; } }