:root {
  color-scheme: light;
  --paper: #fff3dd;
  --white: #fffaf1;
  --ink: #332b25;
  --muted: #695c4f;
  --line: #ead5b9;
  --coral: #c8694e;
  --gold: #e2aa61;
  --display: 'Avenir Next', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --serif: Georgia, 'Times New Roman', serif;
}
* {box-sizing:border-box}
html { scroll-behavior: smooth }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--display); -webkit-font-smoothing: antialiased }
a { color:inherit; text-decoration:none }
img { display:block; max-width:100%; height:auto }
button, a { -webkit-tap-highlight-color: transparent }
a:focus-visible {outline:2px solid var(--coral); outline-offset:5px}
::selection { background:#f6d9c8; color:#222 }
.skip {position:absolute;top:-100px;left:18px;background:#fff;padding:10px;z-index:100}
.skip:focus {top:14px}
.site-shell {overflow:hidden}
.header {max-width:1400px; height:96px; padding:0 5.5%; margin:auto; display:flex; align-items:center; gap:40px; border-bottom:1px solid var(--line)}
.brand {display:inline-flex; align-items:baseline; gap:7px; flex-shrink:0}
.brand-main {font-weight:800; font-size:27px; letter-spacing:-1.7px}
.brand-period {color:var(--coral)}
.brand-sub {font-size:10px;letter-spacing:3.2px;font-weight:800;margin-left:3px}
.nav {display:flex;gap:30px;margin-left:auto}
.nav a {font-size:12px; font-weight:600; color:#444d48;transition:color .2s}
.nav a:hover {color:var(--coral)}
.header-contact {font-size:12px;border:1px solid #c9cec7;border-radius:100px;padding:12px 20px;white-space:nowrap;font-weight:700;transition:background .2s,border-color .2s}
.header-contact span {margin-left:12px}.header-contact:hover{background:#f0ebe2;border-color:#a4aaa3}
.hero {max-width:1400px; margin:0 auto; padding:75px 5.5% 95px; display:grid;grid-template-columns: .93fr 1.07fr;gap:4.5%;align-items:center;min-height:710px}
.hero-copy {max-width:610px;position:relative;z-index:1}
.eyebrow {font-size:11px;letter-spacing:2.3px;font-weight:800;color:var(--coral);display:flex;align-items:center;gap:13px;margin-bottom:28px}
.eyebrow-line {display:block;width:24px;height:1px;background:var(--coral)}
h1,h2,h3,p,figure {margin:0}
h1 {font-size:clamp(57px,6vw,100px);line-height:1.04;letter-spacing:-5.3px;font-weight:650}
.italic-word,h2 em {font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.05em}
.italic-word {white-space:nowrap}
.hero-intro {font-size:16px;line-height:1.85;color:var(--muted);max-width:475px;margin:31px 0 30px}
.hero-actions {display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.btn {display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:51px;padding:14px 22px;border-radius:40px;font-size:12px;font-weight:700;letter-spacing:.1px;transition:transform .2s,background .2s;white-space:nowrap}
.btn-dark {background:var(--ink);color:white}.btn-dark:hover {transform:translateY(-2px);background:#434b46}
.text-link {font-size:12px;font-weight:700;padding:8px 0;border-bottom:1px solid #727b75;white-space:nowrap;transition:color .2s}
.text-link span {margin-left:16px}.text-link:hover{color:var(--coral)}
.quiet-meta {color:#88908b;font-size:9px;letter-spacing:1.55px;font-weight:750;margin-top:80px}
.dot {margin:0 5px}
.hero-visual {position:relative;min-width:0;margin-top:0}
.hero-art-wash {position:absolute;inset:7% 2% 9% 3%;background:radial-gradient(ellipse at 52% 48%,#f5e9dc 3%, #f7f0e7 53%,rgba(247,240,231,0) 76%);z-index:-1}
.hero-visual img {width:100%;min-height:450px;max-height:590px;object-fit:contain}
.hero-visual figcaption {display:flex;justify-content:space-between;gap:12px;padding:10px 7%;font-size:9px;font-weight:700;color:#88908b;letter-spacing:1.2px}
.section {max-width:1400px;padding:100px 5.5%;margin:auto}
.section-index {font-size:10px;font-weight:800;letter-spacing:2px;color:#9c7268;display:flex;align-items:center;gap:14px;margin-bottom:24px}
.section-index span {display:inline-block;height:1px;width:23px;background:#bbaca6}
h2 {font-size:clamp(38px,4.5vw,67px);font-weight:650;letter-spacing:-2.5px;line-height:1.14}
h2 em{color:var(--coral)}
.section-header {display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:40px}
.section-header-copy {font-size:14px;color:var(--muted);line-height:1.85;max-width:325px;padding-bottom:7px}
.category-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.category {border-radius:6px;padding:18px 17px 20px;min-width:0}
.category-peach {background:#f5e7e0}.category-mint{background:#e5eee6}.category-blue{background:#e4ebf0}.category-cream{background:#f4ecd8}
.category-art {height:200px;display:flex;align-items:center;justify-content:center}
.category-art img {width:95%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(100,75,60,.07));transition:transform .3s}
.category:hover .category-art img{transform:translateY(-7px) rotate(-2deg)}
.category-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(47,50,46,.15);padding-top:13px;gap:8px}
.category-number{font-size:9px;color:#818981;letter-spacing:1px}
.category h3 {font-size:15px;margin-top:7px;font-weight:650;letter-spacing:-.3px}
.corner-arrow {font-size:17px;font-family:var(--serif);color:#545b56}
.category-note {font-size:11px;color:#929892;margin-top:15px;text-align:right}
.craft {display:grid;grid-template-columns:1.12fr .88fr;gap:5.5%;align-items:center;padding-top:92px;padding-bottom:116px}
.craft-image {background:#f1eee7;position:relative;border-radius:4px;min-height:430px;display:flex;align-items:center;justify-content:center}
.craft-image img {max-width:96%;width:100%;height:430px;object-fit:contain;mix-blend-mode:multiply}
.image-note {position:absolute;bottom:21px;left:22px;color:#8b8980;font-size:9px;font-weight:700;letter-spacing:1.5px}
.craft-copy h2{font-size:clamp(38px,4.2vw,61px)}
.craft-copy p:not(.section-index):not(.craft-footnote){margin-top:27px;font-size:15px;line-height:1.95;color:var(--muted);max-width:490px}
.craft-footnote {font-size:10px!important;margin-top:42px!important;letter-spacing:1.25px;color:#969a96!important;font-weight:700;text-transform:uppercase}
.work {display:grid;grid-template-columns:.82fr 1.18fr;gap:6%;align-items:center;padding-top:50px;padding-bottom:130px}
.work-head p:not(.section-index){font-size:15px;line-height:1.9;color:var(--muted);margin:26px 0;max-width:390px}
.work-art {position:relative;background:#e9e9e3;min-height:440px;display:flex;align-items:center;justify-content:center;border-radius:4px}
.work-art img {width:100%;height:440px;object-fit:contain}
.work-caption {position:absolute;bottom:22px;left:24px;font-size:9px;letter-spacing:1.4px;font-weight:700;color:#92948f}
.contact {position:relative;background:#efe4d3;overflow:hidden}
.contact-inner {position:relative;z-index:1;max-width:1400px;margin:auto;text-align:center;display:flex;flex-direction:column;align-items:center;padding:110px 24px 112px}
.contact .section-index {justify-content:center}
.contact h2 {font-size:clamp(54px,6vw,91px);letter-spacing:-4px}
.contact p:not(.section-index) {color:#676b65;font-size:15px;line-height:1.85;margin:25px auto 32px;max-width:470px}
.contact .btn {padding-left:26px;padding-right:26px}
.contact-email {margin-top:20px;font-size:12px;color:#71736d;border-bottom:1px solid #a9ada3;padding-bottom:4px}
.contact-scribble {position:absolute;font-size:380px;line-height:1;color:#e3c8ad;left:-85px;bottom:-100px;transform:rotate(17deg);font-family:var(--serif);opacity:.38;pointer-events:none}
.footer {max-width:1400px;margin:auto;padding:45px 5.5% 55px;display:flex;justify-content:space-between;gap:28px;align-items:end}
.footer-brand{font-weight:800;letter-spacing:-1.3px;font-size:21px}.footer-brand span{color:var(--coral)}
.footer p {margin-top:8px;font-size:9px;color:#949a94;letter-spacing:1.5px;font-weight:700}
.footer-side {display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:9px;font-weight:750;letter-spacing:1.2px;color:#737b74}
.footer-side a {color:var(--ink)}.footer-side a:hover{color:var(--coral)}
@media (max-width:1100px){
 .header{gap:20px}.nav{gap:18px}.hero{min-height:600px;padding-top:50px;padding-bottom:55px}
 h1{font-size:clamp(55px,6.6vw,80px);letter-spacing:-4px}
 .category-art{height:155px}.category h3{font-size:13px}
 .work-art,.work-art img{height:370px;min-height:370px}
}
@media (max-width:740px){
 .header{height:72px;padding:0 6%;gap:12px}.brand-main{font-size:23px}.brand-sub{font-size:9px;letter-spacing:2px}
 .nav{display:none}.header-contact{margin-left:auto;font-size:11px;padding:11px 14px}.header-contact span{margin-left:6px}
 .hero{display:flex;flex-direction:column;gap:23px;align-items:stretch;padding:63px 6% 55px;min-height:auto}
 h1{font-size:clamp(49px,11.4vw,77px);letter-spacing:-3.6px;line-height:1.07}
 .hero-intro{font-size:14px;margin:23px 0 26px;line-height:1.9}
 .eyebrow{font-size:10px;margin-bottom:25px}.hero-actions{gap:22px}.btn{min-height:46px}
 .quiet-meta{margin-top:42px;font-size:8px}
 .hero-visual img{min-height:0;max-height:490px}
 .hero-visual figcaption{font-size:7px}
 .section{padding:66px 6%}.section-index{font-size:9px;margin-bottom:20px}
 h2{font-size:clamp(36px,8.1vw,49px);letter-spacing:-1.8px}
 .section-header{display:block;margin-bottom:27px}
 .section-header-copy{margin-top:20px;font-size:13px;line-height:1.8}
 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .category{padding:12px 11px 14px}.category-art{height:160px}.category h3{font-size:12px}.category-note{font-size:9px;line-height:1.6}
 .craft{grid-template-columns:1fr;gap:35px}.craft-image{min-height:330px;order:2}.craft-image img{height:330px}
 .craft-copy{order:1}.craft-copy h2{font-size:clamp(37px,8.2vw,50px)}
 .craft-copy p:not(.section-index):not(.craft-footnote){font-size:13px;margin-top:20px}
 .craft-footnote{margin-top:24px!important;font-size:9px!important}
 .work{grid-template-columns:1fr;gap:33px;padding-top:50px;padding-bottom:74px}
 .work-head p:not(.section-index){font-size:13px}.work-art,.work-art img{height:320px;min-height:320px}
 .contact-inner{padding:83px 6% 89px}.contact h2{font-size:clamp(47px,10vw,69px);letter-spacing:-3px}.contact p:not(.section-index){font-size:13px}
 .contact-scribble{font-size:270px;left:-90px;bottom:-60px}
 .footer{padding:35px 6% 40px;align-items:start;flex-direction:column}.footer-side{gap:13px}
}
@media (max-width:365px){
 h1{font-size:46px;letter-spacing:-3px}.italic-word{white-space:normal}
 .brand-main{font-size:21px}.brand-sub{font-size:8px}
 .header-contact{padding:10px}.category-art{height:130px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* --- V0.2: full navigation, illustrated craft, journal, and subpages --- */
.nav { gap: 22px; }
.nav a[aria-current="page"] { color: var(--coral); }
.mobile-nav { display:none; }
.category { display:block; transition:transform .22s ease; }
.category:hover { transform:translateY(-3px); }
.craft-image { background:radial-gradient(ellipse at 44% 51%, #f5f0e9 10%, #faf8f3 74%); overflow:hidden; border-radius:10px; min-height:560px; }
.craft-image img.factory-parallax-target { width:132%; max-width:none; height:auto; max-height:none; object-fit:contain; mix-blend-mode:normal; will-change:transform; position:relative; left:-4%; }
.craft-image .image-note { bottom:26px;left:22px; }
.journal-teaser {padding-top:20px;padding-bottom:125px;}
.journal-teaser-head {display:flex;gap:65px;justify-content:space-between;align-items:end;margin-bottom:37px;}
.journal-teaser-head > p {font-size:14px;color:var(--muted);line-height:1.85;max-width:340px;padding-bottom:5px;}
.journal-teaser-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.journal-tile {min-height:294px;border-radius:6px;padding:24px 27px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s ease;}
.journal-tile:hover {transform:translateY(-4px);}
.journal-tile-one {background:#e5eee6;}.journal-tile-two {background:#eee4d9;}
.journal-tile-number {font-size:10px;letter-spacing:1.7px;font-weight:800;color:#697a70;}
.journal-tile-mark {position:absolute;left:50%;top:37%;transform:translate(-50%,-50%);font-family:Georgia,serif;font-size:155px;line-height:1;color:rgba(106,132,117,.35);pointer-events:none;}
.journal-tile-two .journal-tile-mark {font-size:240px;color:rgba(161,112,87,.29);top:36%;}
.journal-tile-bottom {margin-top:auto;border-top:1px solid #b4bfb7;display:flex;justify-content:space-between;align-items:center;padding-top:17px;font-size:16px;letter-spacing:-.4px;}
.journal-tile-bottom > span {font-size:23px;}
.journal-teaser-footer {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;}
.journal-teaser-footer > span {font-size:11px;color:#898f88;letter-spacing:.3px;}
/* Editorial subpage system */
.sub-intro {max-width:1400px;margin:auto;padding:104px 5.5% 95px;}
.sub-intro h1 {font-size:clamp(64px,7vw,116px);font-weight:650;letter-spacing:-5px;line-height:1.08;}
.sub-intro h1 em {font-family:var(--serif);font-weight:400;font-style:italic;color:var(--coral);letter-spacing:-.05em;}
.sub-lead {max-width:660px;margin-top:27px;color:var(--muted);font-size:17px;line-height:1.9;}
.sub-content {max-width:1400px;margin:0 auto;padding:0 5.5% 130px;}
.sub-section-heading {display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:26px;}
.sub-section-heading > p:last-child {font-size:13px;color:var(--muted);}
.product-line-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.product-line {min-height:300px;padding:27px 30px;display:flex;flex-direction:column;justify-content:space-between;border-radius:7px;scroll-margin-top:40px;}
.product-line-peach {background:#f5e7e0;}.product-line-mint{background:#e5eee6;}.product-line-blue{background:#e4ebf0;}.product-line-yellow{background:#f4ecd8;}
.product-line-num {font-size:11px;font-weight:750;letter-spacing:1.8px;color:#7d8981;}
.product-line h2 {font-size:clamp(27px,3vw,41px);letter-spacing:-1.2px;}
.product-line p {font-size:14px;line-height:1.8;color:#5a645e;max-width:310px;margin-top:10px;}
.sub-cta-strip {margin-top:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;display:flex;align-items:center;justify-content:space-between;gap:35px;}
.sub-cta-strip span {font-size:10px;color:var(--coral);letter-spacing:1.7px;font-weight:750;}
.sub-cta-strip h2 {font-size:clamp(25px,3vw,39px);letter-spacing:-1px;margin-top:8px;}
.capability-rows {border-top:1px solid var(--line);}
.capability-rows article {display:grid;grid-template-columns:80px 1fr;border-bottom:1px solid var(--line);padding:31px 0;gap:25px;}
.capability-rows article > span {font-size:11px;letter-spacing:1px;color:var(--coral);padding-top:10px;}
.capability-rows h2 {font-size:clamp(27px,3.6vw,48px);letter-spacing:-1.5px;}
.capability-rows p {color:var(--muted);font-size:14px;line-height:1.9;max-width:600px;margin-top:13px;}
.about-art {max-width:1400px;margin:0 auto;padding:0 5.5% 100px;}
.about-art-image {background:radial-gradient(ellipse at center,#f4ede4 0%,#faf8f3 73%);border-radius:8px;display:grid;place-items:center;}
.about-art-image img {width:100%;height:auto;}
.about-art-caption {display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1.4px;font-weight:750;color:#949990;padding:18px 4px;}
.about-story {display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;}
.about-story h2 {font-size:clamp(37px,4.2vw,58px);}
.about-story > div:last-child p {color:var(--muted);font-size:16px;line-height:1.9;margin-bottom:22px;}
.film-note {background:#efe9dd;padding:85px max(5.5%,calc((100% - 1246px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;}
.film-note h2 {font-size:clamp(36px,4.4vw,60px);}
.film-note p:not(.section-index) {color:var(--muted);line-height:1.9;font-size:14px;max-width:420px;margin-top:21px;}
.film-visual {min-height:300px;display:flex;justify-content:space-between;flex-direction:column;background:#e1d8c9;border-radius:8px;padding:24px;letter-spacing:1.5px;font-size:10px;color:#80766d;font-weight:750;}
.film-visual-symbol {text-align:center;font-size:140px;font-family:Georgia,serif;font-weight:400;line-height:1;color:#baa99a;}
.journal-welcome {display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:40px;align-items:end;}
.journal-welcome > p {font-size:15px;line-height:1.9;color:var(--muted);max-width:480px;}
.journal-topic-grid {display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.journal-topic {background:#e7ede5;padding:28px;min-height:290px;position:relative;overflow:hidden;border-radius:7px;display:flex;flex-direction:column;align-items:start;}
.journal-topic:nth-child(2) {background:#eee4d9;}
.journal-topic > span:first-child {font-size:10px;color:#7d8b7f;letter-spacing:1.5px;font-weight:800;}
.journal-topic-glyph {position:absolute;right:29px;top:21px;font-family:Georgia,serif;font-size:110px;line-height:1;color:#a2b5a5;}
.journal-topic:nth-child(2) .journal-topic-glyph{color:#cfbba5;font-size:150px;top:-9px;}
.journal-topic h3 {font-size:26px;letter-spacing:-.9px;margin-top:auto;z-index:1;}
.journal-topic p {font-size:13px;color:var(--muted);line-height:1.7;max-width:310px;margin-top:8px;z-index:1;}
.contact-details {display:grid;grid-template-columns:1fr 1fr;gap:13%;}
.contact-email-block h2 {font-size:clamp(35px,4.6vw,64px);}
.contact-big-email {display:inline-block;font-size:clamp(17px,2vw,25px);font-weight:700;border-bottom:1px solid #aeb3aa;padding-bottom:9px;margin-top:43px;letter-spacing:-.5px;}
.contact-big-email span {font-size:19px;margin-left:7px;}
.contact-email-block > p:last-child {color:var(--muted);font-size:12px;margin-top:15px;}
.contact-prep {background:#efe9dd;padding:35px;border-radius:7px;}
.contact-prep h3 {font-size:28px;letter-spacing:-.8px;}
.contact-prep ul {padding-left:21px;margin:22px 0;}
.contact-prep li {padding:8px 0;color:#536059;font-size:14px;line-height:1.6;}
.contact-prep > p:not(.section-index) {color:#69726a;font-size:13px;line-height:1.8;margin-bottom:30px;}
@media (max-width:1180px) {
  .nav{gap:13px;}.nav a{font-size:11px;}
  .header{gap:20px;}.header-contact{padding:11px 15px;}
}
@media (max-width:900px) {
  .craft-image img.factory-parallax-target {transform:none!important;will-change:auto;}
}
@media (max-width:740px) {
  .mobile-nav {display:block;margin-left:auto;position:relative;}
  .mobile-nav summary {display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;user-select:none;font-size:12px;font-weight:700;padding:13px 2px;}
  .mobile-nav summary::-webkit-details-marker{display:none;}
  .mobile-menu-lines{width:19px;height:13px;display:flex;flex-direction:column;justify-content:space-between;}
  .mobile-menu-lines i{height:1.5px;width:19px;background:var(--ink);display:block;}
  .mobile-nav[open] nav {position:absolute;top:calc(100% + 12px);right:-12px;min-width:218px;background:#fffcf7;border:1px solid var(--line);border-radius:9px;z-index:20;box-shadow:0 14px 36px rgba(36,41,38,.12);padding:11px;display:flex;flex-direction:column;}
  .mobile-nav nav a {font-size:14px;padding:12px;border-radius:4px;}
  .mobile-nav nav a[aria-current="page"],.mobile-nav nav a:hover{color:var(--coral);background:#faf3ed;}
  .header-contact{display:none;}
  .craft-image {min-height:315px;}
  .craft-image img.factory-parallax-target {width:114%;height:auto;left:-1%;}
  .journal-teaser {padding-top:0;padding-bottom:75px;}
  .journal-teaser-head {display:block;margin-bottom:25px;}
  .journal-teaser-head > p {font-size:13px;margin-top:20px;}
  .journal-teaser-grid {gap:12px;}
  .journal-tile {min-height:209px;padding:15px;}
  .journal-tile-number{font-size:8px;}
  .journal-tile-mark{font-size:93px;top:37%;}
  .journal-tile-two .journal-tile-mark{font-size:146px;}
  .journal-tile-bottom{font-size:13px;padding-top:12px;}
  .journal-teaser-footer{flex-wrap:wrap;}
  .sub-intro{padding:69px 6% 65px;}
  .sub-intro h1{font-size:clamp(49px,11vw,76px);letter-spacing:-3.5px;}
  .sub-lead{font-size:14px;line-height:1.85;}
  .sub-content{padding:0 6% 75px;}
  .sub-section-heading{display:block;}.sub-section-heading > p:last-child{margin-top:10px;}
  .product-line-grid{gap:12px;}
  .product-line{min-height:244px;padding:18px;}
  .product-line h2{font-size:22px;}
  .product-line p{font-size:12px;}
  .sub-cta-strip{align-items:start;flex-direction:column;gap:20px;margin-top:35px;}
  .capability-rows article{grid-template-columns:35px 1fr;gap:12px;padding:25px 0;}
  .capability-rows h2{font-size:29px;}
  .about-art{padding:0 6% 66px;}
  .about-art-caption{font-size:8px;}
  .about-story{grid-template-columns:1fr;gap:20px;}
  .about-story > div:last-child p{font-size:14px;}
  .film-note{grid-template-columns:1fr;padding:60px 6%;gap:30px;}
  .film-visual{min-height:220px;}
  .journal-welcome{grid-template-columns:1fr;gap:22px;}
  .journal-welcome > p{font-size:13px;}
  .journal-topic-grid{gap:12px;}.journal-topic{min-height:237px;padding:18px;}
  .journal-topic h3{font-size:20px;}.journal-topic p{font-size:12px;}
  .journal-topic-glyph{font-size:76px;}
  .contact-details{grid-template-columns:1fr;gap:45px;}
  .contact-prep{padding:26px;}
}
@media (max-width:400px) {
  .brand-main{font-size:20px;}.brand-sub{font-size:8px;letter-spacing:1.5px;}
  .journal-tile{min-height:182px;}.journal-tile-bottom{font-size:11px;}
  .product-line-grid{grid-template-columns:1fr;}.product-line{min-height:190px;}
}
@media (prefers-reduced-motion:reduce){.factory-parallax-target{transform:none!important}}


/* V0.3 — Happyfoam Craft | Warm cream editorial identity */
body { background:
  radial-gradient(ellipse 1050px 700px at 82% 0%, rgba(255,224,174,.68),transparent 76%),
  linear-gradient(180deg,#fff3dd 0%,#fff6e5 38%,#fff1db 100%); }
.header { border-bottom-color:#e8cfaa; }
.brand-main { color:#392c25; }
.brand-period { color:#d47b53; }
.nav a { color:#64564a; }
.header-contact { border-color:#cfae8a; background:#fff7e8; }
.header-contact:hover { background:#f5dabc; border-color:#c69268; }
.nav a[aria-current="page"] {color:#bf6248;}
.hero { position:relative; isolation:isolate; }
.hero::before { content:""; position:absolute;inset:4% -14% 3% 20%;background:radial-gradient(ellipse at 65% 51%,rgba(253,208,143,.4),rgba(255,229,185,.21) 42%,transparent 71%);z-index:-1;pointer-events:none; }
.hero-art-wash { background:radial-gradient(ellipse at center,#f7d9b3 0%,#fbe6c5 42%,rgba(255,239,207,0) 73%); }
.hero-intro {color:#64554a;}
.eyebrow {color:#b65c42;}
.eyebrow-line {background:#bd6b51;}
.quiet-meta { color:#a0856e; }
.hero-visual figcaption {color:#9b8572;}
.btn-dark { background:#3a3029;color:#fff7ec;box-shadow:0 4px 0 rgba(123,71,39,.08); }
.btn-dark:hover {background:#754c38;}
.text-link {border-color:#aa866b;}
.section-index {color:#b1694e;}
.section-index span {background:#c9a78d;}
h2 em {color:#c46b4c;}
.make { background:linear-gradient(150deg,rgba(255,251,244,.87),rgba(255,246,231,.72));border:1px solid rgba(228,185,130,.33);border-radius:21px;padding-top:98px;padding-bottom:90px; }
.category { border-radius:14px;box-shadow:0 12px 30px rgba(153,95,49,.055);border:1px solid rgba(172,117,73,.08); }
.category-peach,.product-line-peach {background:#f7d7c3;}
.category-mint,.product-line-mint {background:#e6e0c2;}
.category-blue,.product-line-blue {background:#f3d8b6;}
.category-cream,.product-line-yellow {background:#f8e3ae;}
.category-bottom { border-color:rgba(105,67,43,.18); }
.category-number { color:#88705f; }
.category h3 {color:#45352b;}
.category-note {color:#a08771;}
.craft { background:linear-gradient(125deg,#f6e1c6 0%,#f9e6ce 46%,#f3d6b4 100%);padding-left:3.2%;padding-right:3.2%;border-radius:22px;margin-top:68px;margin-bottom:54px;box-shadow:0 18px 50px rgba(158,107,58,.065); }
.craft-image { background:radial-gradient(ellipse at 44% 49%,rgba(255,249,229,.72) 0%,rgba(252,232,206,.28) 56%,transparent 83%); }
.craft-image .image-note {color:#9e795e;}
.craft-copy p:not(.section-index):not(.craft-footnote) { color:#655548; }
.craft-footnote {color:#866b59!important;}
.work { padding-top:100px; }
.work-art { border-radius:18px;background:linear-gradient(132deg,#f2d6bd,#f9e5d1 58%,#f5cead); }
.work-caption { color:#927562; }
.journal-teaser { padding-top:43px;padding-bottom:134px; }
.journal-tile {border-radius:16px;box-shadow:0 12px 30px rgba(163,97,57,.06);}
.journal-tile-one { background:#f3d6be; }
.journal-tile-two { background:#f0dcae; }
.journal-tile-number {color:#956c54;}
.journal-tile-mark {color:rgba(176,107,67,.32);}
.journal-tile-two .journal-tile-mark {color:rgba(155,115,42,.27);}
.journal-tile-bottom {border-color:#d4b493;}
.journal-teaser-footer>span {color:#987a61;}
.contact {background:linear-gradient(120deg,#f3d4a8 5%,#f8dcb5 46%,#eebd88 100%);}
.contact-scribble {color:#cc8a59;opacity:.24;}
.contact p:not(.section-index) {color:#6d5242;}
.contact-email {color:#684936;border-color:#b68a6b;}
.footer {color:#594639;}
.footer p {color:#aa8a6c;}
.footer-side {color:#95755e;}
.sub-intro {background:radial-gradient(ellipse 560px 320px at 86% 30%,rgba(248,209,157,.50),transparent 76%);}
.sub-lead {color:#6a594d;}
.product-line {border-radius:17px;border:1px solid rgba(173,115,67,.11);}
.product-line-num {color:#926f57;}
.product-line p {color:#66544a;}
.sub-cta-strip {border-color:#daba95;}
.capability-rows {border-color:#daba95;}
.capability-rows article {border-color:#e5cdad;}
.capability-rows article>span {color:#b96b4a;}
.about-art-image {background:radial-gradient(ellipse at center,#f7e1bc 10%,#fff3dc 77%);border-radius:22px;}
.about-art-caption {color:#96765f;}
.film-note {background:#f0d6b3;}
.film-visual {background:linear-gradient(145deg,#f4dfc3,#eebf8c);border-radius:17px;color:#7b5d48;}
.film-visual-symbol {color:#c99571;}
.journal-topic {background:#f4d1b4;border-radius:17px;}
.journal-topic:nth-child(2) {background:#eddfb2;}
.journal-topic > span:first-child {color:#8b634e;}
.journal-topic-glyph {color:#d6a081;}
.journal-topic:nth-child(2) .journal-topic-glyph {color:#c9b075;}
.contact-prep {background:#f3dbb6;border-radius:17px;}
.contact-prep li,.contact-prep>p:not(.section-index) {color:#6d5847;}
.contact-big-email {border-color:#c99b7c;}
.journal-tile-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;mix-blend-mode:multiply;pointer-events:none;}
/* Data-ready product and journal collections. Currently empty, never fake published work. */
.archive-title-row {display:flex;justify-content:space-between;align-items:end;gap:30px;margin:70px 0 26px;}
.archive-title-row h2 {font-size:clamp(32px,3.3vw,47px);}
.archive-title-row p {max-width:390px;line-height:1.75;color:var(--muted);font-size:13px;}
.portfolio-grid,.article-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.portfolio-card,.article-card {display:flex;flex-direction:column;background:#fff9ec;overflow:hidden;border-radius:16px;border:1px solid #ead6bc;transition:transform .25s ease,box-shadow .25s ease;}
.portfolio-card:hover,.article-card:hover {transform:translateY(-4px);box-shadow:0 14px 32px rgba(145,87,46,.1);}
.portfolio-thumb,.article-thumb {height:205px;display:grid;place-items:center;background:linear-gradient(125deg,#f4d5b4,#f7e3cc);}
.portfolio-thumb img,.article-thumb img {width:100%;height:100%;object-fit:cover;}
.portfolio-card-copy,.article-card-copy {padding:22px;display:flex;flex-direction:column;gap:11px;flex:1;}
.portfolio-card-copy span,.article-card-copy span {font-size:10px;color:#a26a4c;letter-spacing:1.25px;font-weight:800;text-transform:uppercase;}
.portfolio-card-copy h3,.article-card-copy h3 {font-size:23px;letter-spacing:-.6px;line-height:1.25;}
.portfolio-card-copy p,.article-card-copy p {font-size:13px;line-height:1.8;color:#736154;}
.portfolio-card-copy small,.article-card-copy small {font-size:11px;color:#a47c63;margin-top:auto;padding-top:12px;}
.archive-empty {border-radius:18px;padding:55px 6%;background:linear-gradient(125deg,#f6e1c5,#fcebd3);border:1px dashed #d3a97d;display:flex;justify-content:space-between;align-items:center;gap:30px;}
.archive-empty span {text-transform:uppercase;letter-spacing:1.8px;font-size:10px;font-weight:750;color:#b16b4f;}
.archive-empty h3 {font-size:clamp(24px,3vw,41px);max-width:450px;margin-top:13px;letter-spacing:-1.2px;}
.archive-empty p {font-size:14px;color:#735d4e;max-width:380px;line-height:1.8;}
.entry-layout {max-width:930px;margin:0 auto;padding:95px 6% 130px;}
.entry-layout .back-link {display:inline-block;color:#a66a4f;font-size:12px;font-weight:700;margin-bottom:42px;}
.entry-layout h1 {font-size:clamp(45px,6vw,83px);letter-spacing:-3px;}
.entry-intro {margin-top:24px;color:var(--muted);font-size:18px;line-height:1.85;}
.entry-cover {margin:42px 0;border-radius:18px;overflow:hidden;background:#f4d6af;}
.entry-cover img {width:100%;max-height:590px;object-fit:cover;}
.entry-body {max-width:730px;margin:55px auto 0;color:#4e4239;font-size:17px;line-height:2;}
.entry-body p {margin-bottom:25px;}
.entry-meta {margin-top:20px;font-size:11px;color:#9a705b;letter-spacing:1.2px;}
@media(max-width:900px){
  .craft{grid-template-columns:1fr;gap:10px;}
  .archive-title-row{display:block;}.archive-title-row p{margin-top:13px;}
  .portfolio-grid,.article-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:740px){
  .make{padding-top:67px;padding-bottom:69px;border-radius:15px;}
  .craft{padding-left:6%;padding-right:6%;margin-top:30px;margin-bottom:18px;border-radius:16px;gap:20px;}
  .craft-image {min-height:325px;}
  .work{padding-top:70px;}
  .journal-teaser{padding-top:40px;padding-bottom:85px;}
  .journal-tile{border-radius:12px;}
  .portfolio-grid,.article-grid{grid-template-columns:1fr;}
  .archive-empty{display:block;padding:38px 24px;}.archive-empty p{margin-top:17px;}
  .archive-title-row{margin-top:47px;}
  .entry-layout{padding-top:70px;}.entry-body{font-size:15px;}
}

/* ================================================================
   V0.3.1 — soft interactions
   Decorative only: no essential interaction depends on pointer motion.
   JS is progressive enhancement; keyboard, touch and reduced-motion
   users keep the same content and functional navigation.
   ================================================================ */

/* Tiny editorial signals on navigation and call-to-action links. */
@media (hover:hover) and (pointer:fine) {
  .nav a {position:relative;padding:7px 0;}
  .nav a::after {content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--coral);transition:right .28s ease;}
  .nav a:hover::after,.nav a:focus-visible::after,.nav a[aria-current="page"]::after {right:0;}
  .text-link span,.header-contact span,.corner-arrow,.journal-tile-bottom > span,.btn span {display:inline-block;transition:transform .32s cubic-bezier(.2,.8,.2,1);}
  .text-link:hover span,.text-link:focus-visible span,.header-contact:hover span,.category:hover .corner-arrow,.journal-tile:hover .journal-tile-bottom>span,.btn:hover span {transform:translate(4px,-3px);}
  .btn,.header-contact { transform:translate3d(var(--magnet-x, 0px),var(--magnet-y, 0px),0); }
  .btn:hover {transform:translate3d(var(--magnet-x, 0px),calc(var(--magnet-y, 0px) - 2px),0);}

  /* Quiet, restrained card tilt, animated brush-lit highlight. */
  .category,.journal-tile,.portfolio-card,.article-card {
    position:relative;
    isolation:isolate;
    transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--hover-lift,0px));
    transition:transform .36s cubic-bezier(.2,.75,.2,1),box-shadow .36s ease;
    will-change:transform;
  }
  .category::before,.journal-tile::before,.portfolio-card::before,.article-card::before {
    content:"";position:absolute;inset:0;border-radius:inherit;z-index:2;pointer-events:none;
    background:radial-gradient(ellipse 200px 190px at var(--spot-x,50%) var(--spot-y,50%),rgba(255,255,255,.23),transparent 78%);
    opacity:0;transition:opacity .25s ease;
  }
  .category:hover::before,.journal-tile:hover::before,.portfolio-card:hover::before,.article-card:hover::before {opacity:1;}
  .category:hover,.journal-tile:hover,.portfolio-card:hover,.article-card:hover {--hover-lift:-5px;box-shadow:0 18px 38px rgba(124,75,44,.13);}
  .category-art img {transition:transform .4s cubic-bezier(.2,.8,.2,1);}
  .category:hover .category-art img {transform:translate3d(0,-8px,0) rotate(-2deg) scale(1.045);}
  .journal-tile-mark {transition:transform .45s cubic-bezier(.2,.8,.2,1);}
  .journal-tile:hover .journal-tile-mark {transform:translate(calc(-50% + var(--mark-x,0px)),calc(-50% + var(--mark-y,0px))) rotate(5deg);}
  .journal-tile {cursor:pointer;}

  /* The paper illustration follows the pointer by a few pixels. */
  .hero-visual img { transform:translate3d(var(--art-x,0px),var(--art-y,0px),0) rotate(var(--art-rotate,0deg)); transition:transform .16s linear; will-change:transform; }
  .hero-art-wash {transform:translate3d(var(--wash-x,0px),var(--wash-y,0px),0);transition:transform .18s linear;}
  .work-art img {transform:translate3d(var(--work-x,0px),var(--work-y,0px),0);transition:transform .18s linear;will-change:transform;}
  .work-art {overflow:hidden;}
  .work-art img {max-width:95%;}
  .craft-image::before {content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle 220px at var(--craft-x,50%) var(--craft-y,50%),rgba(255,251,235,.22),transparent 95%);opacity:0;transition:opacity .3s ease;}
  .craft-image:hover::before {opacity:1;}
}

/* Never add a hovering/tilting effect to links when keyboard-only. */
@media (prefers-reduced-motion:reduce), (hover:none), (pointer:coarse) {
  .category,.journal-tile,.portfolio-card,.article-card,.btn,.header-contact,.hero-visual img,.hero-art-wash,.work-art img {transform:none!important;will-change:auto!important;}
  .category:hover,.journal-tile:hover,.portfolio-card:hover,.article-card:hover {box-shadow:none;}
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .category:hover,.journal-tile:hover,.portfolio-card:hover,.article-card:hover {
    transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--hover-lift,-5px));
  }
}
