*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#0b0b0b;color:#fafaf6;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #defc26;outline-offset:6px}.wrap{width:min(1440px,90%);margin:auto}header{border-bottom:1px solid #333;background:#0b0b0bf5;position:sticky;top:0;z-index:10}.nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px;font-size:14px;letter-spacing:2px}.brand img{width:64px;height:64px;object-fit:contain}.links{display:flex;gap:30px;align-items:center;font-size:13px}.lime{color:#defc26}.pill{border:1px solid #666;padding:13px 22px;border-radius:30px}.pill:hover{background:#defc26;color:#111}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase}.intro{padding:64px 0 42px;display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:30px}h1{font-size:clamp(44px,6.4vw,100px);line-height:.98;letter-spacing:-.065em;margin:20px 0 0;font-weight:600}h1 em{font-style:normal;color:#defc26}.intro p{max-width:360px;font-size:16px;line-height:1.65;color:#b9b9b4}.hero{position:relative}.hero img{display:block;width:100%;height:clamp(340px,53vw,710px);object-fit:cover;object-position:center 45%}.caption{display:flex;justify-content:space-between;border-bottom:1px solid #333;padding:18px 0;font-size:11px;letter-spacing:1px}.ticker{font-size:clamp(22px,4vw,58px);letter-spacing:-2px;padding:42px 0;border-bottom:1px solid #333;display:flex;justify-content:space-between;gap:15px}.ticker span:nth-child(even){color:#defc26}.section{padding:90px 0 10px}.section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:35px;margin-bottom:35px}.section h2{font-size:clamp(42px,6vw,88px);letter-spacing:-.055em;margin:10px 0;font-weight:500}.section-head p{color:#aaa;line-height:1.7;max-width:410px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo{border:0;background:none;color:inherit;text-align:left;padding:0;display:block;width:100%}.photo img{width:100%;height:440px;object-fit:cover;display:block;transition:filter .2s}.photo:hover img{filter:brightness(.82)}.photo span{display:flex;justify-content:space-between;font-size:11px;padding:14px 0;color:#aaa;letter-spacing:.7px}.photo.wide{grid-column:span 2}.photo.wide img{object-position:center}.about{padding:100px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px}.about h2{font-size:clamp(32px,4vw,58px);letter-spacing:-2px;font-weight:500;margin:12px 0}.about p{color:#aaa;line-height:1.8}.kids-teaser{display:grid;grid-template-columns:1fr 1fr;background:#defc26;color:#111}.kids-teaser img{width:100%;height:520px;object-fit:cover;object-position:center 25%}.kids-teaser div{padding:65px;align-self:center}.kids-teaser h2{font-size:clamp(40px,5vw,72px);letter-spacing:-3px;line-height:1.05;font-weight:500}.kids-teaser p{line-height:1.7}.textlink{display:inline-block;border-bottom:1px solid;padding-bottom:9px;margin-top:20px}.contact{padding:100px 0 55px}.contact h2{font-size:clamp(48px,7vw,100px);letter-spacing:-.06em;max-width:900px;font-weight:500;margin:20px 0 40px}.mail{font-size:clamp(20px,3.5vw,50px);display:inline-block;border-bottom:2px solid #defc26;padding-bottom:12px;overflow-wrap:anywhere}.contact p{color:#aaa;line-height:1.8}footer{padding:25px 0;border-top:1px solid #333;font-size:11px;color:#aaa;display:flex;justify-content:space-between;gap:20px}.review{background:#defc26;color:#111;font-size:11px;text-align:center;padding:9px 20px}.menu{display:none}dialog{border:0;background:#111;color:white;padding:20px;width:min(1100px,96vw);max-height:96vh}dialog::backdrop{background:#000e}dialog img{width:100%;height:78vh;object-fit:contain}dialog .controls{display:flex;justify-content:space-between;align-items:center;gap:12px}dialog button{background:none;border:1px solid #777;color:white;padding:12px 20px}.kids{background:#f4f3ec;color:#141414}.kids header{background:#f4f3ecf5;border-color:#d3d2cb}.kids .intro p,.kids .section-head p,.kids .about p{color:#595951}.kids h1 em{color:#596719}.kids .caption,.kids .ticker,.kids footer{border-color:#ccc}.kids .ticker span:nth-child(even){color:#728027}.kids .photo span{color:#595951}.kids .contact{background:#defc26;color:#111;padding-left:5%;padding-right:5%}.kids .contact p{color:#333}.kids .mail{border-color:#111}.kids .hero img{height:690px;object-fit:contain;background:#e7e7e7}.kids .hero{display:grid;grid-template-columns:1fr 1fr;gap:24px}.kids .hero img:last-child{object-fit:cover;object-position:center 22%}.kids .gallery .photo img{height:470px;object-position:center 25%}.kids footer{color:#555}.kids .pill{border-color:#aaa}@media(max-width:800px){.nav{height:78px}.brand img{width:50px;height:50px}.brand{font-size:11px}.menu{display:block;background:none;border:1px solid #777;color:inherit;padding:10px 15px}.links{display:none;position:absolute;top:78px;left:0;right:0;background:#111;padding:24px;flex-direction:column;align-items:flex-start}.links.open{display:flex}.kids .links{background:#f4f3ec}.intro{grid-template-columns:1fr;padding-top:38px;gap:15px}.intro p{max-width:100%;margin:5px 0}.hero img{height:420px}.ticker{letter-spacing:-1px;flex-wrap:wrap}.section{padding-top:65px}.section-head{grid-template-columns:1fr;gap:0}.gallery{grid-template-columns:repeat(2,1fr);gap:15px}.photo img,.kids .gallery .photo img{height:330px}.photo.wide{grid-column:span 2}.photo.wide img{height:350px}.about{grid-template-columns:1fr;gap:15px;padding:65px 0}.kids-teaser{grid-template-columns:1fr}.kids-teaser div{padding:35px}.kids-teaser img{height:420px}.contact{padding-top:65px}.kids .hero{gap:12px}.kids .hero img{height:430px}.kids .hero img:last-child{display:none}.kids .hero{grid-template-columns:1fr}footer{flex-wrap:wrap}}@media(max-width:440px){.gallery{grid-template-columns:1fr}.photo.wide{grid-column:auto}.photo img,.kids .gallery .photo img{height:auto;max-height:580px;object-fit:contain}.caption{font-size:9px}.brand span{letter-spacing:1px}.ticker{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.author-about{grid-template-columns:minmax(180px,.65fr) 1fr 1fr;gap:42px;align-items:center}.author-portrait{display:block;width:100%;max-height:430px;object-fit:cover;object-position:center;border-radius:4px}@media(max-width:800px){.about{grid-template-columns:1fr;gap:20px}.author-portrait{max-width:320px;max-height:440px}}

