:root{--paper:#f8f4ee;--white:#fffaf4;--ink:#201832;--plum:#784359;--indigo:#4e4f9a;--soft:#665d6c;--line:#dfd4d9;--green:#226452;--serif:Georgia,"Times New Roman",serif;--sans:Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--indigo);outline-offset:4px}a{color:inherit}button:disabled{cursor:default}.shell{max-width:1760px;margin:auto;min-height:100svh;display:flex;flex-direction:column}header,footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 clamp(20px,5vw,85px);min-height:78px}header{border-bottom:1px solid var(--line)}.brand img{display:block;width:123px;height:auto}.tab,.screen,.notes,.plain{background:transparent;border:0;color:var(--ink)}.tab{padding:12px 15px;font-size:13px;color:var(--soft);font-weight:700}.tab[aria-current=true]{color:var(--plum);box-shadow:inset 0 -2px var(--plum)}.screen{font-size:27px;border:1px solid var(--line);height:42px;width:45px;border-radius:50%;line-height:1}main{flex:1;display:flex;outline:none}footer{border-top:1px solid var(--line);min-height:63px;font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--soft)}footer i{display:inline-block;margin:0 7px;width:4px;height:4px;background:var(--plum);border-radius:50%;vertical-align:middle}.chapters{display:flex;gap:7px;align-items:center}.chapters button{display:grid;place-items:center;width:27px;height:28px;background:none;border:0;padding:0}.chapters button:after{content:'';width:22px;height:3px;background:#d5c8cf;border-radius:8px}.chapters button[aria-current=true]:after{background:var(--plum);height:5px}.chapters button.done:after{background:#8f7384}
.scene{width:100%;min-height:calc(100svh - 141px);display:grid;grid-template-columns:1fr 1fr;animation:arrive .54s cubic-bezier(.2,.75,.25,1) both}.scene>div{min-width:0}.copy{padding:clamp(35px,6vw,96px) clamp(23px,5.4vw,90px);align-self:center}.eyebrow{display:block;font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--plum);text-transform:uppercase}.eyebrow:before{content:'';display:inline-block;width:27px;height:1px;background:currentColor;vertical-align:middle;margin-right:11px}h1,h2,h3,p{margin:0}h1,h2,.serif{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.055em}h1{font-size:clamp(54px,8.15vw,132px);margin:27px 0 24px}h1 em,h2 em{color:var(--plum);font-weight:400}h2{font-size:clamp(37px,5.6vw,87px);margin:20px 0 18px}.lede{font-size:clamp(16px,1.5vw,24px);max-width:37ch;color:var(--soft);line-height:1.47}.byline{margin-top:30px;color:var(--soft);font-size:13px}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:28px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid var(--ink);border-radius:100px;padding:12px 20px;background:var(--ink);color:white;font-weight:700;font-size:14px;min-height:47px}.primary:hover{background:var(--plum);border-color:var(--plum)}.primary:disabled{opacity:.45}.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.secondary:hover{border-color:var(--plum)}.media{position:relative;overflow:hidden;background:#302036;min-height:420px;isolation:isolate}.media .still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.media .still{opacity:.9}.media:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#150f22b0,transparent 50%);pointer-events:none}.question .copy{padding-top:36px;padding-bottom:36px}.question h2{font-size:clamp(37px,4.65vw,72px)}.question .lede{max-width:49ch;font-size:clamp(15px,1.28vw,20px)}.choices{display:grid;margin-top:23px;gap:8px}.choice{display:flex;text-align:left;align-items:center;gap:14px;background:transparent;border:1px solid var(--line);border-radius:9px;padding:9px 12px;color:var(--ink);min-height:48px;font-size:clamp(13px,1.15vw,18px);transition:border-color .2s,background .2s,transform .2s}.choice:hover{transform:translateX(3px);border-color:var(--plum)}.choice[aria-pressed=true]{background:#eee2eb;border-color:var(--plum);box-shadow:inset 3px 0 var(--plum)}.letter{border:1px solid #ccb9c7;min-width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--plum)}.reveal{background:#2d1b3f url(media/union-texture.png) center/cover;color:white;grid-template-columns:1.16fr .84fr}.reveal .copy{align-self:center}.reveal .eyebrow,.reveal .lede{color:#fff5f9}.reveal .eyebrow:before{background:#fff}.reveal h2{font-size:clamp(42px,6.45vw,104px)}.reveal .primary{background:var(--white);color:var(--ink);border-color:var(--white)}.reveal .secondary{border-color:#fff8;color:#fff}.rule{align-self:center;margin:40px clamp(24px,6vw,110px) 40px 0;border-left:1px solid #fff8;padding:20px 0 22px 30px}.rule small{letter-spacing:.15em;font-weight:800;color:#fff4f9}.rule p{font:clamp(23px,3vw,52px)/1.15 var(--serif);margin-top:16px}.bonus .media{min-height:0;display:grid;place-content:center;padding:36px;background:#2b2041}.quote{position:relative;z-index:1;padding:26px 0;border-bottom:1px solid #ffffff42;color:white;max-width:420px}.quote span{display:block;letter-spacing:.18em;font-size:11px;margin-bottom:9px;color:#e9c6d4}.quote p{font:clamp(22px,2.5vw,41px)/1.17 var(--serif)}.close-scene .media{background:#2d1b3f url(media/union-texture.png) center/cover;display:grid;align-content:center;justify-items:start;padding:clamp(32px,6vw,108px);color:#fff}.score{font:clamp(88px,14vw,230px)/.8 var(--serif);letter-spacing:-.08em;position:relative;z-index:1}.score-label{z-index:1;letter-spacing:.16em;font-size:12px;margin-top:26px}.reference{width:100%;padding:clamp(28px,5vw,74px) clamp(20px,8vw,145px);animation:arrive .4s both}.reference h2{margin-bottom:20px}.reference .lede{max-width:58ch}.reference details{border-bottom:1px solid var(--line);padding:15px 0}.reference details:first-of-type{margin-top:29px;border-top:1px solid var(--line)}.reference summary{cursor:pointer;font-weight:700;font-size:clamp(16px,1.65vw,23px);padding:5px 0}.reference details p,.reference li{max-width:85ch;color:var(--soft);margin:12px 0}.reference table{border-collapse:collapse;width:100%;margin:14px 0}.reference td,.reference th{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.reference th{color:var(--plum)}
@keyframes arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@media(max-width:780px){header{min-height:63px}.brand img{width:94px}.tab{padding:10px 7px;font-size:12px}.screen{width:34px;height:34px;font-size:22px}.scene{grid-template-columns:1fr;min-height:0}.copy{padding:34px 23px 38px}.media{min-height:365px}.question .media{order:-1;min-height:210px}.question h2{margin:14px 0 12px}.question .copy{padding-top:25px}.rule{margin:0 23px 35px;padding:10px 0 10px 19px}.close-scene .media{min-height:245px}.bonus .media{min-height:0}.chapters{gap:0}footer{padding:8px 12px;gap:6px;font-size:8px;letter-spacing:.05em}.chapters button{width:20px}.chapters button:after{width:14px}.reference td,.reference th{padding:8px;font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.header-end,.footer-brands{display:flex;align-items:center;gap:clamp(10px,1.55vw,24px)}
.pxo{width:48px;height:52px;object-fit:contain}
.footer-brands img{display:block;max-width:84px;height:31px;object-fit:contain}
.footer-brands .hxt{width:66px;mix-blend-mode:multiply}
.hero h1{font-size:clamp(43px,6.9vw,112px)}
.policy-wrap{width:100%;align-self:center;padding:clamp(27px,4.5vw,76px) clamp(20px,6vw,102px);perspective:1800px}
.book{display:grid;grid-template-columns:1fr 1fr;min-height:430px;background:#fffaf4;border:1px solid #e1d6db;border-radius:10px;box-shadow:0 16px 45px #3c21341b;overflow:hidden}
.book-leaf{padding:clamp(27px,4.25vw,78px);min-width:0}
.book-leaf:first-child{background:linear-gradient(90deg,#fffaf4 88%,#e9dfe4);border-right:1px solid #ddd1d9}
.book-leaf:last-child{background:linear-gradient(90deg,#f2e9ec,#fffaf4 13%);}
.book h2{font-size:clamp(38px,5vw,75px);margin:22px 0}
.book .lede{font-size:clamp(15px,1.35vw,21px)}
.book dl{margin:0}.book dl>div{border-bottom:1px solid var(--line);padding:0 0 15px;margin:0 0 15px}.book dl>div:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.book dt{font-weight:800;font-size:clamp(15px,1.35vw,22px);color:var(--plum);margin-bottom:5px}
.book dd{margin:0;color:var(--ink);font-size:clamp(15px,1.26vw,20px)}
.book-sources{display:flex;flex-wrap:wrap;gap:6px 15px;margin-top:24px;color:var(--plum);font-size:12px}
.book-nav{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.book-nav span{font-size:13px;color:var(--soft);white-space:nowrap}
@keyframes leaf-in{from{opacity:.55;transform:rotateY(-7deg)}to{opacity:1;transform:none}}
@media(max-width:780px){header{display:grid;grid-template-columns:1fr auto;gap:3px;padding:8px 16px 0}header nav{grid-row:2;grid-column:1/-1;justify-self:center}.header-end{grid-column:2;grid-row:1}.pxo{width:34px;height:38px}.footer-brands{gap:5px}.footer-brands img{height:23px;max-width:46px}.footer-brands .hxt{width:38px}.book{grid-template-columns:1fr;min-height:0}.book-leaf:first-child{background:#fffaf4;border-right:0;border-bottom:1px solid var(--line)}.book-leaf:last-child{background:#fffaf4}.book-nav .primary,.book-nav .secondary{gap:0;padding:9px 12px;font-size:12px}}
@media print{header,footer,dialog,.reference .actions{display:none!important}.shell{min-height:0}.reference{padding:0;color:#111}.reference h2{font-size:34px}.reference details{padding:6px 0;break-inside:avoid}.reference summary{font-size:15px}.reference details p,.reference td,.reference th{font-size:12px}.reference td,.reference th{padding:6px}.reference .lede{font-size:13px}}

/* Footer lockup and legal line */
footer{padding-top:13px;padding-bottom:13px}
.footer-brands,.footer-subsidiaries{display:flex;align-items:center;gap:clamp(9px,1.45vw,22px)}
.footer-brands{gap:0}
.brand-divider{display:block;width:1px;height:31px;background:#cbbdc5;margin-inline:clamp(8px,.72vw,11px)}
.footer-legal{font-size:11px;line-height:1.48;letter-spacing:0;text-align:right;font-weight:400}
.footer-legal p+p{margin-top:2px}

/* Motion is brief and plays once on arrival. The underlying scene stays legible. */
.motion .still{transform:scale(1.07);animation:scene-drift 4.6s cubic-bezier(.18,.55,.28,1) both}
.motion-light{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(112deg,transparent 27%,#ffe1b446 48%,transparent 70%);animation:light-pass 3.9s ease-out both}
.motion-client .still{transform-origin:60% 63%;animation-name:scene-settle}
.motion-patient .still{transform-origin:48% 69%;animation-name:scene-drift}
.motion-patient .motion-light{background:linear-gradient(115deg,transparent 27%,#c4a2e852 48%,transparent 70%)}
.motion-meeting .still{transform-origin:68% 31%;animation-name:scene-settle}
.motion-meeting .motion-light{background:linear-gradient(115deg,transparent 27%,#aed5ff52 48%,transparent 70%)}
.compare-motion .quote{animation:quote-in .65s .14s both}
.compare-motion .quote+.quote{animation-delay:.62s}
.compare-motion .quote+.quote p{background:linear-gradient(#c17a9a73,#c17a9a73) left 90%/0 21% no-repeat;animation:mark-quote .7s 1.12s ease forwards}
@keyframes scene-drift{from{transform:scale(1.005)}to{transform:scale(1.07)}}
@keyframes scene-settle{from{transform:scale(1.14)}to{transform:scale(1.03)}}
@keyframes light-pass{0%{transform:translateX(-66%);opacity:0}22%{opacity:.67}100%{transform:translateX(72%);opacity:0}}
@keyframes quote-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes mark-quote{to{background-size:100% 21%}}

/* The old page folds around the spine. The reverse shows the new facing page. */
.policy-wrap{align-self:stretch;padding:clamp(19px,2.4vh,38px) clamp(20px,4.3vw,76px);display:flex;flex-direction:column;justify-content:center}
.book{position:relative;isolation:isolate;perspective:1550px;min-height:clamp(440px,63vh,740px)}
.book-leaf{padding:clamp(24px,4vw,65px)}
.book-example{margin-top:clamp(24px,4vh,46px);padding:0 0 0 14px;border-left:2px solid #caa7b9;max-width:49ch}
.book-example strong{display:block;color:var(--plum);font-size:13px}
.book-example p{font-size:clamp(14px,1.15vw,18px);margin-top:5px;color:var(--soft)}
.turn-leaf{position:absolute;top:0;bottom:0;width:50%;z-index:4;transform-style:preserve-3d;pointer-events:none}
.turn-next{left:50%;transform-origin:left center}.turn-prev{left:0;transform-origin:right center}
.book .turn-face{position:absolute;inset:0;background:#fffaf4;backface-visibility:hidden;overflow:hidden}
.book .turn-front{box-shadow:inset 0 0 36px #53384e22}
.book .turn-back{transform:rotateY(180deg);box-shadow:inset 0 0 36px #53384e22}
@media(max-width:780px){
 footer{flex-wrap:wrap}.footer-legal{flex-basis:100%;text-align:left;font-size:10px}
 .footer-brands,.footer-subsidiaries{gap:7px}.footer-brands{gap:0}.brand-divider{height:23px}
 .book{min-height:0}.turn-leaf{display:none}
 .book:has(.turn-leaf)>.book-leaf{animation:mobile-page .38s ease both}
 .book:has(.turn-prev)>.book-leaf{animation-direction:reverse}
}
@keyframes mobile-page{from{opacity:.3;transform:translateX(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.motion-light{display:none}}

/* Start at the bottom outer corner before the sheet crosses the spine. */
.turn-corner {
 position:absolute;bottom:0;right:0;width:125px;height:125px;
 background:linear-gradient(135deg,transparent 48%,#c5acb9 50%,#fdf7ed 64%,#ede1e7 78%);
 clip-path:polygon(100% 0,100% 100%,0 100%);z-index:2;
 transform-origin:bottom right;backface-visibility:hidden;
 filter:drop-shadow(-4px -4px 6px #3d233a36);
 animation:corner-lift .78s ease-out both;
}
.turn-prev .turn-corner{right:auto;left:0;transform-origin:bottom left;animation-name:corner-lift-back}
.turn-cover{position:absolute;inset-block:0;width:50%;z-index:3;pointer-events:none;overflow:hidden;background:#fffaf4;animation:old-spread 1.45s linear both}
.turn-cover-left{left:0}.turn-cover-right{right:0}
@keyframes corner-lift{
 0%{transform:scale(.04);opacity:0}
 45%{transform:scale(1);opacity:1}
 75%{transform:scale(1.08);opacity:.85}
 100%{transform:scale(.88);opacity:0}
}
@keyframes corner-lift-back{
 0%{transform:scale(-.04,.04);opacity:0}
 45%{transform:scale(-1,1);opacity:1}
 75%{transform:scale(-1.08,1.08);opacity:.85}
 100%{transform:scale(-.88,.88);opacity:0}
}
@keyframes old-spread{0%,53%{opacity:1}66%,100%{opacity:0}}
@media(max-width:780px){
 .turn-cover{display:none}
 .book:has(.turn-prev)>.book-leaf{animation-name:mobile-page-back;animation-direction:normal}
}
@keyframes mobile-page-back{from{opacity:.3;transform:translateX(-10px)}to{opacity:1;transform:none}}

.reveal-example{border-top:1px solid #fff8;margin-top:22px;padding-top:15px}
.reveal-example strong{font-size:13px}
.reveal-example p{font:clamp(15px,1.26vw,20px)/1.46 var(--sans);margin-top:5px}
.workshop{width:100%;padding:clamp(30px,5vh,66px) clamp(22px,6vw,110px)}
.workshop-heading{display:block;padding:0;min-height:0;border:0}
.workshop-heading h1{font-size:clamp(42px,6vw,88px);margin:0 0 13px}
.workshop-heading .lede{max-width:66ch}
.workshop-picker{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 18px}
.workshop-picker button{padding:9px 16px;border-radius:30px;border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:700}
.workshop-picker button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.workshop-spread{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.workshop-copy,.workshop-demo{padding:clamp(22px,3vw,46px)}
.workshop-copy h2{font-size:clamp(31px,3.4vw,55px);margin:0 0 13px}
.workshop-copy>p{font-size:clamp(15px,1.4vw,21px)}
.workshop-copy .book-example{margin-top:22px}
.workshop-copy .workshop-takeaway{margin-top:23px;color:var(--soft)}
.workshop-demo{background:#f0e6ec;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}
.workshop-steps{list-style:none;counter-reset:step;margin:0 0 16px;padding:0;width:100%}
.workshop-steps li{counter-increment:step;position:relative;padding:10px 0 13px 42px;animation:step-arrive .43s var(--step-delay) both}
.workshop-steps li:not(:last-child){border-bottom:1px solid #d9c5d2}
.workshop-steps li::before{content:counter(step);position:absolute;left:0;top:11px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--plum);color:#fff;font-size:13px;font-weight:700}
.workshop-steps p{margin-top:3px;color:var(--soft)}
.workshop-note{margin-top:17px;color:var(--soft);font-size:14px}
@keyframes step-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:780px){
 .workshop-spread{grid-template-columns:1fr}
 .workshop-picker button{font-size:14px}
 header nav .tab{font-size:11px;padding-inline:5px}
}

/* UNION template colors and artwork. */
:root{
 --paper:#f6f5fa;--white:#fff;--ink:#000;--plum:#4e4f9a;
 --indigo:#4e4f9a;--soft:#595959;--line:#d9d8eb;--union-mauve:#8b5c72;
}
.hero h1 em,.close-scene h2 em{color:var(--indigo)}
.primary{background:var(--indigo);border-color:var(--indigo)}
.primary:hover{background:#3d3e81;border-color:#3d3e81}
.choice[aria-pressed=true]{background:#eae9f8;border-color:var(--indigo)}
.book,.book .turn-face,.turn-cover{background:#fff}
.book-leaf:first-child{background:linear-gradient(90deg,#fff 88%,#e8e7f3);border-color:var(--line)}
.book-leaf:last-child{background:linear-gradient(90deg,#eeedf7,#fff 13%)}
.book-example{border-color:#b7b6df}
.turn-corner{background:linear-gradient(135deg,transparent 48%,#b8b6d7 50%,#fff 64%,#e3e2f1 78%)}
.media.motion{background:var(--indigo)}
.media.motion .still{filter:grayscale(1) contrast(.96);opacity:.82}
.media.motion::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,#4e4f9a 18%,#4e4f9a44 67%,#8b5c72aa);mix-blend-mode:color}
.media.motion::after{background:linear-gradient(0deg,#24254d66,transparent 53%)}
.motion-light,.motion-patient .motion-light,.motion-meeting .motion-light{background:linear-gradient(115deg,transparent 27%,#d0d2ff72 48%,transparent 70%)}
.bonus .media{background:#35366e}
.quote span{color:#e1e0ff}
.compare-motion .quote+.quote p{background-image:linear-gradient(#9295dc70,#9295dc70)}
.workshop-picker button[aria-pressed=true],.workshop-steps li::before{background:var(--indigo);border-color:var(--indigo)}
.workshop-demo{background:#eeedf8}
.workshop-steps li{animation-duration:.7s}
.workshop-steps li:not(:last-child){border-color:#d4d3ea}
.workshop-source a{display:inline-block;margin-top:9px;color:var(--indigo);font-size:13px}

.footer-brands img{width:auto;height:auto;max-width:none}
.footer-brands>img{width:85px}
.footer-subsidiaries{gap:21px}
.footer-subsidiaries>img:first-child{width:106px}
.footer-subsidiaries .hxt{width:64px}
.brand-divider{margin-inline:20px;background:#c7c6df}
@media(max-width:780px){
 .footer-brands>img{width:57px}
 .footer-subsidiaries>img:first-child{width:72px}
 .footer-subsidiaries .hxt{width:46px}
 .footer-subsidiaries{gap:14px}.brand-divider{margin-inline:12px}
 .book-leaf:first-child,.book-leaf:last-child{background:#fff}
}

/* UNION accent. */
:root {
  --union-accent: #70558a;
  --indigo: var(--union-accent);
  --plum: var(--union-accent);
}
.reveal,
.close-scene .media,
.bonus .media,
.media.motion::before {
  background: var(--union-accent);
}
.close-scene .media::after,
.bonus .media::after {
  background: none;
}
.primary:hover {
  background: #5e4774;
  border-color: #5e4774;
}
