.shape-section{background:#f2ece4}
.shape-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.shape-category-card{display:grid;grid-template-rows:250px 1fr;min-height:405px;background:#fffaf5;border:1px solid rgba(95,71,58,.18);box-shadow:0 18px 45px rgba(53,38,32,.08);transition:transform .25s ease,box-shadow .25s ease}
.shape-category-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(53,38,32,.14)}
.shape-category-media,.shape-item-media{position:relative;overflow:hidden;background:#d7cec5}
.shape-category-media .media-blur,.shape-item-media .media-blur{position:absolute;inset:-14px;background-position:center;background-size:cover;filter:blur(18px);opacity:.34;transform:scale(1.08)}
.shape-category-media>img,.shape-item-media>img,.shape-item-media>video{position:relative;z-index:1;width:100%;height:100%;object-fit:contain}
.shape-category-copy{position:relative;padding:22px 22px 24px}
.shape-category-copy>span{position:absolute;right:18px;top:18px;color:#a05b61;font:italic 600 14px Georgia,serif}
.shape-category-copy h3{margin:0 42px 10px 0;font:600 23px var(--serif);color:var(--ink)}
.shape-category-copy p{margin:0 0 17px;color:#6d635c;font-size:13px;line-height:1.75}
.shape-category-copy b{color:var(--wine);font-size:12px;letter-spacing:.08em}
.shape-section-action{display:flex;justify-content:center;margin-top:38px}
.shape-section-action .primary-link{background:var(--wine);color:#fff}

.shapes-hero{padding:82px max(5vw,64px) 72px;background:linear-gradient(120deg,#41272c,#7b3342 72%,#9c5b60);color:#fff}
.shapes-hero .back-link{display:inline-block;margin-bottom:48px;color:#f1d6cd;font-size:13px}
.shapes-hero .kicker{color:#f4caa8}
.shapes-hero h1{margin:12px 0 24px;font:500 clamp(46px,6vw,78px)/1.15 var(--serif)}
.shapes-hero>p:not(.kicker){max-width:760px;margin:0;color:#f1e7e2;font-size:16px;line-height:1.9}
.shapes-hero-meta{display:flex;align-items:baseline;gap:9px;margin-top:38px;color:#f5dfd5}
.shapes-hero-meta strong{font:italic 600 34px Georgia,serif;color:#fff}
.shapes-hero-meta span{font-size:13px;letter-spacing:.08em}
.shapes-hero-meta i{width:1px;height:26px;margin:0 16px;background:rgba(255,255,255,.36)}
.shape-browser{display:grid;grid-template-columns:220px minmax(0,1fr);gap:54px;padding:62px max(5vw,64px) 110px;background:var(--paper)}
.shape-sidebar{position:sticky;top:96px;align-self:start}
.shape-sidebar>p{margin:0 0 18px;color:#8d7770;font-size:11px;letter-spacing:.22em}
.shape-nav{display:grid;border-top:1px solid var(--line)}
.shape-nav button{display:grid;grid-template-columns:1fr auto;align-items:center;padding:15px 8px;background:transparent;border:0;border-bottom:1px solid var(--line);color:#6a5c56;text-align:left;cursor:pointer}
.shape-nav button span{font:500 15px var(--serif)}
.shape-nav button small{display:grid;place-items:center;width:26px;height:22px;border-radius:20px;background:#e9e0d8;color:#765e5c;font-size:10px}
.shape-nav button.active{padding-left:14px;background:#7d3240;color:#fff}
.shape-nav button.active small{background:#fff;color:#7d3240}
.shape-result-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,420px);gap:40px;align-items:end;margin-bottom:34px;padding-bottom:25px;border-bottom:1px solid var(--line)}
.shape-result-head h2{margin:7px 0 0;font:500 38px var(--serif)}
.shape-result-head>p{margin:0;color:#6a615c;font-size:14px;line-height:1.8}
.shape-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.shape-item{display:block;width:100%;padding:0;text-align:left;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(53,38,32,.07)}
.shape-preview-trigger{cursor:zoom-in}
.shape-item-media{height:330px}
.shape-item-copy{padding:15px 17px 18px}
.shape-item-copy span{display:block;margin-bottom:6px;color:#9a6664;font-size:10px;letter-spacing:.12em}
.shape-item-copy h3{margin:0;font:500 17px var(--serif);color:var(--ink)}
.shape-item .play-mark{z-index:2}
.shape-lightbox{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:38px;background:rgba(27,19,17,.88);backdrop-filter:blur(8px)}
.shape-lightbox[hidden]{display:none}
.shape-lightbox img{display:block;max-width:min(92vw,1400px);max-height:calc(100vh - 100px);object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.42)}
.shape-lightbox p{position:absolute;left:0;right:0;bottom:16px;margin:0;color:#fff;text-align:center;font-size:13px;letter-spacing:.08em}
.shape-lightbox-close{position:absolute;z-index:1;right:22px;top:18px;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer}
body.lightbox-open{overflow:hidden}
.carousel-thumb{position:relative}
.thumb-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(77,37,43,.82);color:#fff;font-size:9px}

@media(max-width:1200px){
  .shape-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shape-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .shape-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .shape-category-card{grid-template-rows:190px 1fr;min-height:350px}
  .shape-category-copy{padding:18px}
  .shape-category-copy h3{font-size:20px}
  .shape-category-copy p{font-size:12px}
  .shapes-hero{padding:46px 20px 52px}
  .shapes-hero .back-link{margin-bottom:34px}
  .shapes-hero h1{font-size:40px}
  .shapes-hero>p:not(.kicker){font-size:14px}
  .shape-browser{display:block;padding:32px 18px 82px}
  .shape-sidebar{position:static;margin-bottom:34px}
  .shape-sidebar>p{display:none}
  .shape-nav{display:flex;gap:8px;overflow-x:auto;padding:0 0 10px;border:0;scrollbar-width:thin}
  .shape-nav button{flex:0 0 auto;display:flex;gap:8px;padding:10px 13px;border:1px solid var(--line);white-space:nowrap}
  .shape-nav button.active{padding-left:13px}
  .shape-result-head{display:block;margin-bottom:24px}
  .shape-result-head h2{font-size:30px}
  .shape-result-head>p{margin-top:15px;font-size:13px}
  .shape-gallery{grid-template-columns:1fr;gap:18px}
  .shape-item-media{height:min(78vw,420px)}
}
@media(max-width:480px){
  .shape-category-grid{grid-template-columns:1fr}
  .shape-category-card{grid-template-columns:44% 56%;grid-template-rows:1fr;min-height:190px}
  .shape-category-media{min-height:190px}
  .shape-category-copy{padding:17px 15px}
  .shape-category-copy h3{font-size:19px}
  .shape-category-copy p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.65}
  .shape-category-copy b{font-size:11px}
  .shapes-hero-meta{flex-wrap:wrap}
}
@media(max-width:480px){
  .shape-lightbox{padding:22px 14px 54px}
  .shape-lightbox img{max-width:100%;max-height:calc(100vh - 92px)}
  .shape-lightbox-close{right:14px;top:12px;width:38px;height:38px}
}
