@font-face{font-family:"Big Shoulders Stencil Display";src:url("/fonts/big-shoulders-stencil-display.woff") format("woff");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans.woff") format("woff");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-500.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}

/* Layout: olive crate-band header and hero, paper reading sections, paint cards; square corners throughout.
   Single deliberate light look from the At Ease brand kit: every color is set explicitly. */
:root{
  --paper:#F4F0E4; --paint:#E9E2CC; --olive:#4E5432; --olive-dark:#363B22;
  --ink:#1E1F17; --stone:#5F5A48; --brass:#EBC25A; --burn:#3A2414;
  --stencil:"Big Shoulders Stencil Display", Impact, "Arial Narrow", sans-serif;
  --body:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --mono:"IBM Plex Mono", "Courier New", monospace;
  --wrap:1120px;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--olive)}
a{color:var(--olive)}
a:hover{color:var(--olive-dark)}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.label{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
h1,h2,h3{font-family:var(--stencil);text-transform:uppercase;margin:0;text-wrap:balance;line-height:.95}
h2{font-size:clamp(36px,5vw,52px);font-weight:800}
h3{font-size:28px;font-weight:700;letter-spacing:.02em}
p{margin:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.section-head-tight{margin-bottom:20px}
.btn-spaced{margin-top:32px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:2px;
  font-family:var(--stencil);font-weight:800;font-size:22px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  border:3px solid transparent;transition:background .15s,color .15s}
.btn-paint{background:var(--paint);color:var(--olive-dark)}
.btn-paint:hover{background:var(--paper);color:var(--ink)}
.btn-olive{background:var(--olive);color:var(--paint)}
.btn-olive:hover{background:var(--olive-dark);color:var(--paint)}
.btn-line{border-color:var(--paint);color:var(--paint);background:transparent}
.btn-line:hover{background:var(--paint);color:var(--olive-dark)}
.btn svg{width:18px;height:18px;flex:none}

/* Header */
.top{background:var(--olive);color:var(--paint);position:sticky;top:env(safe-area-inset-top,0px);z-index:5;border-bottom:4px solid var(--olive-dark)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--paint)}
.brand-name{font-family:var(--stencil);font-weight:800;font-size:28px;letter-spacing:.03em;line-height:1}
.nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.nav a.navlink{color:var(--paint);text-decoration:none;font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.nav a.navlink:hover{color:var(--brass)}
.nav .btn{min-height:44px;font-size:19px;padding:0 16px}
.mini-mark{width:40px;height:40px;color:var(--paint);flex:none}

/* Hero */
.hero{background:var(--olive);color:var(--paint);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(180deg,transparent 0 118px,rgba(30,31,23,.22) 118px 124px)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:center;padding-block:64px 72px}
.hero-logo{width:100%;max-width:520px;height:auto;display:block}
.hero h1{font-size:clamp(52px,8vw,104px);font-weight:900;letter-spacing:.01em;color:var(--paint)}
.hero .lede{margin-top:20px;max-width:34ch;font-size:19px;color:var(--paint)}
.hero .label{color:var(--brass);margin-bottom:16px;display:block}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}

/* Sections */
section{padding-block:72px}
.section-head{display:flex;flex-direction:column;gap:12px;margin-bottom:36px;max-width:640px}
.section-head .label{color:var(--stone)}
.section-head p{color:var(--stone)}

/* Collections */
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.card{background:var(--paint);display:flex;flex-direction:column;border-top:6px solid var(--olive)}
.photo{aspect-ratio:4/3;max-width:100%;background:
  repeating-linear-gradient(135deg,rgba(78,84,50,.08) 0 14px,transparent 14px 28px),var(--paint);
  border-bottom:2px solid rgba(78,84,50,.25);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:var(--stone);text-align:center;padding:16px}
.photo .mark{width:72px;height:72px;color:var(--olive);opacity:.55}
.card-body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.card-body .label{color:var(--stone)}
.card-body p{color:var(--ink)}
.card-body .btn{align-self:flex-start;margin-top:auto}
.specs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px;padding:0;list-style:none}
.specs li{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:2px solid var(--olive);padding:4px 8px;color:var(--olive-dark)}

.cols-one{grid-template-columns:minmax(0,1fr)}
.card-wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.card-wide .photo{aspect-ratio:auto;min-height:320px;border-bottom:none;border-right:2px solid rgba(78,84,50,.25)}

