:root{--paper:#f7f5ef;--ink:#23231f;--muted:#65655c;--line:#d5d4ca;--blue:#293bca;--lime:#e7eea4;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.06;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.045em}p+p{margin-top:1em}.wrap{max-width:1500px;margin:auto;padding:0 5%}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;z-index:20;padding:12px}.announcement{background:var(--lime);text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:8px 18px}.masthead{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:24px}.brand{font-size:48px;font-weight:900;letter-spacing:-.095em;line-height:1}.brand .dot{color:var(--blue)}.tagline{font-size:12px;line-height:1.45;max-width:240px;margin-right:auto}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 12px}.nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding:13px 0;font-size:12px;letter-spacing:.03em}.nav a{position:relative}.nav a[aria-current=page]{color:var(--blue)}.nav a:hover:after,.nav a[aria-current=page]:after{content:'';position:absolute;left:0;right:0;bottom:-14px;height:2px;background:var(--blue)}.eyebrow{font-size:10px;letter-spacing:.17em;text-transform:uppercase;line-height:1.5;color:var(--blue);font-weight:600}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:650px;padding:45px 0 55px;gap:7%}.hero-copy{align-self:center;padding:30px 0}.hero h1{font-size:clamp(58px,6.5vw,100px);margin:25px 0}.hero h1 em{font-weight:400;color:var(--blue)}.hero p.description{font-size:16px;color:var(--muted);max-width:390px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px}.button{background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:13px 23px;border:1px solid var(--ink);font-size:12px;letter-spacing:.03em;min-height:46px}.button:hover{background:var(--blue);border-color:var(--blue)}.button.secondary{background:transparent;color:var(--ink)}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding:5px 0;display:inline-block}.text-link:hover{color:var(--blue);border-color:var(--blue)}.hero-figure{margin:0;position:relative;background:#deded3;min-height:590px}.hero-figure>img{width:100%;height:590px;object-fit:cover;object-position:center 30%}.hero-caption{font-size:10px;display:flex;justify-content:space-between;gap:15px;padding:10px 0;background:var(--paper);color:var(--muted)}.vertical-note{position:absolute;top:20px;right:16px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.12em;background:var(--paper);padding:10px 6px}.intro-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:1fr 2fr;gap:50px}.intro-line p:last-child{font-family:var(--serif);font-size:30px;line-height:1.25;max-width:700px;letter-spacing:-.02em}.section{padding:80px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-head h2{font-size:50px;margin-top:10px}.section-head p{max-width:360px;font-size:14px;color:var(--muted)}.grid{display:grid;gap:24px}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-width:0}.tile-media{position:relative;overflow:hidden;background:#e5e3da;display:block}.tile-media img{width:100%;height:430px;object-fit:cover;transition:transform .4s}.tile-media:hover img{transform:scale(1.025)}.tile h3{font-family:var(--serif);font-size:28px;letter-spacing:-.025em;margin:17px 0 7px}.tile p{font-size:13px;color:var(--muted)}.tile-foot{font-size:10px;letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between;margin-top:12px}.label{position:absolute;left:14px;top:14px;background:var(--paper);font-size:9px;letter-spacing:.09em;text-transform:uppercase;padding:5px 10px}.worlds{padding-top:0}.worlds .tile-media img{height:310px}.solar-band{background:#e4e7dc;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:45px}.solar-band h2{font-size:56px;margin:18px 0 22px}.solar-band p{max-width:420px;font-size:14px;color:#53584d}.solar-band img{width:100%;height:auto}.quote{padding:80px 10%;text-align:center;border-bottom:1px solid var(--line)}.quote p{font-family:var(--serif);font-size:clamp(30px,4vw,52px);letter-spacing:-.03em;line-height:1.2}.quote .eyebrow{margin-top:24px;font-family:Arial;font-size:10px;letter-spacing:.12em}.page-head{padding:65px 0 45px;display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:end}.page-head h1{font-size:clamp(52px,6vw,88px);margin-top:16px}.page-head .lead{max-width:490px;color:var(--muted);font-size:17px}.page-head .lead a{color:var(--blue);text-decoration:underline}.page-head.full{grid-template-columns:1fr}.page-head.full .lead{max-width:700px;margin-top:24px}.project{padding:50px 0 70px;border-top:1px solid var(--line)}.project-intro{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;margin-bottom:30px}.project h2{font-size:42px;margin:12px 0 15px}.project-intro p{font-size:15px;color:var(--muted)}.metadata{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:18px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery figure{margin:0}.gallery button{padding:0;border:0;background:#e8e5dd;width:100%;display:block;overflow:hidden}.gallery img{width:100%;height:360px;object-fit:contain;transition:transform .3s}.gallery button:hover img{transform:scale(1.025)}.gallery figcaption{font-size:11px;color:var(--muted);margin-top:8px}.gallery.wide{grid-template-columns:1fr 1fr}.gallery.wide img{height:420px}.gallery.full{grid-template-columns:1fr}.gallery.full img{height:auto;max-height:850px}.number{color:var(--blue);font-size:11px}.shop-state{background:var(--lime);padding:22px 26px;margin:8px 0 38px;display:flex;gap:25px;justify-content:space-between;align-items:center}.shop-state p{font-size:13px;max-width:750px}.shop-collection .tile-media{height:330px;display:grid;place-items:center}.shop-collection .tile-media img{height:330px;width:100%;object-fit:cover}.tee-drawing{width:180px;height:200px;color:var(--blue)}.shop-collection .tee-background{background:#e2e6ed}.shop-collection .fabric-background{background:#e4d5c5}.shop-collection h3{font-size:32px}.faq{border-top:1px solid var(--line);padding:40px 0 70px}.faq h2{font-size:38px;margin-bottom:25px}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq summary{cursor:pointer;font-size:14px}.faq p{max-width:700px;color:var(--muted);font-size:14px;margin:14px 0}.about-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;padding-bottom:70px}.about-layout img{width:100%;max-height:630px;object-fit:cover}.about-layout h2{font-size:40px;margin-bottom:25px}.about-layout p{font-size:16px;color:var(--muted)}.contact-box{border-top:1px solid var(--line);padding:35px 0;margin-top:38px}.contact-box h2{font-size:36px}.contact-box p{font-size:14px}.footer{padding:48px 0 22px;margin-top:40px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:40px;border-bottom:1px solid var(--line)}.footer .brand{font-size:66px}.footer p{font-size:12px;color:var(--muted);margin-top:14px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 36px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);padding-top:18px}.lightbox{border:0;background:var(--paper);width:min(1100px,94vw);max-height:94vh;padding:25px}.lightbox::backdrop{background:#10120fe6}.lightbox .close{float:right;border:1px solid var(--line);background:transparent;min-width:44px;min-height:44px}.lightbox img{max-width:100%;max-height:72vh;object-fit:contain;margin:auto}.lightbox p{font-size:12px;margin-top:12px}.product-detail{border:1px solid var(--line);padding:18px}.product-detail label{display:block;font-size:12px;margin:10px 0}.product-detail select{width:100%;padding:10px}.product-detail .button{margin-top:15px}.empty{display:none}body.dialog-open{overflow:hidden}@media(min-width:1600px){.hero{min-height:760px}.hero-figure>img{height:700px}}@media(max-width:900px){.tagline{max-width:190px}.hero{gap:30px;min-height:0}.hero h1{font-size:65px}.hero-figure{min-height:480px}.hero-figure>img{height:480px}.three{gap:15px}.tile-media img{height:340px}.worlds .tile-media img{height:240px}.solar-band{gap:25px;padding:30px}.solar-band h2{font-size:45px}.project-intro{gap:30px}.gallery img{height:290px}.about-layout{gap:30px}}@media(max-width:640px){.wrap{padding:0 6%}.announcement{font-size:9px}.masthead{padding:20px 0;gap:16px}.brand{font-size:39px}.tagline{font-size:10px;max-width:155px}.menu-toggle{display:block;font-size:11px}.nav{display:none;flex-direction:column;padding:20px 0;gap:17px}.nav.open{display:flex}.nav a:after{display:none}.hero{display:flex;flex-direction:column;padding:30px 0 35px;gap:28px}.hero-copy{padding:10px 0}.hero h1{font-size:64px;margin:19px 0}.hero p.description{font-size:15px}.actions{margin-top:24px;gap:20px}.hero-figure{min-height:0}.hero-figure>img{height:520px;object-position:center top}.hero-caption{font-size:9px}.intro-line{grid-template-columns:1fr;gap:18px;padding:25px 0}.intro-line p:last-child{font-size:28px}.section{padding:50px 0}.section-head{display:block;margin-bottom:24px}.section-head h2{font-size:42px}.section-head p,.section-head>.text-link{margin-top:20px}.three,.two{grid-template-columns:1fr;gap:35px}.tile-media img{height:470px;object-position:center 25%}.worlds{padding-top:0}.worlds .tile-media img{height:330px}.solar-band{grid-template-columns:1fr;padding:25px;gap:25px}.solar-band h2{font-size:45px}.quote{padding:50px 0}.page-head{grid-template-columns:1fr;gap:26px;padding:42px 0 35px}.page-head h1{font-size:57px}.page-head .lead{font-size:16px}.project{padding:34px 0 40px}.project-intro{grid-template-columns:1fr;gap:15px}.project h2{font-size:36px}.gallery,.gallery.wide{grid-template-columns:1fr 1fr;gap:12px}.gallery img,.gallery.wide img{height:260px}.gallery.full{grid-template-columns:1fr}.gallery figcaption{font-size:10px}.shop-state{display:block;padding:20px}.shop-state .eyebrow{margin-bottom:10px}.shop-collection .tile-media{height:380px}.shop-collection .tile-media img{height:380px}.about-layout{grid-template-columns:1fr;gap:35px}.footer-top{display:block}.footer-links{margin-top:30px;gap:12px 20px}.footer-bottom{flex-direction:column;gap:6px}.lightbox{padding:15px}.lightbox img{max-height:65vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.nav,.announcement,.menu-toggle,.actions,.footer,.lightbox{display:none}.wrap{padding:0}.gallery{grid-template-columns:repeat(3,1fr)}.project{break-inside:avoid}body{background:white}}
.menu-toggle{white-space:nowrap;flex-shrink:0}.product-detail+h2{font-family:var(--serif)}
@media(max-width:380px){.masthead{gap:12px}.masthead .brand{font-size:34px}.tagline{font-size:9px}.menu-toggle{padding:8px;font-size:10px}}

.archive-entry{margin:0 0 32px}.archive-copy{max-width:760px}.archive-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px 24px;padding-left:20px}.archive-list a{font-size:15px}.archive-copy p{overflow-wrap:anywhere}

.shop-products { margin-bottom: 3rem; }
.shop-textile-intro { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(1rem, 4vw, 3rem); align-items: center; margin: 1.25rem 0 2rem; }
.shop-photo { display: block; padding: 0; border: 0; background: transparent; text-align: left; cursor: zoom-in; }
.shop-photo:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.shop-photo img { display: block; width: 100%; height: auto; }
.shop-overview-photo, .shop-card-photo { width: 100%; }
.shop-card-photo img { aspect-ratio: 1; object-fit: contain; background: #e5e3da; }
.shop-detail-photo { width: 5rem; margin-top: .75rem; }
@media (max-width: 600px) {
  .shop-textile-intro { grid-template-columns: 1fr; }
}
