@font-face{font-family:'Castoro';font-style:italic;font-weight:400;font-display:swap;src:url('castoro-400-italic.woff2') format('woff2')}
@font-face{font-family:'Castoro';font-style:normal;font-weight:400;font-display:swap;src:url('castoro-400.woff2') format('woff2')}
@font-face{font-family:'Ysabeau Office';font-style:normal;font-weight:400;font-display:swap;src:url('ysabeau-office-400.woff2') format('woff2')}
@font-face{font-family:'Ysabeau Office';font-style:normal;font-weight:500;font-display:swap;src:url('ysabeau-office-500.woff2') format('woff2')}
@font-face{font-family:'Ysabeau Office';font-style:normal;font-weight:600;font-display:swap;src:url('ysabeau-office-600.woff2') format('woff2')}
@font-face{font-family:'Ysabeau Office';font-style:normal;font-weight:700;font-display:swap;src:url('ysabeau-office-700.woff2') format('woff2')}

:root{
  --achm-ink:#23211d;
  --achm-paper:#fbf9f5;
  --achm-tint:#f0ebe1;
  --achm-teak:#8a5a33;
  --achm-teakdeep:#6f4527;
  --achm-line:#d9d1c2;
  --achm-fg:#23211d;
  --achm-mut:#5d574c;
  --achm-kick:#6f4527;
  --achm-card:#ffffff;
  --achm-edge:transparent;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Ysabeau Office',system-ui,sans-serif;font-size:17px;line-height:1.6;
  color:var(--achm-fg);background:var(--achm-paper)}
