/* Affiliate campaign: human photographic direction, isolated from the operational portal. */
body.so-affiliate-campaign{--ac-blue:#191b21;--ac-ink:#191b21;--ac-muted:#545a64;--ac-lime:#f9e458;--ac-line:#e9e9e4;margin:0;background:#fff;color:var(--ac-ink);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.so-affiliate-campaign *{box-sizing:border-box}
.so-affiliate-campaign a{color:inherit}
.so-affiliate-campaign svg{width:24px;height:24px;flex-shrink:0}
.so-affiliate-campaign h1,.so-affiliate-campaign h2,.so-affiliate-campaign h3,.so-affiliate-campaign p{padding:0}
.so-affiliate-campaign h2{margin:15px 0 22px;font-size:clamp(32px,3.7vw,49px);font-weight:650;line-height:1.12;letter-spacing:-.055em}
.so-affiliate-campaign h3{font-size:21px;line-height:1.25;letter-spacing:-.035em}
.so-affiliate-campaign p{color:var(--ac-muted)}
.so-affiliate-campaign [hidden]{display:none!important}
.so-affiliate-campaign :focus-visible{outline:3px solid #191b21;outline-offset:5px}
.ac-shell{width:min(1220px,calc(100% - 80px));margin:0 auto}
.ac-skip{position:fixed;top:10px;left:10px;z-index:30;transform:translateY(-180%);padding:12px;background:white}
.ac-skip:focus{transform:none}
.ac-header{border-bottom:1px solid var(--ac-line);background:#fff}
.ac-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:30px}
.ac-logo{display:inline-flex;flex-shrink:0}
.ac-logo img{display:block;width:170px;height:auto}
.ac-header nav{display:flex;gap:28px;align-items:center;font-size:13px;font-weight:600}
.ac-header a{text-decoration:none}
.ac-nav-link{color:var(--ac-muted)!important}
.ac-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:15px 24px;border:1px solid var(--ac-blue);border-radius:8px;background:var(--ac-blue);color:#fff!important;text-decoration:none;font:650 14px/1.4 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
.ac-button:hover{background:#545a64;transform:translateY(-2px);box-shadow:0 8px 20px #191b2125}
.ac-button svg{width:19px;height:19px}
.ac-button--small{min-height:43px;padding:11px 16px;font-size:12px;gap:14px}
.ac-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;line-height:1.5;font-weight:750;letter-spacing:.13em;color:var(--ac-blue)}
.ac-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--ac-blue)}
.ac-hero{display:grid;grid-template-columns:1.13fr 1fr;align-items:center;gap:50px;padding-top:70px;padding-bottom:72px}
.ac-hero h1{margin:24px 0 24px;font-size:clamp(40px,4.8vw,65px);font-weight:650;line-height:1.08;letter-spacing:-.062em}
.ac-hero h1 span{color:var(--ac-blue);position:relative;white-space:nowrap}
.ac-hero h1 span:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:5px;background:var(--ac-lime);border-radius:50%;transform:rotate(-1deg)}
.ac-hero__copy>p{max-width:520px;font-size:16px;line-height:1.75}
.ac-hero__copy>p strong{font-weight:500;color:#30343e}
.ac-actions{display:flex;align-items:center;gap:21px;margin:28px 0 21px;flex-wrap:wrap}
.ac-watch{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:650;text-decoration:none}
.ac-watch svg{width:25px;height:25px;border:1px solid var(--ac-line);border-radius:50%;padding:5px}
.ac-hero__notes{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;font-weight:550;color:#30343e}
.ac-hero__notes span{display:inline-flex;align-items:center;gap:6px}
.ac-hero__notes svg{width:14px;height:14px;color:#3c7437}
.ac-hero__copy .ac-fine{font-size:10px;margin-top:16px;color:#545a64}
.ac-section{padding-top:96px;padding-bottom:96px;scroll-margin-top:25px}
.ac-commission{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.ac-commission h2 span{color:var(--ac-blue)}
.ac-commission>div>p{max-width:450px;font-size:15px}
.ac-calculator{padding:34px;background:#f8f8f6;border:1px solid #f8f8f6;border-radius:15px;box-shadow:0 15px 40px #191b2106}
.ac-calculator>label{display:block;margin-top:23px;font-size:12px;color:#545a64}
.ac-calculator>output{display:block;font-size:35px;letter-spacing:-.05em;font-weight:650;margin:5px 0 12px}
.ac-calculator input[type=range]{display:block;width:100%;height:28px;accent-color:var(--ac-blue);cursor:pointer}
.ac-range-labels{display:flex;justify-content:space-between;font-size:9px;color:#545a64}
.ac-calc-result{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:25px;padding:18px 20px;background:var(--ac-lime);border-radius:8px}
.ac-calc-result span{font-size:12px;color:#38502d}
.ac-calc-result output{font-size:31px;font-weight:650;letter-spacing:-.045em;color:#263e20}
.ac-calculator>p{font-size:9px;line-height:1.7;margin:15px 0 23px;color:#545a64}
.ac-calculator>.ac-button{width:100%}
.ac-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}
.ac-faq details{border-bottom:1px solid var(--ac-line)}
.ac-faq summary{list-style:none;cursor:pointer;padding:21px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;font-weight:600}
.ac-faq summary::-webkit-details-marker{display:none}
.ac-faq summary>span{color:var(--ac-blue);font-size:21px;font-weight:400;transition:transform .2s}
.ac-faq details[open] summary>span{transform:rotate(45deg)}
.ac-faq details p{margin:0;padding:0 25px 22px 0;font-size:13px;line-height:1.85}
.ac-register-section{padding:90px 0;background:#f8f8f6;scroll-margin-top:25px}
.ac-register-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}
.ac-register-copy h2{font-size:clamp(33px,3.7vw,49px)}
.ac-register-copy h2 span{color:var(--ac-blue)}
.ac-register-copy>p{font-size:14px;max-width:400px}
.ac-form-card{padding:34px 36px;background:#fff;border:1px solid #e9e9e4;border-radius:15px;box-shadow:0 25px 60px #30343e0a}
.ac-form-card h2{font-size:26px;margin:12px 0 10px;letter-spacing:-.04em}
.ac-form-card>p{font-size:12px;margin-bottom:24px}
.ac-form{display:grid;gap:15px}
.ac-form label:not(.ac-consent){display:grid;gap:6px;font-size:11px;font-weight:650}
.ac-form input:not([type=checkbox]){width:100%;min-width:0;min-height:45px;padding:12px;border:1px solid #e9e9e4;border-radius:6px;background:#fff;color:var(--ac-ink);font:12px/1.4 Inter,ui-sans-serif,system-ui,sans-serif}
.ac-form input::placeholder{color:#545a64;font-weight:400}
.ac-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ac-consent{display:flex;align-items:flex-start;gap:9px;font-size:10px;line-height:1.6;color:#545a64;font-weight:400}
.ac-consent input{margin:2px 0 0;accent-color:var(--ac-blue);width:15px;height:15px;flex-shrink:0}
.ac-form .ac-button{width:100%;min-height:51px;font-size:12px}
.ac-honeypot{position:absolute!important;left:-9999px!important}
.ac-form-card .ac-form-note{font-size:9px;line-height:1.7;margin:17px 0;color:#545a64}
.ac-form-card .ac-form-login{font-size:11px;margin:18px 0 0;text-align:center;padding-top:18px;border-top:1px solid #f8f8f6}
.ac-form-login a{color:var(--ac-blue);font-weight:600}
.ac-error{padding:12px;margin-bottom:16px;border:1px solid #f0b5b5;border-radius:6px;background:#fff2f2;color:#8a2424;font-size:12px}
.ac-footer{padding:32px 0;background:#fff}
.ac-footer>.ac-shell{display:flex;align-items:center;gap:25px}
.ac-footer .ac-logo img{width:130px}
.ac-footer p{font-size:9px;line-height:1.8;margin:0}
.ac-footer>.ac-shell>a:last-child{margin-left:auto;font-size:11px;text-decoration:none;color:var(--ac-muted)}
.ac-mobile-cta{display:none}
.ac-reveal{opacity:1}
.ac-motion .ac-reveal{transition:opacity .65s,transform .65s}
.ac-motion .ac-reveal.ac-pending{opacity:0;transform:translateY(20px)}
@media(min-width:1500px){
.ac-hero{padding-top:88px;padding-bottom:90px}
.ac-hero h1{font-size:68px}
}
@media(max-width:1050px){
.ac-shell{width:calc(100% - 48px)}
.ac-header nav{gap:18px}
.ac-hero{gap:30px;padding-top:55px;padding-bottom:60px}
.ac-hero h1{font-size:clamp(37px,5vw,52px)}
.ac-hero__copy>p{font-size:14px}
.ac-actions{gap:16px}
.ac-actions>.ac-button{font-size:12px;padding:14px 17px;gap:15px}
.ac-section{padding-top:75px;padding-bottom:75px}
.ac-commission,.ac-register-grid{gap:55px}
.ac-faq{gap:50px}
.ac-form-card{padding:28px}
}
@media(max-width:900px){
.ac-shell{width:calc(100% - 40px)}
.ac-header__inner{min-height:74px;gap:15px}
.ac-logo img{width:138px}
.ac-header nav{gap:16px}
.ac-header .ac-nav-link{display:none}
.ac-header .ac-login{font-size:12px}
.ac-header .ac-button{font-size:10px;min-height:37px;padding:9px 11px;gap:6px}
.ac-header .ac-button svg{width:15px;height:15px}
.ac-hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:52px;gap:45px}
.ac-hero h1{font-size:clamp(38px,7.8vw,59px);margin-top:20px}
.ac-hero__copy>p{font-size:15px;max-width:540px}
.ac-hero .ac-eyebrow{font-size:8px}
.ac-actions{margin-top:25px;gap:20px}
.ac-actions>.ac-button{min-height:54px;font-size:13px;padding:15px 20px}
.ac-watch{font-size:11px}
.ac-hero__notes{font-size:10px;gap:16px}
.ac-hero__copy .ac-fine{font-size:9px}
.ac-section{padding-top:62px;padding-bottom:62px}
.so-affiliate-campaign h2{font-size:36px;letter-spacing:-.05em}
.ac-eyebrow{font-size:8px}
.ac-commission{grid-template-columns:1fr;gap:30px}
.ac-calculator{padding:26px}
.ac-faq{grid-template-columns:1fr;gap:10px}
.ac-faq h2 br:nth-child(2){display:none}
.ac-faq summary{font-size:12px;padding:20px 0}
.ac-register-section{padding:62px 0}
.ac-register-grid{grid-template-columns:1fr;gap:35px}
.ac-register-copy>p{max-width:500px}
.ac-form-card{padding:28px 23px}
.ac-form-card h2{font-size:26px}
.ac-form-card>p{font-size:11px}
.ac-form input:not([type=checkbox]){font-size:16px;min-height:48px}
.ac-form input::placeholder{font-size:11px}
.ac-form label:not(.ac-consent){font-size:12px}
.ac-form__grid{gap:10px}
.ac-consent{font-size:11px}
.ac-form-card .ac-form-note{font-size:10px}
.ac-form-card .ac-form-login{font-size:12px}
.ac-footer{padding:28px 0 105px}
.ac-footer>.ac-shell{flex-wrap:wrap;gap:16px}
.ac-footer .ac-logo{flex-basis:100%}
.ac-footer>.ac-shell>a:last-child{font-size:10px}
.ac-mobile-cta{display:block;position:fixed;z-index:10;bottom:0;left:0;right:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e9e9e4;background:#ffffffed;backdrop-filter:blur(15px);transition:transform .2s}
.ac-mobile-cta .ac-button{display:flex;width:100%;min-height:48px;font-size:13px}
.ac-mobile-cta.ac-hidden{transform:translateY(110%)}
}
@media(max-width:370px){
.ac-shell{width:calc(100% - 32px)}
.ac-header .ac-login{display:none}
.ac-hero h1{font-size:36px}
.ac-actions{gap:16px}
.ac-actions>.ac-button{width:100%}
.ac-hero__notes{gap:10px}
.ac-form__grid{grid-template-columns:1fr}
.ac-calc-result{padding:15px}
.ac-calc-result output{font-size:27px}
.ac-calc-result span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
.so-affiliate-campaign *,.so-affiliate-campaign *:before,.so-affiliate-campaign *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.ac-motion .ac-reveal.ac-pending{opacity:1;transform:none}
}

/* Campaign photo family: cobalt blue, pale yellow and warm natural light. */
body.so-affiliate-campaign{--ac-lime:#f5efb1}
.ac-hero{padding-top:52px;padding-bottom:56px;gap:65px}
.ac-hero h1{font-size:clamp(40px,4.7vw,63px)}
.ac-photo{margin:0;min-width:0}
.ac-photo img{display:block;width:100%;height:auto;object-fit:cover;border-radius:20px;background:#f1eee8}
.ac-photo figcaption{margin-top:10px;text-align:center;font-size:10px;color:#545a64}
.ac-photo--hero img{height:560px;object-position:50% 40%}
.ac-human-how{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:86px;border-top:1px solid #f8f8f6}
.ac-photo--team img{aspect-ratio:6/5;object-position:50% 45%}
.ac-human-how h2{font-size:clamp(32px,3.4vw,44px);margin-bottom:30px}
.ac-human-steps{list-style:none;padding:0;margin:0;display:grid;gap:22px}
.ac-human-steps li{display:flex;align-items:flex-start;gap:17px}
.ac-human-steps li>span{display:grid;place-items:center;width:29px;height:29px;flex-shrink:0;background:#f8f8f6;color:var(--ac-blue);border-radius:50%;font-size:10px;font-weight:650;margin-top:2px}
.ac-human-steps h3{margin:0 0 5px;font-size:17px;font-weight:650}
.ac-human-steps p{margin:0;font-size:13px;line-height:1.75;max-width:370px}
.ac-film{margin-top:27px;border-top:1px solid #e9e9e4;padding-top:17px}
.ac-film summary{display:flex;align-items:center;gap:8px;list-style:none;font-size:11px;font-weight:650;color:var(--ac-blue);cursor:pointer}
.ac-film summary::-webkit-details-marker{display:none}
.ac-film summary>svg{width:18px;height:18px}
.ac-film summary>span{margin-left:auto;font-size:20px;font-weight:400}
.ac-film[open] summary>span{transform:rotate(45deg)}
.ac-film video{display:block;width:100%;height:auto;margin-top:16px;aspect-ratio:16/9;border-radius:8px;background:#191b21}
.ac-film>p{margin:6px 0 0;font-size:9px}
.ac-commission-band{background:#faf9f5;border-top:1px solid #eeeee5;border-bottom:1px solid #eeeee5}
.ac-commission{gap:100px}
.ac-calculator{background:#fff;border:1px solid #e7e8e3;box-shadow:none}
.ac-calc-result{background:#f5efb1}
.ac-calc-result span{color:#655e24}
.ac-calc-result output{color:#383622}
.ac-register-section{background:#f8f8f6}
.ac-register-grid{gap:80px}
.ac-photo--possibilities{margin-bottom:28px}
.ac-photo--possibilities img{aspect-ratio:3/2;object-position:50% 43%}
.ac-register-copy h2{margin-bottom:0;font-size:40px}
.ac-faq{padding-top:74px;padding-bottom:74px}
@media(max-width:1050px){
.ac-hero{gap:35px}
.ac-photo--hero img{height:510px}
.ac-human-how{gap:45px}
.ac-human-how h2{font-size:35px}
.ac-register-grid{gap:45px}
}
@media(max-width:900px){
.ac-hero{padding-top:38px;padding-bottom:42px;gap:28px}
.ac-hero h1{font-size:clamp(38px,7.8vw,59px)}
.ac-photo--hero{width:100%;max-width:600px}
.ac-photo--hero img{height:auto;aspect-ratio:6/5;object-position:50% 40%}
.ac-human-how{grid-template-columns:1fr;gap:30px;padding-top:44px;padding-bottom:48px}
.ac-photo--team img{aspect-ratio:3/2}
.ac-human-how__content{max-width:620px}
.ac-human-how h2{font-size:36px;margin-bottom:24px}
.ac-human-steps{gap:20px}
.ac-human-steps p{max-width:none}
.ac-commission{gap:25px}
.ac-faq{padding-top:48px;padding-bottom:48px}
.ac-register-section{padding-top:45px;padding-bottom:50px}
.ac-register-grid{gap:28px}
.ac-photo--possibilities{margin-bottom:22px}
.ac-register-copy h2{font-size:34px}
.ac-photo figcaption{font-size:9px}
}
@media(max-width:370px){.ac-hero h1{font-size:36px}.ac-human-how h2{font-size:32px}.ac-human-steps h3{font-size:16px}}

.ac-button--small{white-space:nowrap}

/* Real public inventory sample; the full Book stays in its own tab. */
.ac-book-preview{border-top:1px solid #f8f8f6}
.ac-book-heading{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:32px}
.ac-book-heading>div{min-width:0;max-width:780px}
.ac-book-heading h2{margin:0 0 20px;font-size:clamp(32px,3.7vw,49px);line-height:1.13;letter-spacing:-.05em;text-wrap:balance}
.ac-book-heading h2 span{color:var(--ac-blue)}
.ac-book-heading p{font-size:14px;margin:0;max-width:570px;line-height:1.8}
.ac-book-open{flex-shrink:0;font-size:12px;gap:15px}
.ac-book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ac-book-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;padding:23px 20px;border:1px solid #e9e9e4;border-radius:13px;background:linear-gradient(155deg,#fff 65%,#f8f8f6);box-shadow:0 6px 24px #30343e04}
.ac-motion .ac-book-card{transition:opacity .4s,transform .4s cubic-bezier(.22,1,.36,1),border-color .35s,box-shadow .35s}
.ac-book-card:nth-child(2){--ac-stagger:.12s}
.ac-book-card:nth-child(3){--ac-stagger:.24s}
.ac-book-card:nth-child(4){--ac-stagger:.36s}
.ac-book-card.ac-entered{animation:ac-book-rise .85s cubic-bezier(.22,1,.36,1) var(--ac-stagger,0s) backwards}
.ac-book-card:before{content:"";position:absolute;inset:-20%;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#191b210d 50%,transparent 65%);transform:translateX(-140%)}
.ac-book-card.ac-entered:before{animation:ac-book-sheen 1.5s ease var(--ac-stagger,0s) backwards}
.ac-book-administrator img{transition:transform .4s cubic-bezier(.22,1,.36,1)}
.ac-book-open svg{transition:transform .3s}
@keyframes ac-book-rise{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ac-book-sheen{from{transform:translateX(-140%)}to{transform:translateX(140%)}}
@media(hover:hover) and (pointer:fine){.ac-book-card:hover{transform:translateY(-8px);border-color:#e9e9e4;box-shadow:0 22px 45px #30343e14}.ac-book-card:hover .ac-book-administrator img{transform:scale(1.08)}.ac-book-open:hover svg{transform:translateX(5px)}}
.ac-book-card__top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.ac-book-segment{padding:4px 8px;background:#f8f8f6;border-radius:4px;color:#191b21;font-size:9px;font-weight:650}
.ac-book-code{font-size:8px;color:#545a64}
.ac-book-administrator{display:flex;align-items:center;gap:8px;margin:24px 0 20px;min-height:32px;font-size:11px;font-weight:650;overflow-wrap:anywhere}
.ac-book-administrator img{width:32px;height:32px;object-fit:contain}
.ac-book-credit-label{display:block;font-size:10px;color:#545a64}
.ac-book-card h3{margin:4px 0 22px;font-size:clamp(20px,2vw,26px);font-weight:650;letter-spacing:-.05em;white-space:nowrap}
.ac-book-card dl{display:grid;gap:14px;margin:0;padding-top:17px;border-top:1px solid #f8f8f6}
.ac-book-card dt{font-size:9px;color:#545a64}
.ac-book-card dd{margin:3px 0 0;font-size:12px;font-weight:550;color:#30343e}
.ac-book-preview .ac-book-note{margin:16px 0 0;font-size:10px;line-height:1.7;color:#545a64}
.ac-screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.ac-header nav{gap:15px}.ac-book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-book-card h3{font-size:26px}}
@media(max-width:900px){.ac-book-heading{display:block;margin-bottom:25px}.ac-book-heading h2{font-size:34px}.ac-book-open{margin-top:22px}.ac-book-grid{gap:13px}.ac-book-card{padding:20px 17px}.ac-book-preview .ac-book-note{font-size:10px}}
@media(max-width:480px){.ac-book-heading h2{font-size:clamp(28px,8.2vw,34px)}.ac-book-grid{grid-template-columns:1fr}.ac-book-card{padding:23px}.ac-book-administrator{margin:20px 0 16px}.ac-book-card dl{grid-template-columns:1fr 1fr}.ac-book-open{width:100%}}
