/* Caveat latin-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/caveat-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Caveat latin */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/caveat-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Caveat latin-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/caveat-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Caveat latin */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/caveat-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* DM Sans latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* DM Sans latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* DM Sans latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* DM Sans latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* DM Sans latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* DM Sans latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* DM Sans latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/dm-sans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* DM Sans latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/dm-sans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Playfair Display latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/playfair-display-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Playfair Display latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/playfair-display-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Playfair Display latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/playfair-display-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Playfair Display latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/playfair-display-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Playfair Display latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/playfair-display-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Playfair Display latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/playfair-display-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#20201e;--rose:#b23655;--teal:#00595b;--cream:#fbf8f5;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:radial-gradient(ellipse at 0 20%,#efe7dd80,transparent 35%),radial-gradient(ellipse at 100% 45%,#e7e9de80,transparent 35%),var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b68142;outline-offset:5px}button{border:0;background:none}header,main:not(.admin-app):not(.admin-gate),footer{max-width:1600px;margin:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 4% 12px}.brand img{display:block;width:250px;height:auto;mix-blend-mode:multiply}.header nav{display:flex;align-items:center;gap:32px;font-size:15px}.header nav a,.header nav button{padding:9px 0;white-space:nowrap}.header nav .active{color:var(--rose);border-bottom:2px solid var(--rose)}.header-actions{display:flex;align-items:center;gap:15px}.icon-button{display:grid;place-items:center;padding:6px}.icon-button svg{width:24px;height:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;background:var(--rose);color:white;border:1px solid var(--rose);padding:11px 23px;border-radius:40px;font-size:14px;font-weight:600;white-space:nowrap;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #73362a20}.button.outline{background:transparent;color:var(--rose)}.menu-toggle{display:none}.hero{position:relative;text-align:center;padding:22px 20px 29px}.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(36px,3.65vw,59px);line-height:1.2;letter-spacing:-1.8px;margin:10px 0 12px}.hero em{font-style:normal;color:var(--rose);position:relative}.hero em:after{content:'';position:absolute;height:4px;background:#b28158;border-radius:50%;bottom:-7px;left:3%;width:92%;transform:rotate(-2deg)}.hero p{font-size:18px;color:#605957;margin:17px 0}.benefits{display:flex;justify-content:center;gap:31px;margin-top:21px;font-size:14px;color:#514b48}.benefits span{display:flex;align-items:center;gap:9px}.benefits svg{width:25px;height:25px}.benefits span:first-child{color:var(--rose)}.handwritten{font-family:'Caveat',cursive;font-size:25px;font-weight:500;line-height:1.06;color:var(--rose);display:block}.left-note,.right-note{position:absolute;top:37px;transform:rotate(-11deg)}.left-note{left:4%;text-align:left}.right-note{right:4%;top:65px}.hero>div{position:relative}.creation-paths{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 2%}.path{min-width:0;border-radius:19px;overflow:hidden;background:#fce9e8;border:1px solid #f6e3df}.reference{background:#e4f0ec;border-color:#dcebe6}.path-top{height:280px;position:relative;display:flex;align-items:center;padding:25px 5%;overflow:hidden}.path-copy{position:relative;z-index:1;width:60%}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#8c7168}.path h2{font-family:var(--serif);font-size:clamp(31px,3.1vw,49px);font-weight:600;line-height:1.06;letter-spacing:-1.5px;margin:13px 0}.path h2 em{font-style:normal;color:var(--rose)}.reference h2 em{color:var(--teal);white-space:nowrap}.path p{font-size:15px;line-height:1.65;margin:16px 0 20px}.primary{min-width:218px;font-size:19px;padding:13px 23px;justify-content:space-between}.teal{background:var(--teal);border-color:var(--teal)}.idea-art{position:absolute;right:1%;width:37%;top:13px;text-align:center}.idea-art img{width:100%;height:235px;object-fit:cover;mix-blend-mode:multiply}.idea-art .handwritten{font-size:22px;transform:rotate(-7deg);color:#39302e}.gallery-art{position:absolute;right:-2%;width:44%;top:40px;transform:rotate(3deg)}.gallery-art img{width:100%;mix-blend-mode:multiply}.reference .path-copy{width:68%}.reference .eyebrow{color:#57817a}.product-scene{position:relative}.product-scene>img{display:block;width:100%;height:auto}.product-labels{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:11px 15px 14px;background:linear-gradient(#e5bd9840,#e5bd9860)}.product-labels button{font-size:12px;padding:7px 3px;border-radius:20px;background:#fff9f1e8;white-space:nowrap;transition:background .2s}.product-labels button:hover{background:white;color:var(--rose)}.steps{list-style:none;margin:0;padding:24px 16px 27px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;color:#293047}.steps li{display:flex;align-items:center;flex-direction:column;gap:12px;text-align:center;font-size:13px}.steps svg{width:29px;height:29px;stroke-width:1.5}.reference .steps{color:var(--teal)}.products{padding:31px 2% 36px}.section-heading{display:flex;align-items:center;gap:24px;margin-bottom:20px;padding:0 8px}.section-heading h2{font-family:var(--serif);font-size:29px;letter-spacing:-.7px;margin:5px 0 0;font-weight:600}.section-heading p{font-size:14px;color:#69615c;flex:1}.section-heading .button{font-size:12px;padding:10px 18px}.product-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.product-card{padding:0;text-align:left;min-width:0}.product-card img{display:block;width:100%;aspect-ratio:.9;object-fit:cover;border-radius:10px;transition:transform .25s,box-shadow .25s}.product-card:hover img{transform:translateY(-5px);box-shadow:0 10px 24px #5c403025}.product-card h3{font-size:14px;font-weight:600;margin:12px 0 4px;text-align:center}.product-card p{font-size:12px;color:#766b65;text-align:center;margin:0;line-height:1.5}footer{border-top:1px solid #e8dfd7;margin-top:5px;padding:24px 3%;display:flex;justify-content:space-between;align-items:center;color:#8b7d73;font-size:12px}footer>a{font-family:var(--serif);font-size:22px;color:#51473e}footer>a span{display:block;font-family:'DM Sans',sans-serif;font-size:11px;margin-top:3px}footer p{font-family:'Caveat',cursive;font-size:23px}dialog{border:1px solid #eadfd7;border-radius:20px;width:min(620px,calc(100% - 32px));padding:36px;background:var(--cream);color:var(--ink);box-shadow:0 25px 100px #25180e33}dialog::backdrop{background:#29201966;backdrop-filter:blur(5px)}.close{position:absolute;right:14px;top:10px;font-size:28px}dialog h2{font-family:var(--serif);font-size:30px;margin:5px 0 15px}dialog p{color:#6f625c;line-height:1.65}dialog .detail-img{width:100%;max-height:290px;object-fit:cover;border-radius:10px}dialog label{display:block;margin:20px 0 8px}input,select{width:100%;padding:12px;border:1px solid #daccc2;border-radius:8px;background:white;color:var(--ink)}.upload-zone{padding:24px;border:1px dashed #bf9e90;border-radius:12px;text-align:center}.upload-zone input{font-size:13px}.photo-preview{display:block;max-height:190px;max-width:100%;margin:15px auto;border-radius:8px}.dialog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dialog-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.dialog-grid button{padding:0;font-size:13px}.dialog-grid span{display:block;padding:7px}.modal-note{font-size:13px}.modal-steps{padding-left:22px;line-height:2.1}#search-wrap{max-width:600px;margin:20px auto}#search-wrap label{display:block;margin-bottom:10px}#search-status{font-size:13px}.empty-result{grid-column:1/-1;text-align:center;padding:25px}
@media(min-width:1450px){.hero>div{max-width:1090px;margin:auto}.hero .left-note{left:3%}.hero .right-note{right:2%;font-size:23px}}@media(max-width:1300px){.header{gap:22px;padding-left:3%;padding-right:3%}.brand img{width:210px}.header nav{gap:20px;font-size:14px}.header-actions{gap:10px}.left-note,.right-note{display:none}.path-top{height:285px}.path p{font-size:14px}.idea-art{width:35%;top:32px}.idea-art img{height:210px}.gallery-art{width:39%;top:60px}.eyebrow{font-size:9px;letter-spacing:1.2px}.section-heading{gap:15px}.section-heading h2{font-size:25px}.section-heading p{max-width:240px}.product-labels{gap:4px;padding:9px}.product-labels button{font-size:10px}}@media(max-width:1050px){.header nav{gap:15px}.header-actions .sign-in,.header-actions .icon-button{display:none}.brand img{width:190px}.header{gap:18px}.path-copy{width:67%}.path-top{padding:22px 5%;height:275px}.path h2{font-size:34px}.reference h2 em{white-space:normal}.primary{min-width:180px;font-size:16px}.path p br{display:none}.idea-art{width:33%;top:53px}.idea-art img{height:auto}.idea-art .handwritten{font-size:17px}.steps li{font-size:11px}.product-grid{grid-template-columns:repeat(4,1fr);gap:22px 12px}.section-heading p{display:none}.section-heading{justify-content:space-between}}@media(max-width:760px){.header{padding:12px 5%;flex-wrap:wrap;gap:10px}.brand img{width:185px}.header-actions{margin-left:auto}.header-actions .button{font-size:12px;padding:9px 13px}.menu-toggle{display:grid}.header nav{display:none;order:4;width:100%;flex-wrap:wrap;padding:12px 0;justify-content:space-between}.header nav.open{display:flex}.hero{padding:22px 6% 26px}.hero h1{font-size:38px;letter-spacing:-1.3px;line-height:1.18}.hero p{font-size:15px;line-height:1.7}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;max-width:365px;margin:22px auto 0;font-size:11px;text-align:left}.benefits svg{width:23px;height:23px}.creation-paths{grid-template-columns:1fr;padding:0 4%;gap:20px}.path-top{height:272px;padding:23px 6%}.path h2{font-size:37px}.reference h2 em{white-space:nowrap;font-size:34px}.path p{font-size:14px}.idea-art{top:28px;right:1%;width:36%}.idea-art img{height:205px}.gallery-art{top:62px;width:38%;right:-3%}.reference .path-copy{width:70%}.product-labels button{font-size:10px}.steps{padding:21px 8px}.steps li{font-size:11px}.steps svg{width:27px;height:27px}.products{padding:32px 4%}.section-heading{align-items:flex-start;gap:10px;flex-wrap:wrap;padding:0}.section-heading h2{font-size:27px;max-width:290px}.section-heading .button{margin-top:4px}.product-grid{grid-template-columns:repeat(2,1fr);gap:24px 12px}.product-card h3{font-size:14px}.product-card p{font-size:12px}footer{margin:0 4%;padding:23px 0;gap:15px;flex-wrap:wrap}footer p{display:none}dialog{padding:30px 22px}.dialog-grid{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}} 

