:root { --ink:#191a18; --paper:#f4f0e9; --red:#a64232; --navy:#172738; --line:rgba(25,26,24,.22); }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif}
button,input{font:inherit}
button,a{color:inherit}
button{cursor:pointer}
.announce{height:28px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.12em}
.header{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 36px;border-bottom:1px solid var(--line);position:absolute;top:28px;left:0;right:0;z-index:5;color:#fff}
.logo,.footer-logo{text-decoration:none;font-family:Georgia,serif;font-size:24px;letter-spacing:-.04em}
.logo span,.footer-logo span{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:.5em;text-align:center;margin-top:2px}
.nav{display:flex;gap:28px;justify-self:start}
.nav a{font-size:11px;text-decoration:none;letter-spacing:.08em}
.bag{justify-self:end;background:none;border:0;font-size:11px;letter-spacing:.1em}
.bag b{display:inline-grid;place-items:center;background:#fff;color:#111;border-radius:99px;width:18px;height:18px;margin-left:6px}
.menu{display:none}
.hero{height:min(860px,calc(100vh - 28px));min-height:650px;position:relative;overflow:hidden;background:#ddd}
.hero>img{width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,24,20,.38),transparent 52%)}
.hero-copy{position:absolute;z-index:2;top:42%;left:7%;transform:translateY(-50%);color:#fff}
.eyebrow{font-size:10px;letter-spacing:.21em;margin:0 0 28px;font-weight:700}
.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(60px,7.2vw,112px);line-height:.88;letter-spacing:-.07em;margin:0}
.hero-desc{font-family:Georgia,serif;font-size:16px;line-height:1.55;margin:28px 0 34px}
.arrow-link{display:inline-flex;gap:80px;border-bottom:1px solid currentColor;padding:0 0 9px;text-decoration:none;font-size:11px;letter-spacing:.08em}
.hero-note{position:absolute;z-index:2;color:#fff;right:36px;bottom:24px;font-size:9px;letter-spacing:.18em}
.collection{padding:120px 4vw 130px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;max-width:1260px;margin:0 auto 74px}
.section-head h2,.story h2,.quality h2,.newsletter h2{font-family:Georgia,serif;font-size:clamp(46px,6vw,86px);font-weight:400;letter-spacing:-.06em;line-height:.93;margin:0}
.section-copy{font-family:Georgia,serif;font-size:15px;line-height:1.7;margin:0 6vw 0 0}
.filters{max-width:1260px;margin:0 auto 18px;border-bottom:1px solid var(--line)}
.filters button{border:0;background:none;padding:0 32px 14px 0;font-size:10px;letter-spacing:.12em;color:#777}
.filters .active{color:var(--ink);font-weight:700}
.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1260px;margin:auto}
.product-image{display:block;width:100%;aspect-ratio:3/4;border:0;padding:0;background:#ddd;position:relative;overflow:hidden}
.crop,.modal-image span,.cart-thumb{display:block;background-image:url("./images/chancoco-tees-10.png");background-size:500% 200%;background-repeat:no-repeat}
.product-image .crop{width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.product-image:hover .crop{transform:scale(1.035)}
.badge{position:absolute;z-index:2;left:12px;top:12px;background:var(--paper);font-size:8px;letter-spacing:.13em;padding:7px 9px}
.quick{position:absolute;z-index:2;bottom:0;left:0;right:0;background:rgba(25,26,24,.92);color:#fff;padding:15px;font-size:9px;letter-spacing:.18em;transform:translateY(100%);transition:transform .3s}
.product-image:hover .quick{transform:none}
.product-info{display:flex;justify-content:space-between;gap:8px;padding:15px 4px}
.product-info h3{font-family:Georgia,serif;font-size:15px;margin:0 0 6px}
.product-info p{font-size:9px;color:#777;letter-spacing:.06em;margin:0}
.product-info strong{font-size:11px;font-weight:500}
.quality{min-height:680px;background:var(--navy);color:#f3eee4;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.quality-word{font-family:Georgia,serif;font-size:clamp(80px,13vw,200px);line-height:.78;letter-spacing:-.08em;align-self:end;transform:translate(-2vw,3vw);opacity:.12}
.quality-copy{padding:110px 8vw 90px 4vw;align-self:center}
.eyebrow.light{color:#d7b76c}
.quality h2{font-size:clamp(44px,5vw,70px);margin-bottom:36px}
.quality-copy>p:not(.eyebrow){font-family:Georgia,serif;line-height:1.8;font-size:15px;max-width:540px;color:#c9c7c1}
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:64px;border-top:1px solid rgba(255,255,255,.25);padding-top:24px}
.specs b{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400}
.specs span{font-size:8px;letter-spacing:.09em;color:#a8aba9}
.story{display:grid;grid-template-columns:1.1fr .9fr;min-height:720px}
.pattern-panel{background:var(--red);position:relative;overflow:hidden;color:#f2d8b7}
.flower{position:absolute;font-size:170px;line-height:1}
.f1{left:10%;top:12%}.f2{right:8%;top:38%;font-size:230px}.f3{left:30%;bottom:0;font-size:130px}
.stem{position:absolute;display:block;width:2px;height:80%;background:#e4bd8d;transform:rotate(34deg)}
.s1{left:45%;top:5%}.s2{left:22%;top:30%;transform:rotate(-26deg)}
.story-copy{padding:120px 8vw;display:flex;flex-direction:column;justify-content:center}
.story-copy h2{margin-bottom:38px}
.story-copy>p:not(.eyebrow){font-family:Georgia,serif;font-size:16px;line-height:1.8;max-width:480px;margin-bottom:38px}
.story .arrow-link{align-self:flex-start}
.newsletter{text-align:center;padding:130px 20px;background:#e8e0d3}
.newsletter h2{font-size:clamp(44px,5.6vw,76px)}
.newsletter form{max-width:560px;margin:50px auto 0;display:flex;border-bottom:1px solid #333}
.newsletter input{flex:1;background:none;border:0;padding:16px 4px;outline:none}
.newsletter button{border:0;background:none;font-size:11px;letter-spacing:.1em}
footer{background:var(--ink);color:#efebe3;padding:70px 4vw 36px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-logo{font-size:42px;justify-self:start}
footer p,footer a{display:block;font-size:10px;line-height:1.9;color:#aaa;text-decoration:none}
footer small{grid-column:1/-1;border-top:1px solid #3c3c39;padding-top:20px;margin-top:40px;font-size:8px;letter-spacing:.12em;color:#777}
.modal-backdrop{position:fixed;z-index:20;inset:0;background:rgba(14,14,13,.76);display:grid;place-items:center;padding:20px}
.modal-backdrop[hidden]{display:none}
.product-modal{background:var(--paper);width:min(1000px,95vw);max-height:92vh;display:grid;grid-template-columns:1.05fr .95fr;position:relative;overflow:auto}
.close{position:absolute;right:16px;top:12px;background:none;border:0;font-size:30px;z-index:2}
.modal-image{min-height:620px;background:#ddd}.modal-image span{width:100%;height:100%}
.modal-copy{padding:70px 55px;display:flex;flex-direction:column}
.modal-copy h2{font-family:Georgia,serif;font-size:42px;font-weight:400;margin:0 0 8px}
.modal-copy>p{font-size:11px;color:#686862}.modal-copy>strong{font-size:20px;margin:20px 0}
.modal-copy .detail{font-family:Georgia,serif;font-size:14px;line-height:1.7;border-top:1px solid var(--line);padding-top:22px;margin-top:10px}
.modal-copy label{font-size:9px;letter-spacing:.13em;font-weight:700;margin:20px 0 10px}
.sizes{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:28px}
.sizes button{height:44px;background:none;border:1px solid var(--line);margin-right:-1px}
.sizes .selected{background:var(--ink);color:#fff}
.add,.checkout{background:var(--ink);color:#fff;border:0;padding:18px;font-size:11px;letter-spacing:.08em}
.cart-shade{position:fixed;z-index:29;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:.3s}.cart-shade.show{opacity:1;pointer-events:auto}
.cart{position:fixed;z-index:30;right:0;top:0;bottom:0;width:min(460px,100%);background:var(--paper);padding:28px;transform:translateX(100%);transition:transform .4s;display:flex;flex-direction:column}.cart.open{transform:none}
.cart-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px}.cart-head h2{font-family:Georgia,serif;font-weight:400}.cart-head h2 span{font-family:Arial;font-size:12px}.cart-head button{background:none;border:0;font-size:30px}
.empty{margin:auto;text-align:center;font-family:Georgia,serif;line-height:1.7;color:#777}
.cart-items{overflow:auto;flex:1}.cart-item{display:grid;grid-template-columns:90px 1fr auto;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.cart-thumb{width:90px;height:112px}.cart-item h3{font-family:Georgia,serif;font-size:14px;margin:8px 0}.cart-item p{font-size:9px;color:#777}.cart-item strong{font-size:11px}.cart-item button{align-self:end;background:none;border:0;font-size:8px;text-decoration:underline}
.cart-total{display:flex;justify-content:space-between;padding:24px 0}.cart-total span{font-size:11px}.cart-total strong{font-family:Georgia,serif;font-size:20px}
@media(max-width:800px){
  .header{height:66px;padding:0 18px}.menu{display:block;background:none;border:0;width:24px;padding:4px}.menu span{display:block;height:1px;background:#fff;margin:5px 0}.logo{font-size:20px}.nav{position:absolute;left:0;right:0;top:66px;background:var(--paper);color:var(--ink);display:none;flex-direction:column;padding:28px}.nav.open{display:flex}.hero{min-height:680px;height:calc(100svh - 28px)}.hero>img{object-position:62% center}.hero:after{background:linear-gradient(0deg,rgba(20,20,18,.65),transparent 70%)}.hero-copy{left:24px;right:20px;top:auto;bottom:76px;transform:none}.hero h1{font-size:58px}.hero-desc{font-size:14px}.hero-note{display:none}
  .collection{padding:84px 16px}.section-head{display:block;margin-bottom:45px}.section-copy{margin:28px 0 0}.product-grid{grid-template-columns:repeat(2,1fr);gap:8px}.product-info{display:block}.product-info strong{display:block;margin-top:8px}.quick{display:none}
  .quality{grid-template-columns:1fr}.quality-word{display:none}.quality-copy{padding:90px 22px}.specs b{font-size:22px}.story{grid-template-columns:1fr}.pattern-panel{min-height:420px}.story-copy{padding:80px 22px}.newsletter{padding:90px 18px}.newsletter form{display:block;border:0}.newsletter input{width:100%;border-bottom:1px solid #333}.newsletter button{margin-top:20px}
  footer{grid-template-columns:1fr}.footer-logo{font-size:36px}.product-modal{grid-template-columns:1fr}.modal-image{min-height:390px}.modal-copy{padding:45px 24px}.modal-copy h2{font-size:34px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.crop,.quick,.cart,.cart-shade{transition:none}}
