@font-face{font-family:DM Sans;src:url(assets/font-1.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url(assets/font-4.ttf) format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Manrope;src:url(assets/font-8.ttf) format("truetype");font-weight:800;font-display:swap}
:root{--paper:#fbf8ef;--ink:#25271e;--red:#b73623;--dark:#343e32;--rule:#d5d1c4;--dim:#54574c;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans)}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{touch-action:manipulation}
button{cursor:pointer}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #267abd;outline-offset:3px}
.skip{position:absolute;top:-80px;z-index:4;background:white;padding:12px}.skip:focus{top:4px}
.shell{max-width:1480px;width:calc(100% - clamp(40px,9vw,156px));margin-inline:auto}
.mast{border-bottom:1px solid var(--rule)}.head-inner,.foot,nav,.brand,.hero-actions,.review-actions{display:flex;align-items:center}.head-inner{justify-content:space-between;min-height:84px;gap:20px}
.brand{gap:11px;font:800 clamp(23px,2.2vw,34px)/1 Manrope,var(--sans);letter-spacing:-.085em;white-space:nowrap}.brand em,.foot em{color:var(--red);font:italic 1.13em/.9 var(--serif);letter-spacing:-.065em}
.brand-mark{width:28px;height:25px;position:relative;transform:rotate(-8deg)}
.brand-mark::before{content:"";position:absolute;width:20px;height:23px;top:0;left:0;border:2px solid var(--red);border-radius:50%;background:repeating-radial-gradient(ellipse at center,transparent 0 2px,var(--red) 2.5px 3.7px,transparent 4px 5px)}
.brand-mark::after{content:"";position:absolute;bottom:0;right:0;width:16px;height:6px;transform:skewX(-35deg);background:var(--red);border-radius:1px}
nav{gap:clamp(16px,3vw,50px);font-size:14px;font-weight:700}.nav-cta{border:1px solid #a9a99b;padding:10px 17px;border-radius:100px}.nav-cta span{padding-left:12px}.nav-cta:hover{border-color:var(--ink);background:#f0ebdd}
.hero{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);align-items:center;gap:clamp(22px,4vw,78px);padding-block:clamp(35px,4vw,70px) clamp(33px,4.5vw,77px)}
.hero-copy{padding-bottom:12px}.eyebrow{font-weight:700;font-size:11px;letter-spacing:.15em;text-transform:uppercase;display:flex;align-items:center;gap:12px;margin:0 0 22px}.line{width:28px;height:2px;background:var(--red);display:inline-block}
h1,h2,h3,p,figure{margin:0}h1,h2{font:400 clamp(62px,6.6vw,115px)/.96 var(--serif);letter-spacing:-.073em;text-wrap:balance}
h1 em,h2 em{color:var(--red);font-weight:400}.lead,.quote-copy>p:not(.eyebrow),.format-copy>p:not(.eyebrow){font-size:clamp(16px,1.24vw,19px);line-height:1.58;max-width:46ch;color:var(--dim)}
.lead{margin:26px 0 30px}.hero-actions,.review-actions{gap:24px;flex-wrap:wrap}
.button,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:13px;font-weight:700;line-height:1.25}.button{border:1px solid var(--red);border-radius:100px;background:var(--red);color:#fffaf1;padding:16px 24px;font-size:15px}.button:hover{background:#922d1e;border-color:#922d1e}.button span{font-size:20px;line-height:.8}
.text-link{border:0;border-bottom:1px solid currentColor;padding:3px 0 4px;font-size:14px;background:transparent;color:var(--ink)}.text-link:hover,nav>a:first-child:hover{color:var(--red)}
.hero-figure{min-width:0}
.photo-frame{position:relative}
#photo-track{position:relative;display:flex;width:100%;aspect-ratio:1;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:4px;background:#f2eee5}
#photo-track::-webkit-scrollbar{display:none}
#photo-track:focus-visible{outline:3px solid #267abd;outline-offset:3px}
#photo-track img{display:block;flex:0 0 100%;width:100%;min-width:0;height:100%;object-fit:contain;scroll-snap-align:start}
.photo-arrows{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding-inline:10px;pointer-events:none}
.photo-arrows button{pointer-events:auto;display:grid;place-content:center;width:44px;height:44px;padding:0 0 4px;border-radius:50%;border:1px solid #d5d1c4;background:#fbf8eff2;color:var(--ink);font:32px/1 Georgia,serif;box-shadow:0 2px 6px #25271e26}
.photo-arrows button:hover,#photo-play:hover{background:white}
figcaption{margin-top:9px;color:var(--dim);font-size:11px;letter-spacing:.025em;text-align:right}figcaption span{margin:0 6px}
.photo-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}
.photo-choices{display:flex;min-width:0;gap:clamp(3px,1vw,7px)}
.photo-choices button{width:clamp(36px,10vw,57px);height:44px;min-width:0;border:2px solid transparent;border-radius:5px;padding:2px;background:transparent}
.photo-choices button[aria-pressed=true]{border-color:var(--red)}
.photo-choices img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}
#photo-play{flex:none;width:44px;height:44px;border:1px solid var(--rule);border-radius:50%;background:transparent;color:var(--ink);font:15px/1 var(--sans)}
.hero-figure figcaption{text-align:left}
.material{border-top:1px solid var(--rule);max-width:45ch;margin-top:24px;padding-top:12px;font-size:14px}
.material summary{cursor:pointer;font-weight:700}.material summary:focus-visible{outline:3px solid #267abd;outline-offset:3px}
.material p{color:var(--dim);margin-top:8px}
.format{background:var(--dark);color:#fcf9ed}.format-inner,.quote{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(30px,7vw,116px);align-items:start;padding-block:clamp(48px,6vw,95px)}h2{font-size:clamp(44px,4.4vw,74px)}.format-copy>p:not(.eyebrow){color:#dedfd3;margin-top:20px;max-width:42ch}.format .eyebrow{color:#d4daa9}
fieldset{border:0;margin:0;padding:0;min-width:0}legend{padding:0;margin-bottom:12px;font-size:16px;font-weight:700}.presets{display:flex;gap:8px;flex-wrap:wrap}.presets label{position:relative}.presets input{position:absolute;opacity:0;width:1px;height:1px}.presets span{display:block;border:1px solid #939c87;border-radius:100px;padding:8px 14px;font-size:14px;cursor:pointer}.presets input:checked+span{background:#e9edc8;color:var(--dark);border-color:#e9edc8;font-weight:700}.presets input:focus-visible+span{outline:3px solid #bce1ff;outline-offset:2px}
.meter-row,.result{display:flex;align-items:center;gap:24px}.meter-row{justify-content:space-between;border-bottom:1px solid #727968;padding:18px 0 16px}.meter-row input{width:98px}.result{margin:18px 0 12px}.result strong{font:italic clamp(38px,4vw,60px)/1 var(--serif);letter-spacing:-.06em;color:#e6edbe}.result span{font-size:13px;line-height:1.4;color:#e3e5d8}.light,.light:hover{color:#f4f6e0}
.quote{padding-block:clamp(60px,7vw,110px)}.quote-copy>p:not(.eyebrow){margin:21px 0 15px}.quote-copy>a{margin-top:7px}.form-wrap{min-width:0}
.form-wrap legend{border-bottom:1px solid var(--rule);width:100%;padding-bottom:10px;font-size:20px;letter-spacing:-.03em}.form-wrap fieldset+fieldset{margin-top:25px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-wrap label,.custom label{display:grid;gap:6px;font-size:14px;margin:8px 0;font-weight:700}
input:not([type=radio]),textarea{min-width:0;border:1px solid #b4b5a7;border-radius:4px;padding:10px 12px;color:var(--ink);background:#fffdf6;width:100%}.meter-row input:not([type=radio]){width:98px}.custom{margin-top:12px}textarea{resize:vertical}.field-note,#copy-status{font-size:13px;margin:14px 0;color:var(--dim)}
.form-wrap h3{font:400 40px/1.1 var(--serif);letter-spacing:-.045em;margin-bottom:12px}#summary{white-space:pre-wrap;overflow-wrap:anywhere;background:#efece1;padding:20px;border-radius:5px;font:14px/1.6 var(--sans);max-height:450px;overflow:auto}#review .button{padding-inline:18px}
footer{border-top:1px solid var(--rule)}.foot{gap:22px;flex-wrap:wrap;padding-block:25px;font-size:13px}.foot>span{margin-right:auto;font:800 21px/1 Manrope,var(--sans);letter-spacing:-.075em}.foot a:hover{text-decoration:underline}
@media(max-width:850px){.hero-actions{gap:16px}.hero-actions .button{padding:14px 17px}.hero{gap:22px}h1{font-size:clamp(49px,7.7vw,67px)}.lead{margin:20px 0 24px}.format-inner,.quote{gap:32px}.hero-figure img{aspect-ratio:.94}}
@media(max-width:680px){.head-inner{min-height:67px}nav>a:first-child{display:none}.nav-cta{font-size:12px;padding:9px 12px}.brand-mark{transform:scale(.88) rotate(-8deg);margin-right:-3px}.brand{gap:7px}.shell{width:calc(100% - 36px)}.hero,.format-inner,.quote{grid-template-columns:1fr}.hero{gap:24px;padding-block:33px 28px}.hero-copy{padding:0}.eyebrow{font-size:10px;margin-bottom:16px}.hero-figure img{aspect-ratio:1.4}h1{font-size:clamp(52px,11vw,72px)}.lead{max-width:47ch}.hero-actions{gap:20px}.format-inner,.quote{gap:26px}.format-copy>p:not(.eyebrow){margin-top:14px}.foot{gap:11px 18px}.foot>span{flex-basis:100%}}
@media(max-width:390px){.pair{grid-template-columns:1fr;gap:0}.nav-cta span{padding-left:3px}.hero-actions{gap:12px}.hero-actions .text-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.group-link{color:var(--red);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.group-link:hover{text-decoration-thickness:2px}
.hero-figure figcaption span{margin:0}
#photo-count{font-weight:700;color:var(--red);margin-right:6px}
.photo-details{display:flex;flex-wrap:wrap;gap:0 16px}
.photo-details a{display:inline-flex;align-items:center;min-height:28px;text-decoration:underline;text-underline-offset:3px}
#photo-base{white-space:normal}
.height-guide{font-size:13px;line-height:1.45;color:var(--dim);margin:1px 0 14px}
.header-links,.languages{display:flex;align-items:center}
.header-links{gap:clamp(14px,2.6vw,34px)}
.languages{gap:2px;padding-left:12px;border-left:1px solid var(--rule)}
.header-links .languages a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:32px;font-size:12px;text-decoration:none}
.languages a[aria-current="page"]{color:var(--red);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.languages a:hover{text-decoration:underline;text-underline-offset:5px}
.artwork{margin:16px 0 6px;border:1px dashed #979883;border-radius:8px;padding:16px;background:#faf8ef}
.artwork .artwork-title{display:block;margin:0;font-weight:700}
.artwork p{margin:4px 0 12px;font-size:13px;color:var(--dim)}
.file-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px}
.file-controls .file-picker{position:relative;display:inline-flex;align-items:center;margin:0;min-height:42px;padding:6px 14px;border-radius:6px;border:1px solid var(--ink);font:inherit;font-weight:700;cursor:pointer}
.file-picker:focus-within{outline:2px solid var(--ink);outline-offset:3px}
.file-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
#artwork-name,#review-file-name{overflow-wrap:anywhere;font-size:14px}
#remove-file{font-size:13px}
@media(max-width:540px){.header-links>nav:first-child{display:none}.languages{border:0;padding:0}.languages a{min-width:36px;min-height:44px}}