/* Hero entrance: heading, description, then handwritten notes. */
@keyframes hero-title-arrive {
  from { opacity: 0; transform: translateY(20px); filter: blur(5px); }
  to { opacity: 1; transform: translateY(0); filter: blur(0); }
}
@keyframes hero-copy-reveal {
  from { opacity: 0; filter: blur(4px); }
  to { opacity: 1; filter: blur(0); }
}
.hero h1 {
  animation: hero-title-arrive 1.1s cubic-bezier(.22, 1, .36, 1) .15s both;
}
.hero > div > p {
  animation: hero-copy-reveal 1.2s ease-out 1.25s both;
}
.hero .left-note,
.hero .right-note {
  animation: hero-copy-reveal 1.6s ease-out 2.45s both;
}
/* Reserve side columns so the notes stay beside the headline. */
@media (min-width: 761px) {
  .hero {
    display: grid;
    grid-template-columns: minmax(0, 14fr) minmax(0, 72fr) minmax(0, 14fr);
    align-items: center;
    column-gap: 12px;
    padding-inline: 3%;
  }
  .hero > div { grid-column: 2; grid-row: 1; min-width: 0; }
  .hero h1 { font-size: clamp(28px, 3.3vw, 53px); }
  .hero > div > p { font-size: clamp(14px, 1.2vw, 18px); }
  .hero .benefits { flex-wrap: wrap; gap: 14px 22px; }
  .hero .left-note,
  .hero .right-note {
    display: block;
    position: static;
    grid-row: 1;
    margin: 0;
    font-size: clamp(17px, 1.7vw, 25px);
    line-height: 1.2;
    transform: rotate(-11deg);
    text-align: left;
    overflow-wrap: break-word;
  }
  .hero .left-note { grid-column: 1; }
  .hero .right-note { grid-column: 3; }
}
@media (prefers-reduced-motion: reduce) {
  .hero h1,
  .hero > div > p,
  .hero .left-note,
  .hero .right-note { animation: none; opacity: 1; filter: none; }
}
