/* Studio foundations: familiar to CuddleCue, with a company-first hierarchy. */
:root{--ink:#12343b;--ink-2:#33545a;--ink-3:#50696e;--teal:#3fb1b4;--teal-ink:#1d6b6f;--teal-50:#e8f6f4;--teal-100:#d3efec;--coral:#f8907c;--coral-ink:#b4442e;--blush:#f2b199;--blush-50:#fcf0ea;--sun:#f8b965;--cream:#faf7f0;--cream-2:#f3eee3;--paper:#fff;--line:#e7e1d5;--line-2:#d8d0c0;--night:#12343b;--night-2:#1b434b;--night-3:#245258;--night-line:#2f6169;--night-text:#f1f7f6;--night-muted:#b4cdcf;--display:'Nunito','Segoe UI',sans-serif;--sans:'Nunito Sans','Segoe UI',sans-serif;--radius:22px;--radius-lg:30px;--shadow:0 2px 6px #12343b0d,0 18px 40px -22px #12343b59;--shadow-lg:0 40px 80px -36px #12343b8c,0 0 0 1px #12343b0f;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p,ul,ol,dl,dd,blockquote{margin:0}h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.17;color:var(--ink);text-wrap:balance}h1{font-size:clamp(2.5rem,5.2vw,4.6rem);letter-spacing:-.045em}h2{font-size:clamp(2rem,3.2vw,2.9rem);letter-spacing:-.035em}h3{font-size:1.35rem;letter-spacing:-.02em}p{color:var(--ink-2)}a{color:var(--teal-ink);text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--teal-ink);outline-offset:6px}section[id]{scroll-margin-top:25px}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.section{padding-block:88px}.eyebrow{display:inline-flex;gap:10px;align-items:center;color:var(--ink-2);font-size:.73rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;line-height:1.5}.eyebrow::before{content:"";height:3px;width:22px;border-radius:4px;background:var(--coral);flex:none}.lead{font-size:1.12rem;line-height:1.8}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:38px}.section-heading h2{margin-top:14px;max-width:650px}.section-heading>p{max-width:360px;font-size:.98rem}.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline}.ic{width:24px;height:24px;flex:none;display:inline-block;vertical-align:middle}.ic-lg{width:30px;height:30px}.pill-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 24px;background:var(--ink);color:white;text-decoration:none;font-size:.9rem;font-weight:800;border-radius:28px;min-height:48px;transition:background .18s,transform .18s}.pill-link:hover{background:var(--night-3);transform:translateY(-2px);text-decoration:none}.pill-link.outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}.pill-link.outline:hover{background:var(--cream-2)}.skip{position:absolute;left:20px;top:-100px;z-index:1000;background:var(--ink);color:white;padding:12px 20px;border-radius:0 0 14px 14px}.skip:focus{top:0}.site-header{background:var(--cream);border-bottom:1px solid var(--line)}.header-row{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:25px}.studio-brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-decoration:none;color:var(--ink);flex:none}.studio-brand img{width:132px}.studio-brand span{font-size:.62rem;letter-spacing:.23em;font-weight:800;line-height:1.3}.desktop-nav{display:flex;gap:27px;align-items:center}.desktop-nav>a{color:var(--ink);font-size:.86rem;font-weight:700;text-decoration:none}.desktop-nav>a:hover{text-decoration:underline}.desktop-nav .pill-link{font-size:.83rem;color:white;min-height:41px;padding:10px 19px}.mobile-menu{display:none;position:relative}.mobile-menu summary{list-style:none;display:flex;align-items:center;gap:9px;padding:8px 0;cursor:pointer;font-weight:800;font-size:.9rem}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-panel{position:absolute;right:0;top:48px;width:240px;padding:15px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);z-index:30}.mobile-panel a{display:block;padding:10px 12px;color:var(--ink);text-decoration:none;border-radius:9px}.mobile-panel a:hover{background:var(--teal-50)}
/* The approved Calm company introduction. */
.hero{position:relative;overflow:hidden;background:var(--night);padding:78px 0 68px}.hero::after{content:"";position:absolute;width:380px;height:380px;border:1px solid #42646b;border-radius:50%;right:-200px;bottom:-240px;pointer-events:none}.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr);gap:75px;align-items:center}.hero .eyebrow{color:#d3e6e2}.hero h1{color:var(--night-text);margin:21px 0 24px}.hero h1 span{color:#b4e5df}.hero .lead{color:#e1efeb;max-width:670px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}.hero .pill-link{background:var(--teal-50);color:var(--ink)}.hero .pill-link:hover{background:white}.hero .text-link{color:var(--night-text);font-size:.9rem}.hero .text-link svg{width:20px}.studio-seal{border:1px solid #5e7d7f;background:#244951;padding:34px 25px;border-radius:115px 115px 32px 32px;display:flex;align-items:center;flex-direction:column;text-align:center;gap:25px;max-width:290px;margin-left:auto;width:100%}.studio-seal>img{width:93px;filter:drop-shadow(0 8px 15px #00000012)}.studio-seal p{color:var(--night-text);font-size:1.05rem;line-height:1.7}.studio-seal strong{font-family:var(--display);font-weight:800;font-size:1.15rem}.seal-line{width:32px;height:3px;border-radius:4px;background:var(--coral)}.seal-caption{font-size:.67rem;letter-spacing:.13em;color:#d3e6e2;text-transform:uppercase;font-weight:700}.company-strip{background:#f0f4ed;border-bottom:1px solid #dce4dc}.company-strip .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:23px}.company-strip p{display:flex;align-items:center;justify-content:center;gap:13px;color:var(--ink);font-size:.87rem;font-weight:700;border-right:1px solid #cbd9d1}.company-strip p:last-child{border:0}.company-strip svg{width:21px;color:var(--teal-ink)}
/* Story: company identity before the product portfolio. */
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:85px;align-items:start}.about-grid h2{margin:16px 0 24px}.about-copy p+p{margin-top:20px}.about-copy .text-link{margin-top:24px}.story-note{margin-top:32px;padding:23px 25px;background:var(--teal-50);border-radius:18px}.story-note p{font-family:var(--display);font-size:1.15rem;font-weight:700;line-height:1.6;color:var(--teal-ink)}.story-note span{display:block;font-size:.75rem;font-weight:700;color:var(--ink-2);margin-top:9px}.about-chapters{display:grid;gap:0;border-top:1px solid var(--line-2)}.chapter{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:25px 0;border-bottom:1px solid var(--line-2)}.chapter-no{font-size:.8rem;font-weight:800;color:var(--teal-ink);padding-top:4px}.chapter h3{font-size:1.15rem;margin-bottom:9px}.chapter p{font-size:.94rem}.team-section{background:#f1eee5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.team-card{background:var(--paper);border:1px solid #e1dfd3;border-radius:26px;padding:35px}.team-card-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.team-label{font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-ink)}.team-card h3{font-size:2rem;margin-top:10px}.team-icon{display:grid;place-items:center;width:62px;height:62px;border-radius:19px;background:var(--teal-50);color:var(--teal-ink)}.team-card.design .team-icon{background:#feeee9;color:#9f402e}.team-card.design .team-label{color:#9f402e}.team-icon svg{width:31px;height:31px}.team-card>p{font-size:1rem}.team-card ul{list-style:none;padding:23px 0 0;margin-top:25px;border-top:1px solid var(--line);display:grid;gap:9px}.team-card li{font-size:.88rem;color:var(--ink-2);display:flex;gap:9px;align-items:center}.team-card li svg{width:16px;height:16px;color:var(--teal-ink)}.together-note{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:25px 4px 0;max-width:850px}.together-note .tiny-amp{width:29px}.together-note p{font-size:.9rem}.together-note strong{color:var(--ink)}
/* The studio's disciplines, without positioning the company as a client agency. */
.craft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.craft-card{padding-top:25px;border-top:2px solid #c7d9d0}.craft-card:nth-child(2){border-color:#e5b6a7}.craft-card:nth-child(3){border-color:#e0cba0}.craft-card .craft-count{font-size:.72rem;font-weight:800;letter-spacing:.1em;color:var(--ink-3)}.craft-card h3{margin:17px 0 14px;font-size:1.35rem}.craft-card p{font-size:.95rem}.craft-card small{display:block;font-size:.77rem;color:var(--teal-ink);font-weight:700;margin-top:20px}.process-section{padding-top:0}.process-panel{padding:42px;border:1px solid #dbe5dd;border-radius:26px;background:#f0f5ef}.process-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:33px}.process-heading h2{font-size:1.9rem;margin-top:11px}.process-heading p{max-width:390px;font-size:.9rem}.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.step-num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:white;border:1px solid #c9d9cd;font-size:.75rem;font-weight:800;color:var(--teal-ink);margin-bottom:15px}.process-steps h3{font-size:1.05rem;margin-bottom:10px}.process-steps p{font-size:.85rem}
/* The FirstCue card below retains its original markup and visual styling. */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 12px 24px; border-radius: 999px; border: 0;
  font-weight: 800; font-size: 1rem; line-height: 1.2; text-decoration: none;
  transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}
.btn .ic { width: 20px; height: 20px; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--ink); color: #fff; box-shadow: 0 10px 24px -14px rgba(18, 52, 59, 0.8); }
.btn-primary:hover { background: var(--night-3); color: #fff; }
.btn-ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--line-2); }
.btn-ghost:hover { box-shadow: inset 0 0 0 1.5px var(--ink); color: var(--ink); }
.btn-sm { min-height: 40px; padding: 9px 18px; font-size: 0.92rem; }

.btn-light { background: #fff; color: var(--ink); box-shadow: 0 10px 24px -14px rgba(0, 0, 0, 0.6); }
.btn-light:hover { background: var(--cream); color: var(--ink); }

/* the hero's small "next from the studio" chip, pinned to the phone's corner */
.next-chip {
  position: absolute; left: -18%; bottom: 12%; display: inline-flex; align-items: center; gap: 12px;
  padding: 12px 18px 12px 14px; border-radius: 18px; background: var(--night); color: #fff;
  text-decoration: none; box-shadow: var(--shadow-lg);
}
.next-chip small { display: block; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--night-muted); }
.next-chip b { display: block; font-family: var(--display); font-size: 1.1rem; line-height: 1.2; }
.next-chip:hover { color: #fff; transform: translateY(-1px); }
.next-chip-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--sun); box-shadow: 0 0 0 5px rgba(248, 185, 101, 0.22); flex: none; }

