/* manrope-cyrillic-ext-wght-normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/fonts/manrope-cyrillic-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* manrope-cyrillic-wght-normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/fonts/manrope-cyrillic-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* manrope-greek-wght-normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/fonts/manrope-greek-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}

/* manrope-vietnamese-wght-normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/fonts/manrope-vietnamese-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* manrope-latin-ext-wght-normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/fonts/manrope-latin-ext-wght-normal.woff2) format('woff2-variations');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* manrope-latin-wght-normal */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url(/fonts/manrope-latin-wght-normal.woff2) format('woff2-variations');
  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;
}/* unbounded-cyrillic-ext-wght-normal */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(/fonts/unbounded-cyrillic-ext-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

/* unbounded-cyrillic-wght-normal */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(/fonts/unbounded-cyrillic-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* unbounded-vietnamese-wght-normal */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(/fonts/unbounded-vietnamese-wght-normal.woff2) format('woff2-variations');
  unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;
}

/* unbounded-latin-ext-wght-normal */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(/fonts/unbounded-latin-ext-wght-normal.woff2) format('woff2-variations');
  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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* unbounded-latin-wght-normal */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-display: swap;
  font-weight: 200 900;
  src: url(/fonts/unbounded-latin-wght-normal.woff2) format('woff2-variations');
  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;
}*,::before,::after{box-sizing:border-box;border:0 solid}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}h1,h2,h3,h4,p{margin:0}button,input{font:inherit}button{background:transparent}img,svg{display:block;max-width:100%}
:root {
  --ink: #17251f;
  --cream: #f7f2e8;
  --paper: #fffdf8;
  --green: #164f3e;
  --mint: #bce8d0;
  --coral: #ff715b;
  --yellow: #f4c84a;
  --line: rgba(23, 37, 31, .16);
}

