:root{
  --bg:#FFFFFF; --paper:#F4F4F2; --ink:#2B2F35; --mute:#6E7278; --line:#DAD8D2; --accent:#5E7389;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif; --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
main{max-width:1240px;margin:0 auto;padding:0 28px 80px}

/* header */
.top{max-width:1240px;margin:0 auto;padding:26px 28px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative}
.brand{font:500 27px/1 var(--serif);letter-spacing:.01em;text-decoration:none}
.nav{display:flex;align-items:center;gap:26px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.nav a{text-decoration:none;color:var(--mute);padding:4px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.nav a:hover,.nav a[aria-current]{color:var(--ink);border-color:var(--ink)}
.nav .ig{border:0;display:flex}
.mtog,.burger{display:none}

/* home */
.hero{padding:10px 0 8px;text-align:center}
.hero .hi{width:auto;max-height:74vh;margin:0 auto;box-shadow:0 18px 40px -22px rgba(30,30,30,.45)}
.tag{font:italic 400 clamp(22px,3vw,30px)/1.3 var(--serif);margin:38px 0 6px}
.sub{color:var(--mute);font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0}
.entries{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:70px}
.entry{text-decoration:none;display:block}
.entry .ei,.scard .si,.bc .zoom{aspect-ratio:4/5;background:var(--paper);position:relative;overflow:hidden;display:block}
.entry .ei img,.scard .si img,.bc .zoom img{position:absolute;inset:22px;width:calc(100% - 44px);height:calc(100% - 44px);object-fit:contain;box-shadow:none;transition:transform .6s ease}
.entry:hover img,.scard:hover img{transform:scale(1.02)}
.et,.st2{display:block;font:500 22px/1.2 var(--serif);margin-top:14px}
.es,.ss{display:block;color:var(--mute);font-size:13px}

/* headings */
.head{max-width:680px;margin:30px 0 44px}
.head.narrow{margin-left:auto;margin-right:auto;text-align:center}
.head h1,.about h1,.legal h1{font:400 clamp(38px,5vw,52px)/1.05 var(--serif);margin:0 0 12px}
.head p{color:var(--mute);margin:0}
.back{display:inline-block;font-size:13px;color:var(--mute);text-decoration:none;margin-bottom:18px}
.back:hover{color:var(--ink)}

/* grids */
.sgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:56px 40px}
.sgrid .scard .si,.entries .entry .ei{aspect-ratio:5/4}
.scard{text-decoration:none}
.works{columns:3 300px;column-gap:40px}
.w{break-inside:avoid;margin:0 0 46px}
.zoom{all:unset;cursor:zoom-in;display:block}
.zoom img{box-shadow:0 14px 30px -20px rgba(30,30,30,.5)}
.w figcaption{margin-top:12px;display:grid;gap:1px}
.t{font:500 19px/1.25 var(--serif)}
.c{color:var(--mute);font-size:13px;margin:0}
.st{font-size:12px;letter-spacing:.04em;margin-top:4px}
.st a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}
.st.off{color:var(--mute)}

/* boutique */
.bh{font:400 30px/1.2 var(--serif);margin:56px 0 24px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:30px}
.bh span{font:400 13px var(--sans);color:var(--mute);letter-spacing:.04em}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:46px 32px}
.bc{display:flex;flex-direction:column}
.bi h3{font:500 21px/1.25 var(--serif);margin:14px 0 2px}
.bp{display:flex;align-items:center;justify-content:space-between;margin-top:12px}
.pr{font:500 20px var(--serif)}
.btn{display:inline-block;background:var(--ink);color:#fff;border:1px solid var(--ink);text-decoration:none;font:500 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:12px 20px;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--ink)}
.note{margin-top:60px;color:var(--mute);text-align:center}

/* about */
.about{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:start;margin-top:30px}
.portrait{aspect-ratio:4/5;background:var(--paper);border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--mute);font-size:13px}
.txt p{max-width:60ch}
.txt .q{font:italic 400 24px/1.35 var(--serif);margin:28px 0}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 22px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);font-size:14px}
.facts dt{color:var(--mute)}
.facts dd{margin:0}
.todo{color:#A07A3E;font-style:italic}

/* form */
.form{max-width:560px;margin:0 auto;display:grid;gap:18px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form label{display:grid;gap:6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.form input,.form textarea{font:400 16px/1.5 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:8px 0;border-radius:0}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--accent)}
.form .btn{justify-self:start;margin-top:8px}
.hp{display:none}

/* legal */
.legal{max-width:680px;margin:30px auto 0}
.legal h2{font:500 22px var(--serif);margin:30px 0 6px}

/* footer */
.foot{max-width:1240px;margin:0 auto;padding:30px 28px 40px;border-top:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:var(--mute)}
.foot a{text-decoration:none}
.foot a:hover{color:var(--ink)}
.foot span{margin-right:auto}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(255,255,255,.97);z-index:20;display:flex;align-items:center;justify-content:center;padding:40px 70px}
.lb[hidden]{display:none}
.lb figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.lb img{max-height:calc(100vh - 170px);width:auto;box-shadow:0 18px 40px -22px rgba(30,30,30,.5)}
.lb figcaption{text-align:center;margin-top:16px;display:grid;gap:2px}
.lb figcaption .btn{margin:10px auto 0}
.lbx,.lbp,.lbn{position:absolute;background:none;border:0;font:300 40px/1 var(--serif);color:var(--ink);cursor:pointer;padding:10px}
.lbx{top:14px;right:22px}
.lbp{left:14px;top:50%;transform:translateY(-50%)}
.lbn{right:14px;top:50%;transform:translateY(-50%)}

@media (max-width:900px){
  .entries,.sgrid,.bgrid{grid-template-columns:repeat(2,1fr);gap:30px 18px}
  .about{grid-template-columns:1fr;gap:30px}
}
@media (max-width:640px){
  main{padding:0 18px 60px}
  .top{padding:18px}
  .brand{font-size:23px}
  .burger{display:block;width:28px;height:20px;position:relative;cursor:pointer}
  .burger span,.burger:before,.burger:after{content:"";position:absolute;left:0;right:0;height:1.5px;background:var(--ink)}
  .burger:before{top:2px}.burger span{top:9px}.burger:after{top:16px}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);flex-direction:column;align-items:flex-start;gap:4px;padding:6px 18px 22px;z-index:10;border-bottom:1px solid var(--line);font-size:14px}
  .mtog:checked~.nav{display:flex}
  .entries{grid-template-columns:1fr;margin-top:50px}
  .bgrid{grid-template-columns:1fr 1fr;gap:26px 14px}
  .sgrid{grid-template-columns:1fr;gap:34px}
  .entry .ei img,.scard .si img,.bc .zoom img{inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}
  .works{columns:1}
  .form .row{grid-template-columns:1fr}
  .lb{padding:50px 10px}
  .lbp,.lbn{top:auto;bottom:10px;transform:none}
  .hero .hi{max-height:62vh}
}

.portrait.photo{border:0;background:none;overflow:hidden}.portrait.photo img{width:100%;height:100%;object-fit:cover;display:block}

.about.solo{display:block;max-width:680px;margin:40px auto 0}.about.solo h1{text-align:left}
