:root{
  --bg:#ffffff; --fg:#111; --muted:#666; --accent:#cc0000; --max:1600px;
  --gap:14px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--max);margin:0 auto;padding:0 18px}
header{padding:26px 0 10px}
.brand{font-size:40px;font-weight:600;letter-spacing:.5px;text-align:center;}
nav{display:flex;gap:24px;justify-content:center;align-items:center;flex-wrap:wrap;padding:10px 0 18px}
nav a{font-size:20px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);}
nav a.active{color:var(--accent);font-weight:600;text-decoration:none}
.dropdown{position:relative;display:inline-block}
.dropdown-toggle{font-size:20px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg);cursor:pointer;}
.dropdown-toggle.active{color:var(--accent);font-weight:600;}
.dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #eee;min-width:220px;z-index:1000;padding:8px 0;box-shadow:0 4px 12px rgba(0,0,0,.1);}
.dropdown-menu a{display:block;padding:8px 18px;font-size:15px;letter-spacing:.05em;text-transform:uppercase;color:var(--fg);}
.dropdown-menu a:hover{background:#f5f5f5;text-decoration:none;}
.dropdown-menu a.active{color:var(--accent);font-weight:600;}
.dropdown:hover .dropdown-menu{display:block;}
main{padding:10px 0 40px}
h1{font-size:24px;margin:0 0 14px}
p{margin:0 0 12px;color:var(--fg)}
.small{color:var(--muted);font-size:13px}
.home-hero{display:block;text-align:center;width:100%;}
.home-hero img{width:350px;height:auto;border:1px solid #eee;background:#fafafa;display:block;margin:0 auto;}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.grid > div{min-width:0}
@media(max-width:980px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.grid{grid-template-columns:1fr}}
.thumb{display:block;background:transparent;padding:0;overflow:hidden;border:none}
.thumb img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:transparent;border:none}
.thumb.special-thumb img{transform:scale(1.2);transform-origin:center;object-position:70% 50%}
.thumb.thread-stretch img{transform:scale(1.14);transform-origin:center;object-position:center}
.thumb.thread-stretch-strong img{transform:scale(1.2);transform-origin:center;object-position:center}
.thumb.thread-stretch-pink img{transform:scale(1.22);transform-origin:center;object-position:center}
.thumb.thread-stretch-leftfix img{transform:scale(1.14);transform-origin:center;object-position:58% 50%}
.thumb.plaid-stretch img{transform:scale(1.18);transform-origin:center;object-position:center}
.thumb.rosier-stretch img{transform:scale(1.22);transform-origin:center;object-position:53% 50%}
.thumb.embracing-stretch img{transform:scale(1.18);transform-origin:center;object-position:center}
.thumb.identity-bottom-right-stretch img{transform:scale(1.12);transform-origin:center;object-position:42% 50%}
.section{margin-top:20px}
.two-col{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:start}
@media(max-width:720px){.two-col{grid-template-columns:1fr}}
.portrait{border:1px solid #eee;background:#fafafa}
.portrait img{width:100%;height:auto;display:block}
footer{border-top:1px solid #eee;padding:18px 0;color:var(--muted);font-size:13px;text-align:center}
.lb{position:fixed;inset:0;background:rgba(255,255,255,.96);display:none;align-items:center;justify-content:center;padding:22px;z-index:9999}
.lb.open{display:flex}
.lb img{max-width:min(1980px,98vw);max-height:93vh;width:auto;height:auto;border:1px solid #ddd;background:#fff}
.lb .cap{color:#333;max-width:min(1980px,98vw);margin-top:18px;font-size:23px;opacity:1;text-align:center;line-height:1.6}
.lb .cap b{display:block;margin-bottom:8px;font-size:25px}
.lb .inner{display:flex;flex-direction:column;align-items:center}
.lb .btn{position:fixed;top:18px;right:18px;background:#fff;color:#222;border:1px solid #ddd;padding:8px 10px;border-radius:10px;cursor:pointer}
.lb .nav{position:fixed;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.lb .nav button{pointer-events:auto;background:#fff;border:1px solid #ddd;color:#222;padding:10px 12px;border-radius:12px;cursor:pointer;margin:0 12px}
.cap{display:block;width:100%;font-size:13px;line-height:1.4;margin-top:6px;color:#333;text-align:left;overflow-wrap:anywhere}
