/* Facet — a photographic contact sheet, a private print, an accompanying note. */
:root{--paper:#f7f4ed;--card:#fffdf7;--ink:#222e28;--ink-soft:#4e5851;--ink-faint:#636d62;--berry:#9d403b;--berry-deep:#79302d;--berry-tint:#f8eae3;--line:#d8d8ca;--pine:#263830;--pale:#e8e4b0;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--radius:6px;--shadow:none}
body{background:var(--paper)}
.site-header{max-width:1200px;margin:0 auto;padding:20px 0 17px;border-bottom:1px solid #a4aa98;display:flex;align-items:center}
.wordmark{display:inline-flex;align-items:center;position:relative;color:var(--pine);font-size:2.25rem;line-height:1;letter-spacing:-.075em;font-style:italic}
.wordmark::before{content:"";width:33px;height:24px;margin:2px 9px 0 0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 28'%3E%3Cpath d='M1 15Q16 -5 38 12Q21 34 1 15Z' fill='none' stroke='%23263830' stroke-width='2'/%3E%3Cellipse cx='20' cy='13.5' rx='8' ry='9.5' fill='none' stroke='%23263830' stroke-width='1.8'/%3E%3Ccircle cx='20' cy='13.5' r='4.4' fill='%239d403b'/%3E%3C/svg%3E") center/contain no-repeat}
.wordmark span{color:var(--berry)}
.site-header nav{display:flex;align-items:center;gap:24px}
.site-header nav a{margin:0;font-size:.89rem;font-weight:550;color:var(--ink)}
.site-header nav a[href="/sample-report"]::after{content:" ↗";color:var(--berry)}
.site-footer{max-width:1200px;margin:0 auto;border-top:1px solid #a4aa98;text-align:left;display:flex;align-items:center;align-content:center;flex-wrap:wrap;justify-content:space-between;gap:10px 25px;padding:22px 0 30px}
.site-footer nav{display:flex;flex-wrap:wrap;gap:4px 17px}.site-footer nav a{margin:0}.site-footer p{margin:0;max-width:50ch}
.studio{max-width:1200px;margin:auto;padding:38px 0 68px}
.studio-layout{display:grid;grid-template-columns:minmax(275px,.79fr) minmax(0,1.34fr);grid-template-rows:auto 1fr;column-gap:clamp(48px,6vw,105px);align-items:start}
.studio-intro{grid-column:1;grid-row:1;padding:clamp(9px,3vw,44px) 0 0}
.eyebrow,.sheet-heading,.frame-label,.studio-meta,.progress-row,.thumb-sheet>span,.thumb-sheet small,.type-kicker,.toc-chip,.finding-label,.print-imprint{font:600 .69rem/1.25 var(--mono);text-transform:uppercase;letter-spacing:.12em}
.eyebrow,.toc-chip,.type-kicker{color:var(--berry);margin:0 0 14px}
.studio-intro>.eyebrow{display:flex;align-items:center;gap:9px}
.eyebrow>i{display:block;width:23px;height:1px;background:currentColor;position:relative}
.eyebrow>i::before{content:"";position:absolute;left:0;top:-2px;width:5px;height:5px;border-radius:50%;background:currentColor}
.studio-intro h1{font-size:clamp(3.65rem,5.65vw,5.25rem);line-height:.98;letter-spacing:-.065em;margin:0 0 20px;color:var(--pine);font-weight:400}
.studio-intro h1 em{display:block;color:var(--berry);font-weight:400;letter-spacing:-.055em}
.studio-deck{font-size:clamp(.99rem,1.26vw,1.12rem);line-height:1.52;max-width:34ch;color:var(--ink-soft);margin:0 0 18px;text-wrap:pretty}
.studio-meta{font-size:.67rem;letter-spacing:.055em;color:var(--ink-soft);margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.studio-meta b{font-weight:400;color:var(--berry)}
.picker{grid-column:2;grid-row:1/span 2;min-width:0}
.pool-row{justify-content:space-between;gap:10px;margin:0 0 11px;flex-wrap:nowrap}
.pool-row .pool-label{font:600 .72rem/1.1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft)}
.segmented{border:1px solid #bec3b5;border-radius:999px;background:transparent;padding:2px}
.segmented button{font-size:.83rem;line-height:1.2;padding:7px 16px;color:var(--ink-soft)}
.segmented button[aria-pressed="true"]{color:#fff;background:var(--pine);box-shadow:none}
.contact-sheet{background:var(--pine);color:var(--pale);border-radius:4px;padding:0 clamp(8px,1.2vw,16px) 4px;box-shadow:0 4px 0 -1px #c7c5ad,0 10px 18px -16px #293d32}
.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.64rem;letter-spacing:.14em;padding:12px 0;color:#e2e4d7}
.sheet-heading>span:first-child{display:flex;align-items:center;gap:9px}.sheet-heading strong{color:#f0e9a7}
.registration{width:11px;height:11px;position:relative;display:inline-block;border:1px solid #d6d6ad;border-radius:50%}
.registration::before,.registration::after{content:"";background:#d6d6ad;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:15px;height:1px}
.registration::after{width:1px;height:15px}
.face-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px clamp(6px,.65vw,10px);margin:0}
.face{appearance:none;min-width:0;display:block;border:0;border-radius:0;outline:0;aspect-ratio:auto;text-align:left;background:transparent;color:#e7eadc;overflow:visible}
.face-photo{display:block;aspect-ratio:1.05;position:relative;overflow:hidden;background:#4e5950;border-radius:1px}
.face img{width:100%;height:100%;object-fit:cover;object-position:50% 43%}
.face .frame-label{display:flex;align-items:center;justify-content:space-between;padding:3px 2px 4px;line-height:1;font-size:.58rem;letter-spacing:.09em}
.frame-mark{display:block;width:9px;height:2px;background:#9baf99}
.face[aria-pressed="true"]::after{display:none}
.face[aria-pressed="true"] .face-photo::after{content:"";position:absolute;inset:2px;border:3px solid #f4e593;box-shadow:0 0 0 1px #594f29,inset 0 0 0 1px #594f29;pointer-events:none}
.face[aria-pressed="true"] .frame-label{color:#fff0a2}
.face[aria-pressed="true"] .frame-mark{width:16px;background:#fff0a2}
.face .check{top:7px;right:7px;width:23px;height:23px;background:#f5e897;color:var(--pine);box-shadow:0 0 0 1px #374338}
.face:focus-visible{outline:2px solid #fff;outline-offset:2px;z-index:1}
@media(hover:hover){.face:hover .frame-mark{background:#fff0a2}.face:hover .frame-label{color:white}.text-link:hover span{transform:translate(2px,-2px)}}
.quiz-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:14px 0 0;padding:0;position:static}
.roll-progress{width:min(49%,215px)}
.progress-row{margin:0 0 6px;padding:0;font-size:.61rem;letter-spacing:.045em;color:var(--ink-soft);gap:8px}
.progress-row #pick-status{color:var(--ink)}
.roll-marks{display:flex;gap:3px}.roll-marks i{flex:1;height:3px;background:#cdd1c2}.roll-marks .done{background:var(--pine)}.roll-marks .now{background:var(--berry)}
.btn{border-radius:4px}.btn-primary{background:var(--berry)}.btn-secondary{background:var(--pine);color:#fff}
.quiz-bar .btn{width:45%;max-width:265px;min-height:44px;padding:11px 16px;justify-content:space-between;font-size:.93rem}
.quiz-bar .btn::after{content:"";width:14px;height:12px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'%3E%3Cpath d='M1 7h13m-6-6 6 6-6 6' stroke='white' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") center/contain no-repeat}
.pick-help{font-size:.77rem;margin:8px 0 0;color:var(--ink-faint)}
.studio-note{grid-column:1;grid-row:2;display:flex;align-items:center;border-top:1px solid #b8beae;gap:clamp(13px,1.7vw,25px);margin:32px 0 0;padding:23px 0 4px}
.print-thumb{flex:0 0 32%;max-width:135px;padding:5px 5px 8px;position:relative}
.print-thumb::before{content:"";position:absolute;inset:9px 5px 5px 9px;background:#ab5344;transform:rotate(5deg);border:1px solid #6c5140}
.thumb-sheet{position:relative;transform:rotate(-6deg);border:1px solid #666947;background:#ebe6b3;padding:6px;color:#384b3b;box-shadow:0 2px 4px #393c2726}
.thumb-sheet>span,.thumb-sheet small{display:flex;align-items:center;font-size:clamp(4.8px,.46vw,7px);white-space:nowrap;line-height:1.2;letter-spacing:.07em}
.thumb-sheet img{width:100%;padding:1px 0}
.thumb-sheet small i{height:1px;margin:0 5px;flex:1;background:currentColor}
.note-copy{flex:1;min-width:0}.note-copy .eyebrow{font-size:.58rem;margin:0 0 5px}.note-copy h2{font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 6px}
.note-copy>p:not(.eyebrow){font-size:.85rem;line-height:1.45;margin:0 0 7px;color:var(--ink-soft);max-width:35ch}
.text-link{font-size:.82rem;font-weight:650;color:var(--berry);text-underline-offset:3px}.text-link span{display:inline-block;transition:transform .15s}
.studio-faq{display:grid;grid-template-columns:.79fr 1.34fr;column-gap:clamp(48px,6vw,105px);border-top:1px solid #a4aa98;margin-top:43px;padding:26px 0 0}
.faq-heading h2{letter-spacing:-.045em;font-size:clamp(1.9rem,3.5vw,3rem);margin:0 0 8px}.faq-heading .eyebrow{margin:0 0 9px}.faq-heading>p:last-child{color:var(--ink-soft);font-size:.79rem}
.faq details{background:transparent;border:0;border-radius:0;border-bottom:1px solid var(--line);margin:0;padding:0}.faq summary{display:flex;justify-content:space-between;gap:14px;padding:11px 0;list-style:none;font-size:.92rem;font-weight:550}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font:1.1em var(--mono);color:var(--berry)}.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 14px;color:var(--ink-soft);font-size:.89rem;max-width:60ch}
.site-header,.studio,.site-footer{width:calc(100% - clamp(32px,9vw,150px))}
@media(min-width:1500px){.studio-layout,.studio-faq{grid-template-columns:.83fr 1.28fr}}
@media(max-width:850px){
  .studio,.site-header,.site-footer{width:calc(100% - 48px);max-width:720px}
  .studio{padding:24px 0 44px}.studio-layout{display:flex;flex-direction:column;gap:0}
  .studio-intro{padding:0;width:100%}.studio-intro h1{font-size:clamp(2.2rem,6.3vw,3.5rem);line-height:1.02;margin-bottom:8px}
  .studio-intro h1 em{display:inline}.studio-intro .eyebrow{margin:0 0 5px}
  .studio-deck{font-size:1rem;max-width:54ch;margin:0 0 8px}
  .studio-meta{margin:0 0 13px}.picker{width:100%}
  .studio-note{width:100%;margin-top:24px;padding-top:18px;gap:19px}
  .print-thumb{flex-basis:92px}.note-copy h2{font-size:1.55rem}
  .studio-faq{grid-template-columns:1fr 1.4fr;gap:20px;margin-top:26px;padding-top:20px}
}
@media(max-width:549px){
  .studio,.site-header,.site-footer{width:calc(100% - 32px)}
  .site-header{padding:11px 0 10px}.wordmark{font-size:1.86rem}.wordmark::before{width:26px;height:20px;margin-right:6px}
  .site-header nav{gap:15px}.site-header nav a{font-size:.8rem}
  .studio{padding-top:16px}.studio-intro h1{font-size:clamp(2rem,8.9vw,2.85rem);white-space:normal}
  .studio-intro .eyebrow{font-size:.58rem;letter-spacing:.13em}.studio-intro .eyebrow>i{width:16px}
  .studio-deck{font-size:.87rem;line-height:1.38;margin:0 0 5px;max-width:47ch}
  .studio-meta{font-size:.56rem;gap:6px;margin:0 0 10px}
  .pool-row{margin-bottom:7px}.pool-row .pool-label{font-size:.62rem}
  .segmented button{padding:6px 12px;font-size:.78rem}
  .sheet-heading{font-size:.55rem;padding:8px 1px;letter-spacing:.115em}
  .contact-sheet{padding:0 7px 2px}.face-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 7px}
  .face-photo{aspect-ratio:1.22}.face .frame-label{font-size:.52rem;padding:2px 1px 3px}
  .quiz-bar{margin:10px 0 0;gap:14px}.quiz-bar .btn{width:46%;font-size:.88rem;min-height:42px}
  .pick-help{font-size:.71rem;margin-top:6px}.studio-faq{grid-template-columns:1fr;gap:4px}
  .faq-heading h2{font-size:1.9rem}.faq-heading>p:last-child{display:none}
  .site-footer{padding:18px 0 25px}.site-footer nav{gap:0 13px}
}
@media(prefers-reduced-motion:reduce){.text-link span{transition:none}}
.loading-sheet{padding-top:42px}
.loading-sheet .face-photo{display:block;margin-bottom:13px;background:#495a4f}
@media(max-width:549px){.loading-sheet{padding-top:34px}}
/* A shorter phone still shows a whole sheet, with generous square touch targets. */
@media(max-width:549px) and (max-height:730px){
  .face-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:6px}
  .face-photo{aspect-ratio:.9}
}

/* A finished print. Its ornaments never encode or reveal a visitor's picks. */
.edition-view{max-width:715px;padding-top:34px}
.portrait-print{position:relative;background:#efe8d9;border:1px solid #a59e89;box-shadow:0 3px 0 1px var(--paper),0 4px 0 1px #c5beab;padding:15px clamp(16px,4vw,35px) 24px;margin:0 0 28px;text-align:center}
.print-imprint{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#4c584c;font-size:.60rem;border-bottom:1px solid #bab8a3;padding-bottom:9px;margin-bottom:22px;letter-spacing:.09em}
.print-imprint i{margin:0 4px;color:var(--berry)}
.portrait-print .type-kicker{margin:0 0 5px;font-size:.64rem}
.portrait-print .type-name{color:var(--pine);letter-spacing:-.055em;font-style:italic;font-size:clamp(2.15rem,6vw,3.8rem);margin:0 0 20px;line-height:1.03;text-wrap:balance;overflow-wrap:anywhere}
.portrait-print .type-faces{margin:0 auto 12px;gap:7px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;background:var(--pine);padding:7px}
.portrait-print .type-face{width:auto;max-width:none;border:0;margin:0;padding:0;border-radius:0;background:transparent;aspect-ratio:auto;box-shadow:none;transform:none}
.portrait-print .type-face img{aspect-ratio:1;object-position:center 43%;width:100%;height:auto;object-fit:cover}
.portrait-print figcaption{padding:5px 0 0;text-align:left;color:var(--pale);font:500 .54rem/1 var(--mono);letter-spacing:.11em}
.portrait-print .type-comment{font-size:.95rem;line-height:1.45;margin:13px auto 0;color:var(--ink-soft);max-width:48ch}
.evidence-note,.edition-view .finding{border:0;border-bottom:1px solid #c3c4b4;border-radius:0;padding:0 0 20px;background:none;box-shadow:none}
.evidence-note .eyebrow{font-size:.65rem;margin:0 0 6px}.evidence-note h2{font-size:clamp(1.65rem,4vw,2.3rem);letter-spacing:-.045em;margin:0 0 7px}
.evidence-note p:not(.eyebrow){margin:0 0 12px}.evidence-note small{font-size:.76rem;color:var(--ink-faint)}
.evidence-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:540px;margin:12px 0 6px}
.evidence-line>div{display:flex;justify-content:space-between;align-items:baseline;gap:5px;font-size:.81rem;color:var(--ink-soft);margin:0 0 4px}
.evidence-line b{font:600 .75rem var(--mono);color:var(--ink);white-space:nowrap}
.measure{display:block;background:#dedfd1;height:5px}.measure i{display:block;background:var(--berry);height:100%}.evidence-line:nth-child(2) .measure i{background:#63776b}
.edition-view .action-row{margin:19px 0 12px}.edition-view .btn-ghost,.card-block .btn-ghost{border-color:#adb5a5}
.edition-view .card-block,.view-wide .card-block{border-radius:0;border:0;border-left:3px solid #a6b09c;background:#eeeee3;padding:16px 20px}
.sheet{border-top:4px solid var(--berry);border-radius:6px 6px 0 0}.sheet h2{font-size:1.9rem;letter-spacing:-.045em}.consent-list li{border-radius:3px}
.page{max-width:795px;padding-top:39px}.page>h1{font-size:clamp(2.25rem,5.5vw,4.2rem);letter-spacing:-.06em;color:var(--pine);line-height:1.03;margin:10px 0 14px}
.page>h2,.report-section h2{letter-spacing:-.032em}.page>.lede{max-width:57ch}
#sample-root{margin-top:24px}#sample-root .portrait-print{padding:15px clamp(16px,4vw,35px) 22px}
.report-section{border-top:1px solid #a7ad9d;padding-top:16px;margin:32px 0}.report-section .eyebrow{margin-bottom:5px}.report-section h2{margin:0 0 14px}
.reco-row .reco{min-width:0;margin:0}.reco img{border-radius:2px}.pattern-row,.pattern-row+.small{background:transparent}
.page select,.page textarea{font:inherit;color:var(--ink);border:1px solid #a1aa9a;border-radius:3px;background:var(--card)}
.page select{padding:.4em}.page a:not(.btn){text-underline-offset:3px}
@media(max-width:549px){
 .edition-view{padding:20px 16px 52px}.portrait-print{padding:12px 13px 17px;margin-bottom:22px}
 .print-imprint{font-size:.55rem;margin-bottom:16px}.portrait-print .type-name{margin-bottom:12px}
 .portrait-print .type-faces{gap:4px;padding:5px}.portrait-print .type-comment{font-size:.87rem}
 .evidence-pair{gap:14px}.evidence-line>div{font-size:.72rem}.evidence-line b{font-size:.68rem}
 .page{padding:22px 16px 48px}.page .toc-chip{margin-bottom:7px}
}
@media print{.site-header,.site-footer,.quiz-bar,.no-print{display:none!important}.portrait-print,.evidence-line,.reco{break-inside:avoid}.portrait-print{box-shadow:none}.page{padding:0}.portrait-print,.type-faces,.measure{print-color-adjust:exact}}

/* Explicit-consent, two-person display. */
.friend-compare{margin-top:28px}
.friend-compare>.eyebrow{margin:0 0 5px;font-size:.62rem}
.friend-compare>h2{margin:0 0 6px;font-size:1.5rem;letter-spacing:-.035em}
.friend-compare>p:not(.eyebrow){max-width:58ch}
.friend-compare [hidden]{display:none!important}
.friend-consent-list{margin:12px 0}
.friend-link-label{display:block;font-size:.82rem;font-weight:600;margin:12px 0 6px}
.friend-compare-result{margin-top:14px}
.friend-result{border-top:1px solid #a7ad9d;margin-top:16px;padding-top:14px}
.friend-result>.eyebrow{font-size:.63rem;margin:0 0 10px}
.friend-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;align-items:start}
.friend-columns>h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:0;color:var(--pine)}
.friend-value{min-width:0;border-top:1px solid #d0d0c1;padding-top:8px}
.friend-field{display:block;font:500 .63rem var(--mono);letter-spacing:.05em;color:var(--ink-faint);margin-bottom:5px}
.friend-value>p{margin:0;font-size:.88rem;line-height:1.45;overflow-wrap:anywhere}
.friend-value .type-faces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0}
.friend-value .type-face{width:auto;max-width:none;margin:0;padding:0;border:0}
.friend-value .type-face img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 43%}
.friend-result>.fine-print{margin-top:12px}
.edition-view .story-actions{display:flex;gap:10px;margin:19px 0 12px}
.edition-view .story-actions .btn{flex:1;min-height:46px}
.story-tools{margin:8px 0 18px}
.story-tools>.eyebrow{font-size:.62rem;margin:0 0 5px}
.story-tools>h2{font-size:1.35rem;letter-spacing:-.035em;margin:0 0 6px}
.story-tools>p:not(.eyebrow){max-width:60ch}
.story-tools #story-status{margin:12px 0}
.story-manual-help{border-top:1px solid #c7c9bb;margin-top:12px;padding-top:10px}
.story-manual-help>p{margin:0 0 8px}
.story-manual-help label{display:block;font-size:.75rem;font-weight:650;margin:10px 0 5px}
.story-manual-help .share-link-row{margin:0}
.story-manual-help .share-link-row button{flex:none}
.story-link-trigger{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.story-link-trigger .fine-print{margin:0}
.story-link-help{border-top:1px solid #c7c9bb;margin-top:14px;padding-top:9px}
.story-link-help>p{margin:0 0 8px}
.story-link-help .share-link-row{margin:0}
.story-link-help .share-link-row button{flex:none}
@media(max-width:549px){
 .edition-view .story-actions{flex-direction:column}
 .edition-view .story-actions .btn{width:100%}
 .story-link-trigger{align-items:flex-start;flex-direction:column;gap:4px}
 .story-link-trigger .btn{width:100%}
 .story-manual-help .share-link-row,.story-link-help .share-link-row{flex-direction:column}
 .story-manual-help .share-link-row .btn,.story-link-help .share-link-row .btn{width:100%}
}
@media(max-width:549px){
  .friend-columns{gap:8px}
  .friend-value .type-faces{grid-template-columns:1fr;gap:8px}
  .friend-value .type-face{transform:none}
}