img{max-width:100%;height:auto;border-style:none}
h1,h2,h3{font-family:'Castoro',Georgia,serif;font-weight:400;line-height:1.22;margin:0 0 .5em}
h1{font-size:clamp(1.9rem,4.2vw,2.9rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font-size:1.18rem}
p{margin:0 0 1em}
/* <address> взят за смысл (это правда почтовый адрес), а курсив от браузера тут ни к чему */
address{font-style:normal;margin:0 0 1em}
a{color:var(--achm-fg);text-decoration-color:#8a5a33;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--achm-kick)}
a:focus-visible,button:focus-visible{outline:2px solid #8a5a33;outline-offset:2px}
.sillwrap{max-width:min(1140px,100% - 44px);margin-inline:auto}
.sillskip{position:absolute;left:-999px;top:8px;background:#262420;color:#f4f0e7;
  padding:8px 14px;z-index:60}
.sillskip:focus{left:8px}

/* ---------- верх ---------- */
.corniceline{background:#262420;color:#c9c2b4;font-size:.82rem;text-align:center;
  padding:7px 14px;letter-spacing:.02em}
.lintelbar{border-bottom:1px solid var(--achm-line);background:var(--achm-paper);
  position:sticky;top:0;z-index:50}
.lintelbar>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:12px 0}
.lintelmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:'Castoro',serif;
  font-size:1.35rem;letter-spacing:.01em}
.lintelmark img{width:40px;height:40px}
.transomnav{display:flex;gap:2px 14px;flex-wrap:wrap;margin-right:auto}
.transomlink{font-size:.93rem;text-decoration:none;padding:4px 2px;border-bottom:2px solid transparent}
.transomlink:hover{border-bottom-color:#8a5a33}
.tasselbtn{display:inline-block;font-size:.9rem;padding:8px 16px;border:1.5px solid var(--achm-fg);
  border-radius:2px;text-decoration:none;white-space:nowrap}
.tasselbtn:hover{background:var(--achm-fg);color:var(--achm-paper)}

/* ---------- полосы ---------- */
.draperoom{padding:56px 0}
.draperoom-linen{background:var(--achm-tint)}
.draperoom-dusk{background:#262420;color:var(--achm-fg);
  --achm-fg:#f4f0e7;
  --achm-mut:#c9c2b4;
  --achm-kick:#d8a878;
  --achm-line:#4a463f;
  --achm-card:#312e29;
  --achm-edge:#4a463f}
.swatchkick{display:block;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--achm-kick);margin-bottom:10px}
.swatchlead{color:var(--achm-mut);max-width:62ch;font-size:1.05rem}

/* ---------- герой ---------- */
.baywindow{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.bayledge p{max-width:52ch}
.baypane{background:#fff;border:1px solid var(--achm-line);padding:18px;border-radius:3px}
.baypane img{width:100%;aspect-ratio:5/4;object-fit:contain}
.panerail{display:grid;grid-auto-flow:column;grid-auto-columns:170px;gap:14px;
  overflow-x:auto;padding:26px 0 8px;scrollbar-width:thin}
.panerail a{display:block;text-decoration:none;font-size:.85rem;line-height:1.35}
.panerail img{background:#fff;border:1px solid var(--achm-line);aspect-ratio:1;object-fit:contain;width:100%}

/* ---------- полоса доверия ---------- */
.wovenband{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:20px 0;
  border-bottom:1px solid var(--achm-line)}
.wovencell{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;line-height:1.4}
.wovencell svg{flex:none;width:26px;height:26px;stroke:#6f4527}
.wovencell b{display:block;font-size:1rem}

/* ---------- плитки категорий ---------- */
.swatchwallgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 18px}
.swatchtile{background:var(--achm-card);border:1px solid var(--achm-line);border-radius:3px;
  padding:16px;text-decoration:none;display:flex;flex-direction:column;min-height:0}
.swatchtile:hover{border-color:#8a5a33}
.swatchtile img{aspect-ratio:4/3;object-fit:contain;width:100%;background:#fff;margin-bottom:12px}
.swatchtile h3{margin-bottom:4px}
.swatchpoints{margin:6px 0 0;padding-left:18px;font-size:.86rem;color:var(--achm-mut)}
.swatchpoints li{margin-bottom:3px}

/* ---------- карточки товаров ---------- */
.drapegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 18px}
.swagcard{background:var(--achm-card);border:1px solid var(--achm-line);border-radius:3px;
  display:flex;flex-direction:column;min-height:0;text-decoration:none}
.swagcard:hover{border-color:#8a5a33}
.swagpane{position:relative;aspect-ratio:1;background:#fff}
.swagpane img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:11px}
.swagcard>div{padding:12px 14px 14px;display:flex;flex-direction:column;gap:5px;flex:1}
.swagname{font-size:.94rem;line-height:1.35}
.tasselstars{color:var(--achm-kick);font-size:.85rem;letter-spacing:.06em}
.tasselstars span{color:var(--achm-mut);letter-spacing:0;margin-left:5px}
.hangprice{margin-top:auto;font-size:1.05rem;font-weight:600}
.sunfade{font-size:.8rem;color:var(--achm-mut);margin:10px 0 0}
.cordpullbtn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  background:#23211d;border:1px solid var(--achm-edge);border-radius:2px;padding:11px 22px}
.cordpullbtn:hover{background:#6f4527}
.cordpullbtn img{display:block;height:15px;width:auto}

/* Карточка со своей кнопкой покупки.
   Она не <a>, а div, потому что кнопка внутри ссылки — интерактивное внутри
   интерактивного: разметка невалидна, а клик всплывает на ссылку и уносит на разворот
   мимо партнёра. Кликабельность всей плитки возвращает имя товара, растянутое ::after
   на всю карточку; кнопка поднята над этим слоем и потому ловит клик сама. */
.swagcard-shelf{position:relative}
.swagcard-shelf .swagname{text-decoration:none;color:inherit}
.swagcard-shelf .swagname::after{content:"";position:absolute;inset:0}
.swagcard-shelf .swagname:hover{text-decoration:underline}
/* фокус приходит на ссылку внутри, а рамку показывать надо у всей плитки */
.swagcard-shelf:focus-within{border-color:#8a5a33;outline:3px solid var(--achm-edge);outline-offset:2px}
.swagcard-shelf .swagname:focus-visible{outline:none}
.swagcard-shelf .cordpullbtn{position:relative;z-index:1;margin-top:10px;width:100%;padding:9px 14px}
.swagcard-shelf .cordpullbtn img{height:13px}
.swagcard-shelf .hangprice{margin-top:auto}

/* ---------- фасеты и комнаты ---------- */
.louvergrid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 18px}
.louvertile{border:1px solid var(--achm-line);background:var(--achm-card);padding:20px;border-radius:3px;
  text-decoration:none;display:block}
.louvertile:hover{border-color:#8a5a33}
.louvertile b{font-size:1.7rem;font-family:'Castoro',serif;color:var(--achm-kick);display:block}
.louvertile span{font-size:.88rem;color:var(--achm-mut)}
.roomrowgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.roomrowtile{position:relative;border:1px solid var(--achm-line);background:var(--achm-card);
  border-radius:3px;padding:18px;text-decoration:none;display:flex;flex-direction:column;min-height:0}
.roomrowtile:hover{border-color:#8a5a33}
.roomrowtile img{aspect-ratio:16/9;object-fit:contain;background:#fff;width:100%;margin-bottom:12px}
.roomrowtile p{font-size:.9rem;color:var(--achm-mut);margin:0}

/* ---------- цифры, ценности, шаги ---------- */
.parquetband{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;text-align:center}
.parquetcell b{display:block;font-size:2.2rem;font-family:'Castoro',serif;color:var(--achm-kick)}
.parquetcell span{font-size:.9rem;color:var(--achm-mut)}
.wovenvalues{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}
.wovenvalues svg{width:30px;height:30px;stroke:#6f4527;margin-bottom:10px}
.hangsteps{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.hangsteps ol{margin:0;padding-left:22px}
.hangsteps ol li{margin-bottom:14px}
.swatchtable{border-collapse:collapse;width:100%;font-size:.92rem}
.swatchtable caption{text-align:left;font-size:.85rem;color:var(--achm-mut);padding:8px 0;caption-side:bottom}
.swatchtable th,.swatchtable td{border:1px solid var(--achm-line);padding:9px 12px;text-align:left;vertical-align:top}
.swatchtable th{background:var(--achm-tint);font-weight:600}
.draperoom-dusk .swatchtable th{background:#312e29}

/* ---------- spotlight, уход, миссия ---------- */
.cornicespot{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}
/* только ПРЯМОЙ ребёнок: внутри правой колонки сидит кнопка покупки, и её картинка ловилась
   этим же правилом (та же специфичность, но ниже по файлу) — надпись превращалась в белый
   квадрат в чёрной рамке. Любое правило вида «блок img» рядом с кнопкой писать через знак
   прямого потомка. И: бэктик в комментарии этого файла закрывает шаблонную строку и молча
   обрезает таблицу до огрызка — внутри css.js их не ставить. */
.cornicespot>img{background:#fff;border:1px solid var(--achm-line);padding:16px;width:100%;
  aspect-ratio:1;object-fit:contain}
.drapecare{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.drapecare>div{border:1px solid var(--achm-line);background:var(--achm-card);border-radius:3px;padding:20px 22px}
.drapecare ul{margin:8px 0 0;padding-left:20px}
.drapecare li{margin-bottom:7px;font-size:.94rem}
.lintelnote p{max-width:68ch;font-size:1.08rem}
.designnote table{margin:14px 0 22px}
.designnote h2{margin-top:0}
.designnote h3{margin-top:26px}
.designnote ul{padding-left:20px}
.parlorquotes{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.parlorcard{border:1px solid var(--achm-line);background:var(--achm-card);border-radius:3px;padding:20px 22px}
.parlorcard blockquote{margin:0 0 10px;font-size:.96rem}
.parlorcard figcaption{font-size:.84rem;color:var(--achm-mut)}
.tasselband p{max-width:56ch}

/* ---------- крошки ---------- */
.sashcrumbs{font-size:.84rem;color:var(--achm-mut);padding:16px 0 0}
.sashcrumbs a{color:var(--achm-mut)}
.sashcrumbs span[aria-hidden]{margin:0 6px}

/* ---------- PDP ---------- */
.designsheet{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:start}
.designpane{position:sticky;top:86px;background:#fff;border:1px solid var(--achm-line);
  border-radius:3px;padding:20px}
.designpane img{width:100%;aspect-ratio:1;object-fit:contain}
.designfacts h1{font-size:clamp(1.5rem,3vw,2.1rem)}
.designpoints{margin:14px 0;padding-left:20px}
.designpoints li{margin-bottom:9px}
.designcandor{border:1px solid var(--achm-line);border-left:3px solid #8a5a33;
  background:var(--achm-card);padding:16px 20px;border-radius:0 3px 3px 0;margin:20px 0}
.designcandor h2{font-size:1.05rem;font-family:'Ysabeau Office',sans-serif;font-weight:600;margin-bottom:8px}
.designcandor ul{margin:0;padding-left:18px;font-size:.94rem}
.designcandor li{margin-bottom:6px}
.designspec{margin:20px 0}
.designquick{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}
.designquick>span{font-size:.88rem;color:var(--achm-mut)}
.designquick a{font-size:.88rem;border:1px solid var(--achm-line);border-radius:20px;
  padding:6px 15px;text-decoration:none;background:var(--achm-card)}
.designquick a:hover{border-color:#8a5a33}
.designrail{margin-top:10px}
.designclose>div{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.designclose b{font-size:1.5rem;font-family:'Castoro',serif}

/* ---------- гайды ---------- */
.hangrighthub{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 20px}
.hangrightcard{border:1px solid var(--achm-line);background:var(--achm-card);border-radius:3px;
  padding:22px;text-decoration:none;display:block}
.hangrightcard:hover{border-color:#8a5a33}
.hangrightcard p{font-size:.92rem;color:var(--achm-mut);margin:0}
/* мера чтения короче контейнера, поэтому колонку надо ставить по центру: прижатая влево,
   она оставляла на 1280 полтысячи пустых пикселей справа и читалась как поехавшая вёрстка,
   тем более что полоса подборки под ней идёт во всю ширину. */
.hangrightpage{max-width:72ch;margin-inline:auto}
.hangrightpage h2{margin-top:34px}
.hangrightpage ul,.hangrightpage ol{padding-left:22px}
.hangrightpage li{margin-bottom:7px}

/* ---------- подборщик ---------- */
.whatlightform fieldset{border:1px solid var(--achm-line);border-radius:3px;margin:0 0 18px;padding:16px 18px}
.whatlightform legend{font-weight:600;padding:0 6px}
.whatlightopt{display:inline-block;margin:4px 8px 4px 0}
.whatlightopt input{position:absolute;opacity:0}
.whatlightopt span{display:inline-block;border:1px solid var(--achm-line);border-radius:20px;
  padding:6px 16px;font-size:.92rem;cursor:pointer;background:var(--achm-card)}
.whatlightopt input:checked+span{background:#23211d;color:#f4f0e7;border-color:#23211d}
.whatlightopt input:focus-visible+span{outline:2px solid #8a5a33;outline-offset:2px}
.whatlightout{margin-top:26px}

/* ---------- подвал ---------- */
.groundsill{background:#262420;margin-top:70px;padding:48px 0 30px;
  --achm-fg:#f4f0e7;
  --achm-mut:#c9c2b4;
  --achm-kick:#d8a878;
  --achm-line:#4a463f;
  color:#f4f0e7}
.groundsill a{color:#c9c2b4}
.groundsill a:hover{color:#f4f0e7}
.groundsill>div:first-child{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
.groundcol b{display:block;margin-bottom:10px;font-size:.95rem}
/* адрес в подвале — той же мелкой сеткой, что и списки колонок, и приглушённым цветом:
   это справка, а не приглашение приехать */
.groundcol address{font-size:.9rem;color:var(--achm-mut);margin:0}
.groundcol ul{list-style:none;margin:0;padding:0;font-size:.9rem}
.groundcol li{margin-bottom:7px}
.trimnote{border-top:1px solid #4a463f;margin-top:34px;padding-top:20px;
  font-size:.82rem;color:#c9c2b4}
.hemlinepic{max-width:min(380px,100%);margin-top:10px}

/* ---------- узкий экран ---------- */
@media (max-width:960px){
  .swatchwallgrid,.drapegrid,.louvergrid,.wovenband,.parquetband{grid-template-columns:1fr 1fr}
  .baywindow,.cornicespot,.designsheet,.hangsteps{grid-template-columns:1fr}
  .designpane{position:static}
  .roomrowgrid,.parlorquotes,.wovenvalues,.hangrighthub{grid-template-columns:1fr}
  .groundsill>div:first-child{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .swatchwallgrid,.drapegrid,.louvergrid,.wovenband,.parquetband,.drapecare,
  .groundsill>div:first-child{grid-template-columns:1fr}
  .draperoom{padding:40px 0}
  .designclose>div{justify-content:flex-start}
}
