
:root{--ink:#12110f;--paper:#f4f1eb;--gold:#d9b27c;--muted:#aaa79f;--line:rgba(255,255,255,.17);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font:15px/1.6 var(--sans)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1200px,calc(100% - 52px));margin:auto}.header{border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:16px;letter-spacing:.18em;font-weight:700}.brand span{color:var(--gold)}.navlink{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#ddd6cb}.navlink:hover{color:var(--gold)}.hero{padding:58px 0 32px;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 82% 15%,rgba(217,178,124,.13),transparent 35%)}.eyebrow{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700}.hero h1{font:500 clamp(44px,7vw,78px)/1.03 var(--serif);letter-spacing:-.04em;margin:12px 0}.hero p{max-width:650px;color:#c1bdb5;margin:0}.category-nav{display:flex;gap:8px;overflow:auto;padding:20px 0 2px;scrollbar-width:thin}.category-nav a{white-space:nowrap;padding:8px 11px;border:1px solid rgba(255,255,255,.17);color:#d1cbc1;font-size:8px;text-transform:uppercase;letter-spacing:.1em}.category-nav a:hover,.category-nav a.active{border-color:var(--gold);color:var(--gold)}main{padding:30px 0 70px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.gallery-card{min-width:0;background:#1b1a17;border:1px solid rgba(255,255,255,.1)}.visual{aspect-ratio:3/2;background:#151411;display:grid;place-items:center;overflow:hidden}.visual img{width:100%;height:100%;object-fit:contain}.caption{padding:12px 14px 14px}.caption small{display:block;color:var(--gold);font-size:8px;letter-spacing:.15em;text-transform:uppercase}.caption strong{display:block;font:500 18px/1.2 var(--serif);margin-top:4px}.hint{font-size:10px;color:#aaa49a;margin:20px 0 0}.before-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.before-card{border:1px solid rgba(255,255,255,.12);background:#1b1a17;min-width:0}.before-card .visual{aspect-ratio:3/2;position:relative;touch-action:pan-y}.before-card .visual img{position:absolute;inset:0}.before-card .visual img.after{clip-path:inset(0 calc(100% - var(--split,50%)) 0 0)}.compare-label{position:absolute;z-index:2;top:10px;padding:4px 7px;background:rgba(12,12,11,.78);font-size:8px;letter-spacing:.15em;text-transform:uppercase}.compare-label.left{left:10px}.compare-label.right{right:10px}.compare-line{position:absolute;z-index:2;top:0;bottom:0;left:var(--split,50%);width:1px;background:white;pointer-events:none}.compare-line:after{content:'↔';position:absolute;top:50%;left:50%;width:34px;height:34px;border-radius:50%;border:1px solid white;background:#1a1916;display:grid;place-items:center;transform:translate(-50%,-50%)}.range{position:absolute;inset:0;width:100%;height:100%;z-index:3;opacity:0;margin:0;cursor:ew-resize}.equation{display:grid;grid-template-columns:1fr 44px 1fr 44px 1fr;align-items:center;gap:14px;padding:26px;background:#1b1a17;border:1px solid rgba(255,255,255,.12)}.equation figure{margin:0;min-width:0}.equation figure .visual{height:480px;aspect-ratio:auto}.equation figure .visual img{object-fit:contain}.equation figcaption{text-align:center;padding:10px 2px;color:#e8e1d6;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.symbol{text-align:center;font:500 35px var(--serif);color:var(--gold)}.board-main{max-width:1000px;margin:0 auto 18px;padding:10px;background:#1b1a17;border:1px solid rgba(255,255,255,.12)}.board-main img{width:100%;height:auto;object-fit:contain}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.model-grid .visual{aspect-ratio:4/3}.footer{border-top:1px solid var(--line);padding:25px 0 30px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#a7a197;font-size:10px}.footer a:hover{color:var(--gold)}.mail{color:var(--gold)}@media(max-width:780px){.wrap{width:min(100% - 38px,680px)}.gallery-grid,.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.equation{grid-template-columns:1fr;gap:0;padding:14px}.equation figure .visual{height:360px}.symbol{line-height:1.5}.before-grid{grid-template-columns:1fr}}@media(max-width:520px){.wrap{width:calc(100% - 32px)}.nav{height:66px}.hero{padding-top:42px}.hero h1{font-size:46px}.gallery-grid,.model-grid{grid-template-columns:1fr}.gallery-card .visual{aspect-ratio:4/3}.equation figure .visual{height:340px}.footer{align-items:flex-start;flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.gallery-card{cursor:zoom-in}.gallery-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.gallery-lightbox{position:relative;width:min(94vw,1400px);max-width:94vw;max-height:94vh;padding:22px;background:#111;color:#eee;border:1px solid rgba(255,255,255,.25)}.gallery-lightbox::backdrop{background:rgba(0,0,0,.92)}.gallery-lightbox img{width:auto;height:auto;max-width:calc(94vw - 48px);max-height:82vh;object-fit:contain;margin:auto}.gallery-lightbox p{text-align:center;font:500 20px var(--serif);margin:12px 0 0}.gallery-lightbox-close{position:absolute;z-index:1;right:8px;top:8px;width:38px;height:38px;border-radius:50%;border:1px solid #aaa;background:#171614;color:#fff;font-size:24px;cursor:pointer}

/* Virtual outfit study: preserve the complete original frame of every image. */
.virtual-outfit-page .equation{align-items:start}
.virtual-outfit-page .equation figure .visual{height:auto;min-height:0;aspect-ratio:auto;overflow:visible;background:#11100e;padding:8px}
.virtual-outfit-page .equation figure .visual img{width:auto;height:auto;max-width:100%;max-height:min(72vh,760px);object-fit:contain;object-position:center}
@media(max-width:780px){.virtual-outfit-page .equation figure .visual{min-height:0;height:auto;padding:6px}.virtual-outfit-page .equation figure .visual img{max-height:68vh}}

/* Text-to-photo gallery: preserve portrait campaign framing across the mixed-age set. */
.text-to-photo-page .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.text-to-photo-page .gallery-card .visual{aspect-ratio:4/5}
.text-to-photo-page .gallery-card .visual img{object-fit:contain}
@media(max-width:780px){.text-to-photo-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.text-to-photo-page .gallery-grid{grid-template-columns:1fr}}

/* Text-to-photo gallery: preserve portrait campaign framing across the mixed-age set. */
.text-to-photo-page .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.text-to-photo-page .gallery-card .visual{aspect-ratio:4/5}
.text-to-photo-page .gallery-card .visual img{object-fit:contain}
@media(max-width:780px){.text-to-photo-page .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.text-to-photo-page .gallery-grid{grid-template-columns:1fr}}