/* Updated identity and contact */
.nav{height:124px}.brand img{width:100px;height:100px;border:6px solid #defc26;border-radius:50%;background:#000}.brand{flex-shrink:0}h1{font-size:clamp(38px,5vw,76px)}.section h2{font-size:clamp(34px,4.5vw,66px)}.contact h2{font-size:clamp(38px,5.2vw,76px)}.kids h1 em{color:#defc26}.kids .ticker span:nth-child(even){color:#defc26}.contact-links{display:flex;flex-wrap:wrap;gap:18px 30px;margin:28px 0;font-size:20px}.contact-links a{padding:10px 0;border-bottom:1px solid #defc26}.kids .contact-links a{border-color:#111}.contact-links a:hover{opacity:.7}@media(max-width:800px){.nav{height:102px}.brand img{width:80px;height:80px;border-width:5px}.links{top:102px}.contact-links{font-size:18px;gap:12px 24px}.author-about{grid-template-columns:1fr}.kids-teaser h2{font-size:38px}}

.contact-links a{display:inline-flex;align-items:center;gap:12px;border-bottom:0;padding:12px 16px 12px 0}.contact-links svg{width:25px;height:25px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:#defc26}.contact-links .icon-dot{fill:currentColor;stroke:none}.contact-links a:last-child svg{fill:currentColor;stroke:none}.kids .contact-links svg{color:#141414}.contact-links a:hover svg{transform:translateY(-2px)}

/* Mobile photo viewer: full viewport and compact controls. */
@media(max-width:800px){
 dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:0;background:#080808;overflow:hidden}
 dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
 dialog .controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;gap:8px;padding:calc(8px + env(safe-area-inset-top,0px)) max(8px,env(safe-area-inset-right,0px)) 8px max(8px,env(safe-area-inset-left,0px));align-items:center}
 dialog button{min-width:44px;min-height:44px;padding:6px 10px;font-size:18px;line-height:1;border-color:#555;border-radius:6px}
 dialog .close{font-size:13px;white-space:nowrap}
 dialog .count{font-size:12px;text-align:center;color:#ccc}
 dialog img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
}