/* our apps: the live one wider, the coming one beside it */
.apps-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 22px; align-items: stretch; }
.app-card {
  position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 18px;
  padding: clamp(26px, 3.2vw, 40px); border-radius: var(--radius-lg);
  background: var(--cream); border: 1px solid var(--line); box-shadow: var(--shadow);
}
.app-card p { color: var(--ink-2); }
.app-name { margin: 0; line-height: 1; }
.app-lockup { width: min(300px, 82%); height: auto; }
.app-tagline { font-size: 1.12rem; max-width: 30em; }
.app-status {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px;
  border-radius: 999px; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
}
.app-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.app-status--live { background: var(--teal-50); color: var(--teal-ink); box-shadow: inset 0 0 0 1px var(--teal-100); }
.app-status--soon { background: rgba(248, 185, 101, 0.14); color: var(--sun); box-shadow: inset 0 0 0 1px rgba(248, 185, 101, 0.45); }
.app-points { list-style: none; display: grid; gap: 12px; }
.app-points li { display: flex; align-items: flex-start; gap: 12px; color: var(--ink-2); font-weight: 600; }
.app-points .ic { width: 22px; height: 22px; color: var(--teal-ink); margin-top: 1px; }
.app-actions {
  margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px;
  padding-top: 22px; border-top: 1px solid var(--line);
}

