:root{--bg:#0d0f12;--surface:#15181c;--text:#e2e4e7;--accent:#c44d33;--secondary:#7a8b9e;--border:#2a2e35;--success:#2e7d32;--danger:#d32f2f;--radius:4px;--max:1100px;--grid-gap:24px;--type-serif:Merriweather,Georgia,"Times New Roman",serif;--type-sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--ease:cubic-bezier(.25,.1,.25,1)}
*,::after,::before{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--type-sans);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
img,svg{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer;border:none;background:transparent;color:inherit}
a{color:var(--accent);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--secondary)}
.container{max-width:var(--max);width:100%;margin:0 auto;padding:0 var(--grid-gap)}
.container--narrow{max-width:800px}
.container--wide{max-width:1440px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(13,15,18,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.site-header__inner{max-width:var(--max);width:100%;margin:0 auto;padding:16px var(--grid-gap);display:flex;align-items:center;justify-content:space-between}
.site-logo{font-family:var(--type-serif);font-weight:700;font-size:1.25rem;color:var(--text);letter-spacing:.02em}
.site-header__toggle{display:none;padding:8px}
.site-header__hamburger{display:block;width:24px;height:2px;background:var(--text);position:relative;transition:background .2s}
.site-header__hamburger::before,.site-header__hamburger::after{content:'';position:absolute;width:24px;height:2px;background:var(--text);left:0;transition:transform .2s}
.site-header__hamburger::before{top:-6px}.site-header__hamburger::after{top:4px}
.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:16px}
.main-nav[aria-expanded="true"]{display:block}
.main-nav ul{list-style:none;display:flex;flex-direction:column;gap:12px;padding:0 var(--grid-gap)}
.main-nav__item{color:var(--text);font-size:.95rem;padding:8px 0;display:block}
.main-nav__item--active{color:var(--accent);font-weight:500}
.main-nav__item--cta{background:var(--accent);color:#fff;padding:10px 16px;border-radius:var(--radius);text-align:center;margin-top:8px}
main{flex:1;margin-top:0}
section{padding:64px 0}
.hero__layout{max-width:var(--max);width:100%;margin:0 auto;padding:48px var(--grid-gap);display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hero__heading{font-family:var(--type-serif);font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;color:var(--text);margin-bottom:16px}
.hero__subheading{font-size:1.1rem;color:var(--secondary);margin-bottom:24px;max-width:540px}
.hero__actions{display:flex;gap:16px;flex-wrap:wrap}
.hero__image{border-radius:var(--radius);overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.4)}
.hero__image img{width:100%;height:auto;object-fit:cover}
figure{margin:0}
figcaption{padding:12px;font-size:.85rem;color:var(--secondary);font-style:italic;border-top:1px solid var(--border)}
.signature-component{background:var(--surface);padding:48px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.archive-filter__controls{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:32px}
.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.archive-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,opacity .3s ease}
.archive-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.3);border-color:var(--accent)}
.archive-card[hidden]{display:none}
.archive-card img{width:100%;height:200px;object-fit:cover}
.archive-card__meta{padding:12px;display:flex;gap:8px;flex-wrap:wrap}
.archive-card__tag{background:var(--surface);color:var(--secondary);padding:4px 8px;border-radius:var(--radius);font-size:.75rem}
.value-section,.approach-section,.faq-section,.contact-section,.content-section,.methodology-section,.navigation-section,.page-hero,.legal-hero,.services-section,.workflow-section,.checklist-section,.audience-section,.criteria-section,.exclusions-section,.constraint-section,.contact-notes,.restricted-section,.access-section,.verification-section,.contact-section,.thank-you-section{padding:64px 0}
.page-hero{background:linear-gradient(180deg,var(--bg) 0%,var(--surface) 100%);padding:80px 0 48px}
.page-hero--accent{background:linear-gradient(180deg,#0f1215 0%,#1a1c21 100%)}
.page-hero--danger{background:linear-gradient(180deg,#140d0d 0%,#1a1212 100%)}
.section-title{font-family:var(--type-serif);font-size:1.75rem;color:var(--text);margin-bottom:24px;letter-spacing:-.01em}
.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:var(--radius);font-weight:500;font-size:.95rem;transition:all .2s ease;text-decoration:none}
.button--accent{background:var(--accent);color:#fff;border:1px solid var(--accent)}
.button--accent:hover{background:#a83d29;border-color:#a83d29}
.button--outline{border:1px solid var(--secondary);color:var(--secondary)}
.button--outline:hover{background:var(--surface);border-color:var(--text)}
.button--small{padding:8px 12px;font-size:.85rem}
.button--text{color:var(--accent);padding:8px 0;border:none;background:transparent;text-decoration:underline;text-underline-offset:4px}
.form-field{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.form-label{font-size:.9rem;color:var(--secondary);font-weight:500}
.form-input,.form-select{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:10px 12px;border-radius:var(--radius);font-size:.95rem;width:100%}
.form-input:focus,.form-select:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
.form-help{font-size:.8rem;color:var(--secondary)}
.field-error{color:var(--danger);font-size:.8rem;display:none;margin-top:4px}
.form-field.invalid .field-error{display:block}.form-field.invalid .form-input,.form-field.invalid .form-select{border-color:var(--danger)}
.form-submit{margin-top:8px}
.approach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.approach-block{background:var(--surface);padding:24px;border-radius:var(--radius);border:1px solid var(--border)}
.approach-block__title{font-family:var(--type-serif);font-size:1.1rem;color:var(--text);margin-bottom:12px}
.faq-list{display:flex;flex-direction:column;gap:16px}
.faq-list__question{width:100%;text-align:left;font-size:1rem;font-weight:500;color:var(--text);padding:16px 0;border-bottom:1px solid var(--border)}
.faq-list__toggle::after{content:"+";float:right;font-weight:300}
.faq-list__toggle[aria-expanded="true"]::after{content:"−"}
.faq-list__answer{padding:16px 0;font-size:.95rem;color:var(--secondary);display:none}
.faq-list__answer[aria-hidden="false"]{display:block}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.content-text h2{font-family:var(--type-serif);font-size:1.25rem;margin-bottom:16px}
.content-text p{margin-bottom:16px}
.content-image{margin:0}
.methodology-list,.notes-list,.framework-list,.checklist,.navigation-list{list-style:none;display:flex;flex-direction:column;gap:16px;margin-bottom:24px}
.methodology-list dt,.framework-list dt{font-weight:600;color:var(--text);margin-bottom:4px}
.methodology-list dd,.framework-list dd{color:var(--secondary);margin-bottom:12px}
.page-hero__title{font-family:var(--type-serif);font-size:clamp(2rem,4vw,3rem);margin-bottom:12px}
.page-hero__lead{font-size:1.1rem;color:var(--secondary);max-width:640px;margin-bottom:32px}
.services-grid,.collection-grid,.verification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}
.service-card,.collection-item,.verification-card{background:var(--surface);padding:24px;border-radius:var(--radius);border:1px solid var(--border);transition:transform .2s ease}
.service-card:hover,.collection-item:hover,.verification-card:hover{transform:translateY(-2px);border-color:var(--secondary)}
.service-card__title,.collection-item__title,.verification-card__title{font-family:var(--type-serif);font-size:1.1rem;margin-bottom:12px;color:var(--text)}
.service-card__deliverables,.collection-item__p{margin-bottom:16px;color:var(--secondary);font-size:.95rem}
.workflow-timeline{display:flex;flex-direction:column;gap:32px;margin-bottom:32px}
.workflow-phase{display:flex;gap:20px;align-items:flex-start}
.workflow-phase__number{font-family:var(--type-serif);font-size:1.5rem;color:var(--accent);font-weight:700;min-width:40px}
.workflow-phase__title{font-family:var(--type-serif);font-size:1.1rem;color:var(--text);margin-bottom:8px}
.audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:32px}
.audience-card{background:var(--surface);padding:24px;border-radius:var(--radius);border:1px solid var(--border)}
.exclusion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-bottom:32px}
.exclusion-item{background:var(--surface);padding:24px;border-radius:var(--radius);border:1px solid var(--border);border-left:3px solid var(--danger)}
.collection-item img{width:100%;height:240px;object-fit:cover;border-radius:var(--radius);margin-bottom:16px}
.collection-item__p{color:var(--secondary);margin-bottom:16px}
.legal-content{margin-bottom:32px}
.cookie-table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:.9rem}
.cookie-table th,.cookie-table td{text-align:left;padding:12px;border-bottom:1px solid var(--border)}
.cookie-table th{color:var(--text);font-weight:600}
.cookie-table td{color:var(--secondary)}
.thank-you-card{background:var(--surface);padding:32px;border-radius:var(--radius);border:1px solid var(--accent);max-width:700px;margin:0 auto;text-align:center}
.thank-you-card__title{font-family:var(--type-serif);font-size:1.5rem;margin-bottom:12px}
.thank-you-card__lead{color:var(--secondary);margin-bottom:24px;font-size:.95rem}
.thank-you-card__steps{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;text-align:left;color:var(--secondary);font-size:.95rem}
.thank-you-card__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.site-footer{background:var(--surface);padding:32px 0;border-top:1px solid var(--border);margin-top:auto}
.site-footer__nav{max-width:var(--max);width:100%;margin:0 auto;padding:0 var(--grid-gap);display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.site-footer__nav a{color:var(--secondary);font-size:.9rem}
.site-footer__copy{max-width:var(--max);width:100%;margin:0 auto;padding:0 var(--grid-gap);font-size:.85rem;color:var(--secondary);border-top:1px solid var(--border);padding-top:16px;text-align:center}
#scroll-progress{height:3px;background:var(--accent);width:0;position:fixed;top:0;left:0;z-index:200;transition:width .1s linear}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:16px;z-index:150;box-shadow:0 -4px 12px rgba(0,0,0,.3)}
.cookie-banner__content{max-width:var(--max);width:100%;margin:0 auto;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}
.cookie-banner__text{font-size:.9rem;color:var(--secondary);margin:0}
.cookie-banner__actions{display:flex;gap:12px}
.fade-up{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
.fade-up.visible{opacity:1;transform:none}
.fade-up.is-visible{opacity:1;transform:none;transition:none}
@media(max-width:768px){
.site-header__toggle{display:block}
.main-nav{display:block;position:relative;box-shadow:none}
.hero__layout,.content-grid,.approach-grid,.services-grid,.collection-grid,.verification-grid,.audience-grid,.exclusion-grid{grid-template-columns:1fr}
.hero__layout{padding:32px var(--grid-gap);gap:24px}
.hero__heading{font-size:2rem}
.archive-filter__controls{flex-direction:column;align-items:stretch}
.archive-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
section{padding:40px 0}
.cookie-banner__content{text-align:left}
}
@media(prefers-reduced-motion:reduce){
*,::before,::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}
.fade-up{opacity:1;transform:none}
}