.work-card { border:0; text-align:left; font:inherit; color:inherit; cursor:pointer; }
.catalog-photo { width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.story-modal h2 { font-size:clamp(32px,5vw,58px); max-width:720px; }
.story-lead { font-size:20px; line-height:1.55; max-width:680px; color:#55635d; }
.story-body { white-space:pre-wrap; background:#f4f1e9; border-radius:14px; padding:22px; margin:22px 0; font-size:16px; line-height:1.7; }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Manrope", sans-serif; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }

.announcement {
  height: 32px; display: flex; align-items: center; justify-content: center; gap: 18px;
  background: var(--ink); color: white; text-transform: uppercase; letter-spacing: .12em;
  font-size: 10px; font-weight: 700;
}
.announcement-dot { color: var(--coral); font-size: 14px; }
.header {
  height: 82px; padding: 0 5.5vw; display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid var(--line); background: rgba(255,253,248,.92); position: sticky; top: 0; z-index: 30;
  backdrop-filter: blur(14px);
}
.logo { display: flex; align-items: center; gap: 11px; font-family: "Unbounded"; font-weight: 700; font-size: 20px; letter-spacing: -.08em; }
.logo-mark {
  width: 42px; height: 42px; display:block; position:relative; background:var(--coral); color:white;
  border-radius:12px 12px 17px 12px; transform:rotate(-4deg); box-shadow:4px 4px 0 var(--yellow); flex:none;
}
.logo-box{position:absolute;inset:7px 8px 6px;border:2px solid #fff;border-radius:4px;transform:rotate(3deg)}.logo-head{position:absolute;width:13px;height:12px;left:15px;top:11px;border-radius:50%;background:#fff}.logo-body{position:absolute;width:17px;height:13px;left:13px;top:22px;border-radius:6px 6px 3px 3px;background:var(--green);color:#fff;display:grid;place-items:center;font:700 8px "Unbounded";font-style:normal}.logo-word{text-transform:uppercase;letter-spacing:-.07em}.logo-light .logo-mark{box-shadow:4px 4px 0 #fff}.logo-light .logo-body{background:var(--ink)}
.nav { display: flex; gap: 32px; font-size: 13px; font-weight: 600; }
.nav a { transition: color .2s; }
.nav a:hover { color: var(--coral); }
.header-actions { display: flex; align-items: center; gap: 15px; }
.login-button { border: 0; background: transparent; font-weight: 700; font-size: 13px; cursor: pointer; }
.button {
  display: inline-flex; align-items: center; justify-content: center; gap: 18px; background: var(--coral); color: white;
  border-radius: 999px; font-weight: 800; font-size: 13px; border: 0; transition: transform .2s, box-shadow .2s;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(255,113,91,.24); }
.button-small { padding: 12px 19px; }
.button-large { padding: 17px 24px; min-width: 200px; }
.button span { font-size: 18px; line-height: 1; }
.menu-button { display: none; border: 0; background: none; width: 38px; height: 38px; cursor: pointer; }
.menu-button span { display: block; width: 23px; height: 2px; background: var(--ink); margin: 6px auto; }

.hero {
  min-height: 720px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden;
  padding: 84px 7vw 68px; background: var(--cream); position: relative;
}
.hero::before { content:""; position: absolute; width: 500px; height: 500px; border: 1px solid rgba(23,37,31,.07); border-radius: 50%; left: -290px; top: 120px; }
.hero-copy { z-index: 2; align-self: center; max-width: 650px; }
.eyebrow { display: flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: .16em; font-size: 10px; font-weight: 800; margin: 0 0 22px; }
.eyebrow > span { width: 28px; height: 2px; background: var(--coral); }
h1, h2 { font-family: "Unbounded", sans-serif; margin: 0; letter-spacing: -.055em; line-height: .98; }
h1 { font-size: clamp(54px, 6.7vw, 98px); font-weight: 600; }
h1 em, .cta h2 em { color: var(--coral); font-style: normal; display: inline-block; transform: rotate(-2deg); }
.hero-lead { max-width: 530px; font-size: 18px; line-height: 1.65; margin: 30px 0 30px; color: rgba(23,37,31,.74); }
.hero-actions { display: flex; align-items: center; gap: 30px; }
.text-link { font-size: 13px; font-weight: 800; border-bottom: 1px solid var(--ink); padding: 9px 0; display: inline-flex; gap: 12px; }
.hero-proof { display: flex; align-items: center; gap: 14px; margin-top: 45px; }
.avatar-stack { display: flex; padding-left: 8px; }
.avatar-stack i {
  width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; margin-left: -8px;
  border: 2px solid var(--cream); background: var(--mint); font-style: normal; font-size: 11px; font-weight: 800;
}
.avatar-stack i:nth-child(2) { background: #ffd7ca; }.avatar-stack i:nth-child(3) { background: #d8cef4; }
.hero-proof div:last-child { display: flex; flex-direction: column; }
.hero-proof strong { font-size: 12px; }.hero-proof span { font-size: 11px; opacity: .58; margin-top: 2px; }
.hero-art { position: relative; min-height: 560px; display: grid; place-items: center; }
.orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(23,37,31,.15); }
.orbit-one { width: 530px; height: 530px; }
.orbit-two { width: 390px; height: 390px; border-style: dashed; transform: rotate(18deg); }
.box-card {
  width: 328px; height: 478px; background: #fffefb; border: 4px solid var(--ink); border-radius: 6px;
  position: relative; z-index: 2; box-shadow: 20px 24px 0 var(--mint); transform: rotate(4deg); padding: 16px;
}
.box-card::after { content:""; position: absolute; inset: 68px 17px 106px; border: 2px solid var(--ink); border-radius: 42% 42% 20px 20px; pointer-events:none; }
.box-top { height: 43px; display: flex; justify-content: space-between; align-items: flex-start; font-family: "Unbounded"; font-size: 10px; }
.box-top b { font-size: 16px; color: var(--coral); }.box-top span { border: 1px solid var(--ink); border-radius: 50%; padding: 7px; font-size: 8px; }
.box-window { height: 310px; background: #dff1e7; display: grid; place-items: end center; overflow: hidden; border-radius: 45% 45% 14px 14px; padding-top: 35px; }
.box-name { font-family: "Unbounded"; font-weight: 700; font-size: 18px; line-height: 1.1; padding: 11px 4px 4px; }
.box-sign { font-size: 7px; text-transform: uppercase; letter-spacing: .14em; padding-left: 4px; opacity: .65; }
.floating-note {
  width: 88px; height: 88px; border-radius: 50%; position: absolute; z-index: 4; background: var(--yellow);
  display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: "Unbounded"; font-size: 16px; font-weight: 700;
}
.floating-note small { font-family: "Manrope"; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; margin-top: 3px; }
.note-one { left: 2%; top: 12%; transform: rotate(-10deg); }.note-two { right: 0; bottom: 15%; width:104px;height:104px;padding:10px;box-sizing:border-box;background: var(--coral); color: white; transform: rotate(8deg);font-size:14px;line-height:1.05;text-align:center;white-space:normal }
.note-two small{font-size:7px;line-height:1.2;max-width:76px}
.spark { position: absolute; color: var(--coral); font-size: 34px; }.spark-one { right: 8%; top: 10%; }.spark-two { left: 5%; bottom: 18%; color: var(--green); font-size: 22px; }

.figure { width: 174px; height: 275px; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.figure-head { width: 148px; height: 140px; background: #efbd98; border-radius: 48% 48% 44% 44%; position: absolute; top: 21px; z-index: 3; border: 2px solid var(--ink); }
.figure-hair { width: 156px; height: 76px; background: #5a3b2d; position: absolute; top: 9px; z-index: 4; border-radius: 55% 50% 22% 32%; border: 2px solid var(--ink); border-bottom: 0; }
.eye { width: 21px; height: 25px; position: absolute; top: 60px; border-radius: 50%; background: var(--ink); }
.eye-left { left: 31px; }.eye-right { right: 31px; }
.figure-smile { position: absolute; width: 25px; height: 10px; border-bottom: 2px solid var(--ink); border-radius: 50%; left: 60px; bottom: 24px; }
.figure-body { width: 105px; height: 118px; background: var(--green); border: 2px solid var(--ink); border-radius: 28px 28px 10px 10px; z-index: 2; display: grid; place-items: center; color: white; font-family: "Unbounded"; font-size: 30px; }
.figure-feet { display: flex; gap: 9px; z-index: 3; }
.figure-feet i { width: 42px; height: 18px; background: var(--ink); border-radius: 12px 12px 5px 5px; }

.manifest { height: 68px; overflow: hidden; background: var(--green); color: white; display: flex; align-items: center; justify-content: space-around; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; font-weight: 800; }
.manifest i { color: var(--yellow); font-size: 21px; }.manifest p { white-space: nowrap; }
.section { padding: 115px 7vw; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 50px; }
.section-heading h2, .process h2, .dashboard-copy h2, .faq h2 { font-size: clamp(42px, 5vw, 72px); font-weight: 600; }
.section-heading > p { max-width: 430px; line-height: 1.7; opacity: .64; font-size: 14px; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.product-card { border-radius: 8px; padding: 20px; min-height: 540px; display: flex; flex-direction: column; overflow: hidden; position: relative; }
.product-hitarea { position:absolute; inset:0; z-index:1; border:0; background:transparent; cursor:pointer; }
.product-card > *:not(.product-hitarea) { position:relative; z-index:2; pointer-events:none; }
.product-info button { pointer-events:auto !important; position:relative; z-index:3; }
.product-card.mint { background: #d9eee3; }.product-card.coral { background: #ffd9d1; }.product-card.lilac { background: #e6def2; }
.product-top { display: flex; justify-content: space-between; align-items: center; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; z-index:2; }
.product-top span { background: var(--paper); border-radius: 20px; padding: 8px 10px; }.product-top b { font-family:"Unbounded"; opacity:.4; }
.product-visual { height: 270px; display: grid; place-items: center; position: relative; }
.mini-box { width: 180px; height: 235px; background: #fff; border: 3px solid var(--ink); position: relative; overflow: hidden; transform: rotate(-4deg); box-shadow: 10px 12px 0 rgba(23,37,31,.12); }
.mini-box > span { font-family:"Unbounded"; font-size: 11px; color: var(--coral); position:absolute; top:10px; left:10px; z-index:5; font-weight:700; }
.mini-box .figure { transform: scale(.63); transform-origin: center bottom; position: absolute; bottom: -3px; left: 1px; }
.second-figure { position: absolute; right: 18%; bottom: 4px; transform: rotate(7deg); }.second-figure .figure { transform: scale(.52); transform-origin: bottom; }
.product-info { margin-top: auto; background: rgba(255,255,255,.5); border-radius: 5px; padding: 18px; }
.product-info h3 { font-family:"Unbounded"; font-size: 22px; margin:0 0 10px; }.product-info p { font-size: 12px; line-height:1.5; opacity:.66; margin:0 0 20px; max-width:250px; }
.product-info > div { border-top:1px solid var(--line); padding-top:15px; display:flex; justify-content:space-between; align-items:center; }
.product-info strong { font-size:14px; }.product-info button { width:34px; height:34px; border-radius:50%; background:var(--ink); color:white; border:0; cursor:pointer; }
.price-note { text-align:center; opacity:.52; font-size:11px; margin:26px 0 0; }

.process { background:#eee9df; color:var(--ink); display:grid; grid-template-columns:minmax(360px,.8fr) minmax(540px,1.2fr); gap:22px; align-items:stretch; }
.process-intro{background:var(--green);color:#fff;border-radius:26px;padding:clamp(34px,5vw,68px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;overflow:hidden}.process-intro:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-90px;bottom:-85px;box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 76px rgba(255,255,255,.025)}.process .eyebrow.light { color:#fff; }.process-intro h2{font-size:clamp(40px,4.2vw,66px);line-height:1.02;margin:24px 0 0;max-width:650px;position:relative;z-index:1}.process-intro > p:nth-of-type(2) { opacity:.72; max-width:470px; line-height:1.7; margin:28px 0 34px; font-size:15px;position:relative;z-index:1}
.button-light { background:var(--coral); color:#fff;min-height:54px;padding:0 22px;border-radius:12px;position:relative;z-index:1 }.button-light:hover { box-shadow: 0 12px 28px rgba(255,113,91,.28);transform:translateY(-2px) }
.steps { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:0 }
.step { min-height:230px;display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto 1fr auto;gap:18px;align-items:start;border:1px solid #ded8cc;background:#fff;border-radius:22px;padding:28px;transition:transform .2s ease,box-shadow .2s ease }
.step:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(35,55,47,.08)}.step > span { width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#dfeee7;font-family:"Unbounded";font-size:11px;color:#23634e }.step h3 { font-family:"Unbounded"; margin:8px 0 12px; font-size:19px;line-height:1.25 }
.step p { margin:0; max-width:460px; font-size:13px; line-height:1.65; color:#69766f }.step > i { grid-column:2;justify-self:end;align-self:end;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffddd5;font-style:normal;color:var(--coral);font-size:18px }
.works { background: var(--paper); }
.text-link.dark { color:var(--ink); }
.gallery { display:grid; grid-template-columns: 1.15fr .85fr 1fr; grid-template-rows: 320px 270px; gap:16px; }
.work-card { border-radius:7px; position:relative; overflow:hidden; min-height:250px; padding:18px; display:flex; flex-direction:column; }
.work-1 { grid-row:1 / 3; }.work-4 { grid-column:2 / 4; }
.work-card.blue { background:#cddfe7; }.work-card.peach { background:#f4c8b3; }.work-card.yellow { background:#f0d98a; }.work-card.green { background:#c5e1cf; }
.work-category { align-self:flex-start; z-index:3; background:rgba(255,255,255,.78); padding:7px 10px; border-radius:20px; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.work-scene { position:absolute; inset:0; display:grid; place-items:center; }
.work-scene .figure { transform:scale(.8); transform-origin:center; }.work-1 .work-scene .figure { transform:scale(1.15); }
.work-4 .work-scene .figure { transform:scale(.78) translateY(-10px); }
.work-mark { position:absolute; font-size:100px; opacity:.12; font-family:"Unbounded"; }
.work-caption { margin-top:auto; z-index:3; display:flex; align-items:end; justify-content:space-between; gap:10px; background:linear-gradient(transparent, rgba(255,255,255,.86)); margin-left:-18px; margin-right:-18px; margin-bottom:-18px; padding:50px 18px 16px; }
.work-caption h3 { font-family:"Unbounded"; font-size:15px; margin:0; max-width:65%; }.work-caption span { font-size:9px; font-weight:800; }
.figure-work0 .figure-body { background:#334b70; }.figure-work1 .figure-body { background:#f7f1e7; color:var(--ink); }.figure-work2 .figure-body { background:#b44332; }.figure-work3 .figure-body { background:#6b8257; }

.dashboard-preview { background:var(--cream); display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:8vw; }
.dashboard-copy > p:nth-of-type(2) { max-width:470px; line-height:1.7; opacity:.66; margin:26px 0; }
.dashboard-copy ul { list-style:none; padding:0; margin:0; display:grid; gap:13px; font-size:13px; font-weight:700; }
.dashboard-copy li i { display:inline-grid; place-items:center; width:22px; height:22px; border-radius:50%; background:var(--mint); font-style:normal; margin-right:10px; }
.dashboard-card { background:white; border:1px solid var(--line); border-radius:12px; padding:28px; box-shadow:18px 20px 0 var(--mint); transform:rotate(1deg); }
.dash-head { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:20px; font-size:13px; }
.dash-head span { background:#dff2e7; color:var(--green); padding:7px 11px; border-radius:20px; font-size:9px; font-weight:800; text-transform:uppercase; }
.dash-person { display:flex; align-items:center; gap:16px; padding:24px 0; }
.dash-thumb { width:70px; height:70px; background:#dcebe2; border-radius:6px; overflow:hidden; position:relative; }
.dash-thumb .figure { transform:scale(.23); transform-origin:top left; position:absolute; left:15px; top:4px; }
.dash-person > div:last-child { display:flex; flex-direction:column; gap:3px; }.dash-person small { font-size:9px; opacity:.55; text-transform:uppercase; }.dash-person strong { font-family:"Unbounded"; font-size:14px; }.dash-person span { font-size:10px; opacity:.65; }
.dash-progress { display:grid; grid-template-columns:repeat(6, 1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 0; }
.dash-progress div { position:relative; text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px; font-size:8px; }
.dash-progress div::after { content:""; position:absolute; height:2px; width:100%; background:#ddd; left:50%; top:12px; z-index:0; }
.dash-progress div:last-child::after { display:none; }.dash-progress i { width:26px; height:26px; border:2px solid #ddd; color:#999; border-radius:50%; background:white; display:grid; place-items:center; font-style:normal; z-index:1; }
.dash-progress .done i { background:var(--green); color:white; border-color:var(--green); }.dash-progress .done::after { background:var(--green); }
.dash-update { display:grid; grid-template-columns:42px 1fr 20px; gap:12px; align-items:center; margin-top:22px; background:var(--cream); border-radius:6px; padding:13px; }
.dash-update > span { width:38px; height:38px; background:#f6d28b; border-radius:50%; display:grid; place-items:center; }.dash-update div { display:flex; flex-direction:column; }.dash-update b { font-size:10px; }.dash-update small { font-size:8px; opacity:.55; margin-top:3px; }.dash-update > i { font-style:normal; }
.home-reviews{padding-top:105px;padding-bottom:105px}.home-reviews-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:46px}.home-reviews-head h2{font-size:clamp(38px,5.2vw,78px);line-height:.98;margin:14px 0 0}.home-reviews-head>div:last-child{max-width:430px;padding-bottom:8px}.home-reviews-head>div:last-child p{color:var(--muted);line-height:1.65}.home-reviews-head a{display:inline-block;margin-top:15px;font-weight:800;color:var(--green)}.home-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-review{min-height:280px;border:1px solid var(--line);border-radius:12px;padding:26px;display:flex;flex-direction:column;overflow:hidden}.home-review.with-layout{padding:0}.home-review>img{width:100%;height:230px;object-fit:contain;background:#fff}.home-review.with-layout>header,.home-review.with-layout>p,.home-review.with-layout>footer{margin-left:24px;margin-right:24px}.home-review.with-layout>header{margin-top:22px}.home-review.with-layout>footer{margin-bottom:24px}.review-tone-0{background:#e0f1e8}.review-tone-1{background:#ffddd5}.review-tone-2{background:#ebe2f6}.home-review header{display:flex;align-items:flex-start;justify-content:space-between}.home-review header span{color:#e6992f;letter-spacing:2px}.home-review header i{font-family:Georgia;font-size:55px;line-height:.8;color:rgba(23,37,31,.16)}.home-review>p{font-family:"Unbounded";font-size:19px;line-height:1.45;margin:34px 0;flex:1}.home-review footer{display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(23,37,31,.14);padding-top:17px;background:none;color:inherit}.home-review footer small{color:var(--muted)}.home-review.review-empty{grid-column:1/-1;background:#fff}.home-review footer a{font-size:12px}

.faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:8vw; }
.faq-title > p:last-child { opacity:.6; line-height:1.6; max-width:330px; font-size:13px; margin-top:25px; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item button { width:100%; padding:25px 0; background:none; border:0; display:flex; justify-content:space-between; text-align:left; cursor:pointer; font-family:"Unbounded"; font-size:14px; }
.faq-item button i { width:28px; height:28px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; font-style:normal; flex:none; }
.faq-item > div { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.faq-item > div p { overflow:hidden; margin:0; font-size:12px; line-height:1.7; opacity:.65; max-width:620px; }
.faq-item.open > div { grid-template-rows:1fr; }.faq-item.open > div p { padding:0 0 25px; }

.cta { background:var(--coral); color:white; text-align:center; min-height:540px; padding:100px 20px; display:flex; flex-direction:column; align-items:center; position:relative; overflow:hidden; }
.cta .eyebrow { justify-content:center; }.cta .eyebrow span { background:var(--yellow); }.cta h2 { font-size:clamp(46px,6vw,82px); z-index:2; }
.cta h2 em { color:var(--yellow); }.cta > p:nth-of-type(2) { max-width:530px; line-height:1.65; opacity:.86; margin:28px 0; z-index:2; }.cta .button { z-index:2; }
.cta-shape { position:absolute; border:1px solid rgba(255,255,255,.3); border-radius:50%; }.cta-shape-one { width:400px; height:400px; left:-130px; top:80px; }.cta-shape-two { width:540px; height:540px; right:-220px; bottom:-300px; }
footer { background:var(--ink); color:white; padding:70px 6vw 22px; }
.footer-main { display:grid; grid-template-columns:1.3fr .8fr .8fr 1.2fr; gap:6vw; padding-bottom:60px; }
.logo-light { color:white; }.footer-brand p { font-size:12px; line-height:1.7; opacity:.55; margin-top:20px; }
.footer-col { display:flex; flex-direction:column; gap:12px; font-size:11px; }.footer-col b, .footer-contact b { color:var(--yellow); text-transform:uppercase; letter-spacing:.1em; font-size:9px; margin-bottom:8px; }
.footer-col a { opacity:.65; }.footer-contact { display:flex; flex-direction:column; align-items:flex-start; }
.footer-contact a { font-family:"Unbounded"; font-size:15px; border-bottom:1px solid white; padding-bottom:8px; }.footer-contact span { font-size:9px; opacity:.45; margin-top:12px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.15); padding-top:20px; display:flex; justify-content:space-between; font-size:9px; opacity:.45; }
.footer-bottom div { display:flex; gap:22px; }

.order-modal-backdrop { position:fixed; inset:0; z-index:100; background:rgba(14,31,25,.72); backdrop-filter:blur(7px); display:grid; place-items:center; padding:20px; }
.order-modal { width:min(680px,100%); max-height:calc(100vh - 40px); overflow:auto; background:var(--paper); border-radius:14px; padding:38px; position:relative; box-shadow:0 30px 90px rgba(0,0,0,.25); }
.modal-close { position:absolute; right:18px; top:18px; width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:transparent; font-size:22px; cursor:pointer; }
.modal-heading h2, .order-success h2 { font-size:clamp(28px,4vw,46px); }.modal-heading > p:last-child { opacity:.6; margin:13px 0 0; }
.modal-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin:26px 0; }.modal-progress i { height:4px; border-radius:2px; background:#e1ddd5; }.modal-progress i.active { background:var(--coral); }
.order-fields { display:grid; gap:17px; }.order-fields label { display:grid; gap:8px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.order-fields input, .order-fields select, .order-fields textarea { width:100%; border:1px solid var(--line); background:white; border-radius:7px; padding:14px; font-size:13px; text-transform:none; letter-spacing:0; outline:none; }
.order-fields input:focus, .order-fields select:focus, .order-fields textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(22,79,62,.08); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.upload-zone { min-height:150px; border:1px dashed rgba(23,37,31,.3); border-radius:8px; display:flex!important; flex-direction:column; align-items:center; justify-content:center; cursor:pointer; text-align:center; }
.upload-zone input { display:none; }.upload-zone > span { font-size:25px; color:var(--coral); }.upload-zone b { font-size:11px; }.upload-zone small { font-size:9px; opacity:.5; text-transform:none; letter-spacing:0; }
.upload-zone em { margin-top:8px; color:var(--green); font-style:normal; font-size:9px; text-transform:none; letter-spacing:0; }
.order-summary { display:grid; gap:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; }.order-summary > div { display:flex; justify-content:space-between; padding:16px; border-bottom:1px solid var(--line); font-size:11px; }.order-summary span { opacity:.58; }.order-summary p { margin:0; background:var(--cream); padding:16px; font-size:11px; line-height:1.65; }
.modal-actions { display:flex; justify-content:flex-end; align-items:center; gap:16px; margin-top:26px; }.modal-back { border:0; background:transparent; font-size:11px; font-weight:800; cursor:pointer; padding:12px; }
.modal-actions .button:disabled { opacity:.55; cursor:wait; }.submit-error { margin:0 auto 0 0; color:#b94331; font-size:10px; max-width:230px; }
.submit-error.submit-progress { color:var(--green); }
.order-success { text-align:center; display:flex; flex-direction:column; align-items:center; padding:32px 0 12px; }.order-success > span { width:62px; height:62px; border-radius:50%; display:grid; place-items:center; background:var(--mint); color:var(--green); font-size:26px; margin-bottom:24px; }.order-success .eyebrow { margin:0 0 13px; }.order-success > p:not(.eyebrow) { max-width:420px; opacity:.6; line-height:1.6; margin:18px 0 25px; }.order-success .modal-back { margin-top:10px; }

@media (max-width: 1050px) {
  .nav { gap:18px; }.nav a:nth-child(4), .nav a:nth-child(5) { display:none; }
  .hero { padding-left:5vw; padding-right:5vw; }.box-card { transform:scale(.9) rotate(4deg); }
  .note-one { left:-4%; }.note-two { right:-4%; }
  .section { padding:90px 5vw; }
}
@media (max-width: 1180px) {
  html, body { overflow-x:hidden; }
  .process { grid-template-columns:1fr; }
  .process-intro { min-width:0; padding:clamp(38px,7vw,70px); }
  .process-intro h2 { max-width:760px; font-size:clamp(40px,7vw,66px); overflow-wrap:break-word; }
  .home-reviews-head { grid-template-columns:minmax(0,1fr); gap:24px; }
  .home-reviews-head > div { min-width:0; max-width:820px!important; }
  .home-reviews-head h2 { font-size:clamp(42px,7vw,72px); overflow-wrap:break-word; }
  .home-reviews-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .announcement { font-size:8px; gap:8px; }.announcement span:nth-child(3), .announcement-dot { display:none; }
  .header { height:68px; padding:0 20px; }.header .button, .login-button { display:none; }.menu-button { display:block; }
  .nav { position:absolute; top:68px; left:0; right:0; padding:24px; background:var(--paper); flex-direction:column; gap:20px; border-bottom:1px solid var(--line); transform:translateY(-140%); opacity:0; pointer-events:none; transition:.25s; }
  .nav a:nth-child(4), .nav a:nth-child(5) { display:block; }.nav-open { transform:none; opacity:1; pointer-events:auto; }
  .hero { grid-template-columns:1fr; padding:58px 20px 45px; text-align:left; }.hero-copy { max-width:none; }.hero-lead { font-size:15px; }
  .hero-actions { flex-wrap:wrap; }.hero-proof { margin-top:30px; }.hero-art { min-height:520px; margin-top:20px; transform:scale(.86); margin-left:-25px; margin-right:-25px; }
  .manifest { justify-content:flex-start; gap:28px; padding:0 24px; }.manifest p:nth-of-type(3), .manifest i:nth-of-type(3) { display:none; }
  .section { padding:72px 20px; }.section-heading { align-items:flex-start; flex-direction:column; margin-bottom:32px; }.section-heading > p { margin:0; }
  .product-grid { grid-template-columns:1fr; }.product-card { min-height:510px; }
  .process { grid-template-columns:1fr; gap:28px; }.process-intro{padding:38px 28px}.process-intro h2{font-size:clamp(38px,11vw,54px);line-height:1.04}.steps { margin-top:10px; }.step { grid-template-columns:38px 1fr 20px; gap:12px; }
  .gallery { grid-template-columns:1fr; grid-template-rows:none; }.work-card, .work-1, .work-4 { grid-column:auto; grid-row:auto; min-height:360px; }.work-1 .work-scene .figure { transform:scale(.9); }
  .dashboard-preview { grid-template-columns:1fr; gap:45px; }.dashboard-card { padding:18px; box-shadow:10px 12px 0 var(--mint); }.dash-progress span { font-size:7px; }.dash-progress i { width:22px; height:22px; }
  .home-reviews-head{grid-template-columns:1fr;gap:25px}.home-reviews-grid{grid-template-columns:1fr}.home-review{min-height:230px}
  .faq { grid-template-columns:1fr; gap:40px; }.faq-item button { font-size:12px; gap:20px; }
  .cta { min-height:500px; padding:80px 20px; }.footer-main { grid-template-columns:1fr 1fr; }.footer-brand, .footer-contact { grid-column:1 / 3; }.footer-bottom { gap:18px; flex-wrap:wrap; }.footer-bottom span:last-child { display:none; }
  .order-modal { padding:30px 20px 24px; }.field-row { grid-template-columns:1fr; }.modal-actions { justify-content:space-between; }.modal-actions .button { min-width:165px; padding-left:15px; padding-right:15px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }

.product-info .product-more{pointer-events:auto!important;position:relative;z-index:3;width:34px;height:34px;border-radius:50%;background:var(--ink);color:white;display:grid;place-items:center}
.faq-item summary{list-style:none;width:100%;padding:25px 0;display:flex;justify-content:space-between;text-align:left;cursor:pointer;font-family:"Unbounded",sans-serif;font-size:14px;gap:12px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary i{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-style:normal;flex:none}.faq-item summary i::after{content:'+'}.faq-item[open] summary i::after{content:'−'}.faq-item[open]>div{grid-template-rows:1fr}.faq-item[open]>div p{padding:0 0 25px}
#story-dialog{border:0;color:var(--ink);margin:auto;width:min(760px,calc(100% - 32px));max-height:85vh;overflow:auto;padding:40px;border-radius:20px;background:var(--paper)}#story-dialog::backdrop{background:rgba(15,30,22,.6)}#story-dialog:not([open]){display:none}body:has(dialog[open]){overflow:hidden}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:5px}@media(max-width:760px){#story-dialog{padding:28px 22px}.faq-item summary{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,::before,::after{animation:none!important;transition:none!important}}
html,body{overflow-x:clip}