.app-card--soon { background: var(--night); border-color: var(--night-line); color: var(--night-text); }
.app-card--soon p { color: var(--night-muted); }
.app-card--soon .app-actions { border-top-color: var(--night-line); }
.app-card--soon > :not(.soon-orbs) { position: relative; }
.soon-orbs { position: absolute; inset: 0; pointer-events: none; }
.soon-orbs i { position: absolute; border-radius: 50%; filter: blur(46px); opacity: 0.55; }
.soon-orbs i:nth-child(1) { width: 260px; height: 260px; right: -70px; top: -80px; background: var(--teal); }
.soon-orbs i:nth-child(2) { width: 200px; height: 200px; left: -60px; bottom: -70px; background: var(--coral); opacity: 0.4; }
.soon-orbs i:nth-child(3) { width: 150px; height: 150px; right: 30%; bottom: 18%; background: var(--sun); opacity: 0.28; }
.soon-name {
  margin: 0; font-family: var(--display); font-weight: 900; line-height: 1;
  font-size: clamp(2.6rem, 5vw, 3.6rem); letter-spacing: -0.035em; color: #fff;
}
.soon-name span {
  background: linear-gradient(100deg, var(--sun) 10%, var(--coral) 60%, #ffc9bb);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.soon-name--sm { font-size: 2rem; }
/* a veiled preview: shapes of an app, nothing of it */
.soon-veil {
  position: relative; display: grid; gap: 12px; padding: 22px; border-radius: 20px; overflow: hidden;
  background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(6px);
}
.soon-bar { display: block; height: 14px; border-radius: 8px; background: rgba(255, 255, 255, 0.14); }
.soon-bar--a { width: 72%; }
.soon-bar--b { width: 54%; }
.soon-bar--c { width: 86%; height: 44px; border-radius: 14px; background: rgba(255, 255, 255, 0.09); }
.soon-lock { position: absolute; right: 22px; top: 18px; color: var(--sun); }
.soon-veil::after {
  content: ""; position: absolute; inset: 0; transform: translateX(-100%);
  background: linear-gradient(100deg, transparent 20%, rgba(255, 255, 255, 0.12) 50%, transparent 80%);
  animation: veil-shine 3.6s ease-in-out infinite;
}
@keyframes veil-shine { 0%, 30% { transform: translateX(-100%); } 70%, 100% { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .soon-veil::after { animation: none; display: none; } }


.portfolio-section{background:#fffdf8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:stretch}.cc-portfolio{border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(26px,3.2vw,40px);background:var(--cream);display:flex;flex-direction:column;overflow:hidden}.product-meta{display:flex;align-items:center;gap:10px;font-size:.73rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--teal-ink);margin-bottom:24px}.product-meta::before{content:"";width:8px;height:8px;background:var(--teal-ink);border-radius:50%}.cc-logo{width:280px;max-width:90%;height:auto}.cc-portfolio h3{margin-bottom:24px}.cc-portfolio p{font-size:1.04rem}.cc-portfolio .product-detail{margin:20px 0 25px;font-size:.9rem;max-width:410px}.product-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.product-tags span{font-size:.72rem;font-weight:700;background:#e8f6f4;color:var(--teal-ink);padding:6px 10px;border-radius:7px}.cc-portfolio .cc-links{display:flex;gap:16px 23px;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}.cc-links .pill-link{font-size:.83rem;padding:12px 20px}.cc-links .text-link{font-size:.82rem}.portfolio-note{font-size:.82rem;margin-top:23px;max-width:720px}.values-heading{max-width:650px;margin-bottom:37px}.values-heading h2{margin-top:13px}.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.value-icon{display:flex;align-items:center;gap:13px;color:var(--teal-ink);margin-bottom:17px}.value-icon svg{width:26px}.value-icon::after{content:"";height:1px;flex:1;background:var(--line-2)}.values-grid h3{font-size:1.2rem;margin-bottom:12px}.values-grid p{font-size:.93rem}
/* Company details and direct paths to support. */
.company-section{background:#f1eee5;border-block:1px solid var(--line)}.company-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.company-copy h2{margin:14px 0 20px}.company-copy p{font-size:.98rem}.company-copy .text-link{margin-top:23px;font-size:.9rem}.company-facts{padding:7px 27px;background:white;border:1px solid var(--line);border-radius:23px}.company-facts>div{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.company-facts>div:last-child{border:0}.company-facts dt{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;font-weight:800;color:var(--ink-3);padding-top:4px}.company-facts dd{font-size:.92rem;color:var(--ink);font-weight:600;min-width:0;overflow-wrap:anywhere}.company-facts dd small{font-size:.76rem;display:block;color:var(--ink-2);font-weight:400}.questions-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.questions-intro h2{margin:13px 0 19px}.questions-intro p{font-size:.95rem}.questions-list{border-top:1px solid var(--line-2)}.questions-list details{border-bottom:1px solid var(--line-2);padding-block:21px}.questions-list summary{position:relative;font:800 1rem/1.5 var(--display);color:var(--ink);list-style:none;padding-right:35px;cursor:pointer}.questions-list summary::-webkit-details-marker{display:none}.questions-list summary::after{content:"+";position:absolute;right:3px;top:-3px;font-size:1.5rem;font-weight:600;color:var(--teal-ink)}.questions-list details[open] summary::after{content:"−"}.questions-list details p{font-size:.93rem;padding-top:15px;padding-right:25px}.contact-section{padding-top:0}.contact-panel{background:var(--night);border-radius:30px;padding:48px;position:relative;overflow:hidden}.contact-panel .eyebrow{color:#d3e6e2}.contact-grid{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}.contact-panel h2{color:var(--night-text);margin:15px 0 19px;font-size:clamp(2rem,3vw,2.7rem)}.contact-panel p{color:#e1efeb;max-width:570px}.contact-panel .pill-link{background:#e8f6f4;color:var(--ink);margin-top:28px;overflow-wrap:anywhere}.contact-panel .pill-link:hover{background:white}.contact-side{border-left:1px solid #4e7075;padding-left:32px}.contact-side h3{font-size:1rem;color:var(--night-text);margin-bottom:10px}.contact-side p{font-size:.86rem;color:#c9deda}.contact-side a{display:inline-flex;align-items:center;gap:9px;color:#b4e5df;font-weight:800;font-size:.86rem;margin-top:15px;text-decoration:none}.contact-side a:hover{text-decoration:underline}.site-footer{padding:55px 0 25px;border-top:1px solid var(--line);background:var(--cream)}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr .9fr;gap:45px}.footer-logo{width:135px;margin-bottom:16px}.footer-intro p{font-size:.83rem;max-width:250px}.footer-group h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px}.footer-group ul{list-style:none;padding:0;display:grid;gap:9px}.footer-group a,.footer-group span{font-size:.8rem;color:var(--ink-2);text-decoration:none}.footer-group a:hover{text-decoration:underline}.footer-group .soon-tiny{font-size:.66rem;color:#855011;display:inline-block;background:#fef3e1;border-radius:5px;padding:2px 6px;margin-left:6px}.footer-bottom{border-top:1px solid var(--line-2);padding-top:21px;margin-top:40px;display:flex;justify-content:space-between;gap:20px;font-size:.73rem;color:var(--ink-3)}.footer-bottom a{color:var(--ink-3)}
@media(min-width:1500px){.hero{padding-block:92px}.section{padding-block:100px}.process-section,.contact-section{padding-top:0}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:18px}.desktop-nav>a{font-size:.8rem}.hero-grid{gap:45px;grid-template-columns:1.5fr .65fr}.studio-seal{padding-inline:20px}.about-grid{gap:45px}.company-grid{gap:40px}.questions-grid{gap:45px}.footer-grid{gap:30px}.team-card{padding:28px}.portfolio-grid{gap:20px}.process-panel{padding:32px}.contact-grid{gap:40px}}
@media(max-width:820px){.section{padding-block:66px}.process-section,.contact-section{padding-top:0}.desktop-nav{display:none}.mobile-menu{display:block}.header-row{min-height:94px}.hero{padding-block:56px}.hero-grid{gap:35px;grid-template-columns:1.6fr .65fr}.studio-seal{padding:28px 16px;border-radius:80px 80px 24px 24px;gap:20px}.studio-seal>img{width:65px}.studio-seal p{font-size:.82rem}.studio-seal strong{font-size:.95rem}.seal-caption{font-size:.56rem}.hero .lead{font-size:1rem}.hero-actions{gap:20px}.hero .text-link{font-size:.82rem}.company-strip .wrap{gap:15px}.company-strip p{font-size:.74rem;gap:8px}.company-strip svg{width:18px}.section-heading{gap:25px}.section-heading>p{max-width:260px;font-size:.9rem}.about-grid{grid-template-columns:1fr;gap:37px}.about-copy{max-width:680px}.about-chapters{grid-template-columns:repeat(3,1fr);gap:25px;border:0}.chapter{grid-template-columns:1fr;gap:7px;border-top:1px solid var(--line-2);border-bottom:0;padding:20px 0 0}.chapter h3{font-size:1.05rem}.chapter p{font-size:.85rem}.team-card h3{font-size:1.7rem}.team-card-top{gap:12px}.team-icon{width:46px;height:46px;border-radius:15px}.team-icon svg{width:26px;height:26px}.team-card>p{font-size:.92rem}.team-card li{font-size:.8rem}.craft-grid,.values-grid{gap:24px}.craft-card h3{font-size:1.2rem}.craft-card p,.values-grid p{font-size:.88rem}.process-heading{align-items:flex-start;flex-direction:column;gap:16px}.process-heading p{max-width:none}.process-steps{grid-template-columns:1fr 1fr;gap:28px}.portfolio-grid{grid-template-columns:1fr 1fr}.cc-portfolio{padding:26px}.app-card{padding:26px}.company-grid,.questions-grid{grid-template-columns:1fr;gap:30px}.company-copy{max-width:600px}.company-facts>div{grid-template-columns:150px 1fr}.contact-panel{padding:36px}.contact-grid{grid-template-columns:1.3fr .7fr;gap:30px}.contact-side{padding-left:22px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:32px}.footer-intro{grid-column:1/-1;display:flex;align-items:center;gap:30px}.footer-intro .studio-brand{flex:none}.footer-logo{margin-bottom:0}.footer-intro p{max-width:360px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}body{font-size:15px}.header-row{min-height:91px}.studio-brand img{width:113px}.studio-brand span{font-size:.53rem}.section{padding-block:52px}.process-section,.contact-section{padding-top:0}.hero{padding:42px 0 46px}.hero-grid{grid-template-columns:1fr;gap:34px}.hero h1{font-size:clamp(2.55rem,9.2vw,3.3rem);margin:18px 0 21px}.hero .eyebrow{font-size:.65rem}.hero .lead{font-size:1rem}.hero-actions{gap:20px}.hero .pill-link{font-size:.83rem;padding-inline:19px}.studio-seal{display:none}.company-strip .wrap{grid-template-columns:1fr;gap:0;padding-block:8px}.company-strip p{justify-content:flex-start;border-right:0;border-bottom:1px solid #dce4dc;padding-block:11px;font-size:.82rem}.company-strip svg{width:20px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:100%;margin-top:17px;font-size:.95rem}h2{font-size:2rem}.lead{font-size:1.05rem}.eyebrow{font-size:.67rem}.about-grid h2{margin-top:13px}.about-chapters{grid-template-columns:1fr;gap:0}.chapter{grid-template-columns:32px 1fr;gap:12px;padding-block:21px;border-bottom:1px solid var(--line-2);border-top:0}.chapter:first-child{border-top:1px solid var(--line-2)}.chapter h3{font-size:1.15rem}.chapter p{font-size:.94rem}.team-grid{grid-template-columns:1fr;gap:18px}.team-card{padding:26px}.team-card h3{font-size:1.8rem}.team-card-top{margin-bottom:19px}.team-card>p{font-size:.96rem}.team-card li{font-size:.85rem}.team-card ul{margin-top:21px;padding-top:19px}.together-note{padding-top:24px;gap:15px;align-items:start}.together-note p{font-size:.86rem}.craft-grid,.values-grid{grid-template-columns:1fr;gap:30px}.craft-card h3{font-size:1.4rem;margin-top:11px}.craft-card p,.values-grid p{font-size:.95rem}.craft-card small{margin-top:14px}.process-panel{padding:26px 23px}.process-heading h2{font-size:1.75rem}.process-steps{grid-template-columns:1fr;gap:25px}.process-steps article{display:grid;grid-template-columns:32px 1fr;gap:0 15px}.step-num{grid-row:span 2}.process-steps h3{font-size:1.1rem;margin-bottom:7px}.process-steps p{font-size:.9rem}.portfolio-grid{grid-template-columns:1fr;gap:22px}.cc-portfolio{padding:28px}.cc-logo{width:260px}.cc-portfolio .product-detail{font-size:.95rem}.cc-portfolio .cc-links{gap:16px}.portfolio-note{font-size:.82rem}.values-heading{margin-bottom:30px}.company-facts{padding:5px 22px}.company-facts>div{grid-template-columns:1fr;gap:7px;padding-block:17px}.company-facts dt{font-size:.68rem}.company-facts dd{font-size:.93rem}.questions-list summary{font-size:1rem}.questions-list details p{font-size:.94rem;padding-right:5px}.contact-panel{padding:31px 25px;border-radius:25px}.contact-grid{grid-template-columns:1fr;gap:32px}.contact-side{border-left:0;border-top:1px solid #4e7075;padding:25px 0 0}.contact-panel h2{font-size:2rem}.contact-panel p{font-size:.96rem}.contact-panel .pill-link{font-size:.83rem;gap:9px;padding-inline:18px}.contact-side p{font-size:.88rem}.site-footer{padding-top:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 24px}.footer-intro{display:block}.footer-intro p{margin-top:18px;max-width:280px}.footer-logo{width:120px}.footer-group h2{font-size:.7rem}.footer-group a,.footer-group span{font-size:.8rem}.footer-group:last-child{grid-column:1/-1}.footer-group:last-child ul{grid-template-columns:1fr 1fr;gap:9px 22px}.footer-bottom{flex-direction:column;gap:9px;margin-top:30px;font-size:.72rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Illustration-led refinement, preserving the approved Calm company identity. */
.hero.visual-hero{padding:65px 0 62px}.visual-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px}.visual-hero h1{font-size:clamp(2.5rem,4.3vw,3.8rem);line-height:1.13;margin-bottom:23px}.visual-hero .lead{font-size:1.08rem;max-width:520px}.family-art{margin:0;position:relative;overflow:hidden;border-radius:37px 37px 37px 8px;background:#faf7f0;box-shadow:0 20px 45px #001d2630;border:7px solid #f5f1e7}.family-art img{width:100%;height:auto;display:block}.visual-hero .hero-actions{gap:22px}.visual-hero .hero-actions .text-link{font-size:.83rem}.visual-hero .hero-actions .pill-link{padding-inline:20px;font-size:.85rem}.visual-story{padding-block:65px}.story-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.story-layout h2{margin-top:16px;font-size:clamp(1.9rem,3vw,2.65rem)}.story-layout .lead{font-size:1.15rem;font-weight:600;color:var(--ink)}.story-layout p+p{margin-top:15px;font-size:.98rem}.visual-people{padding-block:60px;background:#f1eee5;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.illustrated-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.illustrated-team{background:#fffdf8;border-radius:27px;border:1px solid #dfdfd2;padding:25px 30px 31px;display:grid;grid-template-columns:.95fr 1.05fr;gap:23px;align-items:center}.team-art{min-width:0}.team-art img{width:100%;height:auto;max-width:240px;margin:auto}.illustrated-team-copy h3{font-size:1.7rem;margin:10px 0 13px}.illustrated-team-copy p{font-size:.9rem;line-height:1.75}.illustrated-team-copy .team-label{font-size:.65rem;letter-spacing:.09em}.design-team .team-label{color:#9f402e}.craft-tags{display:block;font-size:.67rem;line-height:1.8;color:var(--ink-2);padding-top:16px;margin-top:17px;border-top:1px solid var(--line)}.team-together{display:flex;justify-content:center;align-items:center;gap:13px;padding-top:27px;font:700 .97rem/1.6 var(--display);color:var(--ink)}.team-together img{width:22px;height:auto}.visual-process{padding-block:62px}.process-title-row{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:33px}.process-title-row h2{margin-top:14px;font-size:2.4rem}.process-title-row>p{font-size:.95rem;max-width:360px}.visual-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.visual-steps article{border-top:1px solid var(--line-2);padding-top:22px}.visual-step-icon{display:grid;place-items:center;width:45px;height:45px;background:#e8f6f4;color:var(--teal-ink);border-radius:15px;margin-bottom:17px}.visual-steps article:nth-child(2) .visual-step-icon{background:#feeee9;color:#9f402e}.visual-steps article:nth-child(3) .visual-step-icon{background:#e3f2fa;color:#145f7c}.visual-steps article:nth-child(4) .visual-step-icon{background:#fef3e1;color:#855011}.visual-steps h3{font-size:1.08rem;margin-bottom:9px}.visual-steps p{font-size:.86rem}.portfolio-section{padding-block:68px}.cc-illustrated{padding-bottom:34px}.cc-art-strip{display:flex;justify-content:center;align-items:center;gap:20px;background:#e8f6f4;padding:21px 15px;border-radius:21px;margin:24px 0 20px;min-height:145px}.cc-art-strip img{width:82px;height:82px;object-fit:contain}.cc-art-strip img:first-child{transform:rotate(-9deg)}.cc-art-strip img:last-child{transform:rotate(7deg)}.cc-illustrated .cc-caption{font-size:.9rem;margin-bottom:23px}.cc-illustrated .cc-logo{width:285px}.visual-company{padding-block:65px}.visual-company .company-copy>p{max-width:370px}.visual-contact{padding-top:48px;padding-bottom:60px}.visual-contact .contact-panel{padding:39px 43px}.visual-contact .contact-panel h2{font-size:2.5rem}.visual-contact .contact-panel p{font-size:.97rem}.visual-contact .contact-side p{font-size:.87rem}.site-footer{padding-top:40px}.footer-intro p{font-size:.8rem}
@media(min-width:1500px){.hero.visual-hero{padding-block:78px}.visual-story,.visual-people,.visual-process,.portfolio-section,.visual-company{padding-block:76px}.visual-contact{padding-top:55px}}
@media(max-width:1050px){.visual-hero .hero-grid{gap:30px}.visual-hero h1{font-size:3.1rem}.illustrated-team{padding:25px;grid-template-columns:1fr;gap:12px;text-align:center}.team-art img{max-width:200px}.illustrated-team-copy h3{font-size:1.8rem}.illustrated-team-copy p{max-width:320px;margin:auto}.craft-tags{max-width:330px;margin-inline:auto}.story-layout{gap:40px}}
@media(max-width:820px){.hero.visual-hero{padding-block:48px}.visual-hero .hero-grid{grid-template-columns:1fr;gap:33px}.visual-hero h1{font-size:clamp(2.7rem,6.2vw,3.6rem)}.visual-hero .lead{max-width:600px}.family-art{max-width:620px;width:100%;border-width:5px;justify-self:center}.visual-hero .hero-actions .text-link{font-size:.9rem}.visual-hero .hero-actions .pill-link{font-size:.9rem}.story-layout h2{font-size:2.1rem}.story-layout{gap:30px}.story-layout .lead{font-size:1.05rem}.story-layout p+p{font-size:.9rem}.visual-steps{grid-template-columns:1fr 1fr;gap:27px}.process-title-row{align-items:flex-start}.process-title-row>p{max-width:270px}.process-title-row h2{font-size:2rem}.visual-contact .contact-panel{padding:35px}.visual-contact .contact-panel h2{font-size:2.1rem}.visual-company .company-copy>p{max-width:600px}.cc-art-strip{gap:13px;padding-inline:10px}.cc-art-strip img{width:65px;height:65px}}
@media(max-width:600px){.hero.visual-hero{padding:36px 0 35px}.visual-hero .hero-grid{gap:30px}.visual-hero h1{font-size:clamp(2.35rem,8.6vw,3.1rem)}.visual-hero .lead{font-size:1rem}.visual-hero .hero-actions{gap:17px}.visual-hero .hero-actions .pill-link{font-size:.82rem;padding-inline:18px}.visual-hero .hero-actions .text-link{font-size:.82rem}.family-art{border-radius:25px 25px 25px 7px;border-width:4px}.visual-story{padding-block:43px}.story-layout{grid-template-columns:1fr;gap:24px}.story-layout h2{font-size:2rem}.story-layout .lead{font-size:1.08rem}.story-layout p+p{font-size:.96rem}.visual-people{padding-block:44px}.illustrated-team-grid{grid-template-columns:1fr;gap:18px}.illustrated-team{grid-template-columns:.85fr 1.15fr;text-align:left;gap:17px;padding:23px 20px}.team-art img{max-width:190px}.illustrated-team-copy h3{font-size:1.42rem;margin:9px 0 11px}.illustrated-team-copy p{font-size:.84rem}.illustrated-team-copy .team-label{font-size:.58rem}.craft-tags{font-size:.6rem;margin-top:13px;padding-top:12px}.team-together{font-size:.83rem;padding-top:22px;gap:10px}.team-together img{width:19px}.visual-process{padding-block:44px}.process-title-row{display:block;margin-bottom:28px}.process-title-row h2{font-size:2rem}.process-title-row>p{margin-top:17px;max-width:100%;font-size:.93rem}.visual-steps{gap:25px 20px}.visual-step-icon{width:39px;height:39px;border-radius:12px;margin-bottom:13px}.visual-steps h3{font-size:1.02rem}.visual-steps p{font-size:.86rem}.portfolio-section{padding-block:45px}.cc-art-strip{gap:20px;padding:20px 12px}.cc-art-strip img{width:74px;height:74px}.cc-illustrated .cc-caption{font-size:.92rem}.visual-company{padding-block:44px}.visual-contact{padding-top:31px;padding-bottom:42px}.visual-contact .contact-panel{padding:29px 25px}.visual-contact .contact-panel h2{font-size:1.9rem}.visual-contact .contact-panel p{font-size:.93rem}.visual-contact .contact-side p{font-size:.87rem}}
@media(max-width:360px){.illustrated-team{grid-template-columns:1fr;text-align:center}.team-art img{max-width:170px}.illustrated-team-copy .team-label{font-size:.67rem}.illustrated-team-copy h3{font-size:1.7rem}.illustrated-team-copy p{font-size:.92rem}.craft-tags{font-size:.67rem}.cc-art-strip{gap:13px}.cc-art-strip img{width:64px;height:64px}}


/* Keep small labels readable at every breakpoint. */
.illustrated-team-copy .team-label,.craft-tags{font-size:11px}.hero .eyebrow{font-size:max(11px,.73rem)}

/* The store badges under CuddleCue, and the stores' trademark line in the footer. Both are written
   by tools/site/build-site.mjs between their marks, from the decided application ids. */
.cc-stores{margin-top:22px}.store-badges{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}.store-badge{display:block;border-radius:10px;line-height:0}.store-badge img{height:44px;width:auto}.store-badge--play img{height:66px;max-width:none;margin:-11px}
.footer-marks{margin-top:34px}.footer-marks:empty{display:none}.store-marks{display:block;font-size:.7rem;line-height:1.5;color:var(--ink-3);max-width:760px}
/* CUDDLECUE'S MAIN FEATURES, EACH WITH ITS LITTLE DRAWING (the owner, 2026-10-18: "perhaps here is
   better if we listed out our cuddlecue main features instead and add some illustrations just as a
   small icon"), in place of the band of three large drawings, which filled a phone's screen */
.cc-features{list-style:none;display:grid;grid-template-columns:1fr;gap:12px;margin:22px 0 20px;padding:0}.cc-features li{display:flex;align-items:center;gap:13px;font-size:.95rem;font-weight:600;color:var(--ink);line-height:1.35}.cc-features img{flex:none;width:42px;height:42px;padding:6px;border-radius:13px;background:#e8f6f4;object-fit:contain}.cc-features li:nth-child(2) img{background:#efeafb}.cc-features li:nth-child(3) img{background:#e6f4ec}.cc-features li:nth-child(4) img{background:#fdecea}
@media(max-width:600px){.cc-features{gap:11px;margin:18px 0}.cc-features li{font-size:.92rem}.cc-features img{width:38px;height:38px;border-radius:12px}}

/* NibbleCue, the next app (2026-11-08): its own leaf green, beside CuddleCue; FirstCue after it */
.portfolio-grid{grid-template-columns:repeat(2,1fr)}
.app-card--nibble{background:#eef6e8;border-color:#d3e7c6}
.app-status--next{background:#dcefd0;color:#2f6a12;box-shadow:inset 0 0 0 1px #bfdcab}
.nibble-name{display:flex;align-items:center;gap:14px;font-size:2rem;color:#2f6a12;margin:0}
.nibble-name img{width:56px;height:56px;border-radius:16px;box-shadow:0 8px 16px -10px rgba(18,52,59,.4)}
.nibble-phones{position:relative;height:260px;overflow:hidden;margin:4px -8px 0;border-radius:18px}
.nphone{position:absolute;top:14px;width:44%;max-width:200px;border-radius:26px;padding:5px;background:linear-gradient(145deg,#3a4448 0%,#1b2124 38%,#0e1214 62%,#2c3438 100%);box-shadow:0 22px 34px -20px rgba(18,52,59,.6)}
.nphone img{width:100%;height:auto;border-radius:21px;display:block}
.nphone--back{left:6%;transform:rotate(-4deg)}
.nphone--front{right:6%;top:30px;transform:rotate(4deg)}

/* NibbleCue, in the works (2026-11-08: "say its under construction"): soft bars where its screens
   will go, so the card reads as being built rather than empty */
.nc-veil{position:relative;margin-top:18px;border-radius:20px;padding:22px 20px 20px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1.5px #cfe5c0;display:grid;gap:10px}
.nc-veil span{display:block;height:12px;border-radius:7px;background:linear-gradient(90deg,#d3e9c4,#e8f4df,#d3e9c4);background-size:200% 100%;animation:ncshine 2.4s ease-in-out infinite}
.nc-veil span:nth-child(1){width:72%}.nc-veil span:nth-child(2){width:52%}.nc-veil span:nth-child(3){width:86%;height:34px;border-radius:12px}
.nc-veil b{position:absolute;right:16px;top:14px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#3a7d18}
@keyframes ncshine{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.nc-veil span{animation:none}}

/* Our one rule and the journey (2026-11-09): inside the story, one line through the three apps,
   each where it came from in our own life and when it comes */
.journey-wrap{margin-top:clamp(28px,4vw,44px)}
.rule{max-width:760px;margin:0 auto 34px;text-align:center}
.rule span{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--coral,#c9503a);font-weight:800;margin-bottom:10px}
.rule p{font-size:clamp(1.05rem,1.8vw,1.22rem);line-height:1.65;color:var(--ink-2);margin:0}
.rule b{color:var(--ink)}
.journey{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}
.journey::before{content:"";position:absolute;left:8%;right:8%;top:40px;border-top:2px dashed #e1d6c6;z-index:0}
.journey li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:0 6px}
.journey img,.j-mystery{width:80px;height:80px;border-radius:24px;box-shadow:0 0 0 6px #fbf6ef,0 14px 24px -16px rgba(18,52,59,.5);margin-bottom:10px}
.j-mystery{display:grid;place-items:center;background:linear-gradient(145deg,#1d4a52,#12343b);color:#f8b965;font-size:2rem;font-weight:900}
.j-when{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 10px}
.j-now .j-when{background:#e2f3f2;color:#14706f}
.j-next .j-when{background:#dcefd0;color:#2f6a12}
.j-soon .j-when{background:#fdf0cc;color:#8a5a00}
.journey b{font-size:1.15rem;color:var(--ink);margin-top:4px}
.journey li>span:not(.j-when):not(.j-mystery):not(.j-go){color:var(--ink-2);font-size:.95rem}
.j-go{margin-top:10px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:9px 16px;font-weight:800;font-size:.85rem;text-decoration:none;background:var(--ink,#12343b);color:#fff}
.j-go .ic{width:16px;height:16px}
.j-go--soon{background:transparent;color:var(--ink-3,#7c9094);box-shadow:inset 0 0 0 1.5px #e1d6c6}
@media(max-width:640px){.journey{grid-template-columns:1fr;gap:22px}.journey::before{left:40px;right:auto;top:20px;bottom:20px;border-top:0;border-left:2px dashed #e1d6c6}.journey li{flex-direction:row;flex-wrap:wrap;text-align:left;align-items:center;gap:4px 12px}.journey img,.j-mystery{width:64px;height:64px;margin:0}.journey li>span:not(.j-when):not(.j-mystery):not(.j-go){flex-basis:100%;padding-left:76px;margin-top:-6px}.j-go{margin-left:76px;margin-top:2px}.journey b{margin:0}}

/* tap targets of at least 24 px on a phone (the website review, 2026-11-10, W23) */
@media(max-width:820px){.footer-group a{display:inline-flex;align-items:center;min-height:32px}.footer-group ul{gap:2px}.footer-bottom a{display:inline-flex;align-items:center;min-height:32px}}