.photo.has-img{padding:0;background:var(--paint);display:block}
.photo.has-img img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;display:block}
.card-wide .photo.has-img{aspect-ratio:4/3;min-height:0;align-self:center}

/* Process */
.process{background:var(--paint)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:rgba(78,84,50,.25);border:2px solid rgba(78,84,50,.25)}
.steps li{background:var(--paper);padding:20px 18px;display:flex;flex-direction:column;gap:8px;min-width:0}
.steps .n{font-family:var(--stencil);font-weight:900;font-size:44px;line-height:1;color:var(--olive)}
.steps h3{font-size:22px}
.steps p{font-size:15px;line-height:1.5;color:var(--stone)}

/* Commissions */
.commissions{background:var(--paper);border-top:4px solid var(--olive)}
.commissions .btn{display:inline-flex}
.csteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.csteps li{display:flex;gap:14px;align-items:flex-start;min-width:0}
.csteps .n{font-family:var(--stencil);font-weight:900;font-size:44px;line-height:.9;color:var(--olive);flex:none;width:30px}
.csteps h3{font-size:22px;margin-bottom:6px}
.csteps p{font-size:15px;line-height:1.5;color:var(--stone)}

/* Care page */
.page-hero .wrap{display:block;padding-block:56px 60px}
.page-hero-copy{max-width:720px}
.page-hero h1{font-size:clamp(48px,7vw,88px)}
.care-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.care-card{background:var(--paint);border-top:6px solid var(--olive);padding:24px;display:flex;flex-direction:column;gap:10px;min-width:0}
.care-card .label{color:var(--stone)}
.care-card p{color:var(--ink)}
.care-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.process .care-card{background:var(--paper)}
.care-card-lead{grid-column:1 / -1;background:var(--olive);border-top-color:var(--brass);color:var(--paint)}
.care-card-lead .label{color:var(--brass)}
.care-card-lead p{color:var(--paint);max-width:62ch}
.foot-links{display:flex;gap:20px;flex-wrap:wrap}

/* Mark + about */
.mark-row{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:48px;align-items:center}
.mark-plate{background:#DCC29A;aspect-ratio:1;max-width:100%;display:flex;align-items:center;justify-content:center;position:relative}
.mark-plate .mark{width:46%;height:auto;color:var(--burn)}
.mark-plate .label{position:absolute;bottom:12px;left:0;right:0;text-align:center;color:var(--burn)}
.about p+p{margin-top:16px}
.about .copy{max-width:62ch}
.fill{background:rgba(235,194,90,.35);padding:0 4px}

/* Etsy band */
.shopband{background:var(--olive-dark);color:var(--paint)}
.shopband .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.shopband h2{color:var(--paint)}
.shopband p{color:var(--paint);margin-top:10px;max-width:46ch}
.shopband .label{color:var(--brass)}

/* Footer */
footer{background:var(--ink);color:var(--paint);padding-block:32px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
footer .label{color:var(--paint)}
footer a{color:var(--brass)}

@media (max-width:860px){
  .hero .wrap{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:40px 48px}
  .cols{grid-template-columns:minmax(0,1fr)}
  .card-wide{grid-template-columns:minmax(0,1fr)}
  .card-wide .photo{aspect-ratio:4/3;min-height:0;border-right:none;border-bottom:2px solid rgba(78,84,50,.25)}
  .steps{grid-template-columns:minmax(0,1fr)}
  .csteps{grid-template-columns:minmax(0,1fr)}
  .care-grid{grid-template-columns:minmax(0,1fr)}
  .mark-row{grid-template-columns:minmax(0,1fr);gap:28px}
  .mark-plate{max-width:280px}
  .top{position:static}
  .top .wrap{row-gap:10px}
  .nav{gap:14px 18px;width:100%;justify-content:flex-start}
  .nav a.navlink{display:inline-flex;align-items:center;min-height:44px}
  .nav .btn{margin-left:auto}
  section{padding-block:52px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* 404 page */
.notfound{min-height:100vh;display:flex;align-items:center;background:var(--olive);color:var(--paint)}
.notfound-body{display:flex;flex-direction:column;gap:18px;padding-block:64px}
.notfound .label{color:var(--brass)}
.notfound h1{font-size:clamp(48px,9vw,96px);font-weight:900;color:var(--paint)}
.notfound p{max-width:42ch}
.notfound .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.notfound .btn-olive{background:var(--paint);color:var(--olive-dark)}
.notfound .btn-olive:hover{background:var(--paper)}
