:root {
    --ink:#392d3c;
    --muted:#716573;
    --rose:#b33568;
    --rose-dark:#912852;
    --line:#eadfe4;
    --paper:#fffaf7;
    --mint:#edf7f1;
    --lavender:#f0edfa;
    --peach:#fff0e2;
    --s-shadow:0 18px 55px #52263d0d
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:105px
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font:15px/1.65 Arial,Helvetica,sans-serif;
    -webkit-font-smoothing:antialiased
}
body.s-dialog-open {
    overflow:hidden
}
h1,h2,h3,p {
    margin-top:0
}
h1,h2 {
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    letter-spacing:-1.8px;
    line-height:1.12
}
h1 em,h2 em {
    font-weight:400;
    color:var(--rose)
}
h2 {
    font-size:clamp(32px,3.05vw,45px);
    margin-bottom:18px
}
h3 {
    line-height:1.35;
    font-size:19px;
    letter-spacing:-.4px
}
p {
    color:var(--muted)
}
a {
    color:inherit;
    text-decoration:none
}
button {
    font:inherit;
    cursor:pointer
}
button,a,summary {
    -webkit-tap-highlight-color:transparent
}
button {
    color:inherit
}
button[hidden],[hidden] {
    display:none!important
}
img {
    max-width:100%;
    height:auto;
    display:block
}
.s-icon {
    width:22px;
    height:22px;
    flex-shrink:0;
    vertical-align:middle
}
.s-container {
    width:min(1240px,calc(100% - 88px));
    margin-inline:auto
}
.s-section {
    padding-block:88px
}
.s-eyebrow {
    font-size:10px;
    font-weight:700;
    letter-spacing:2px;
    line-height:1.8;
    color:var(--rose);
    display:block;
    margin-bottom:17px
}
.s-skip {
    position:fixed;
    top:-100px;
    left:12px;
    z-index:10002;
    background:white;
    border:2px solid var(--rose);
    padding:10px 18px;
    border-radius:10px
}
.s-skip:focus {
    top:12px
}
:focus-visible {
    outline:3px solid #7b56b5;
    outline-offset:5px
}
section[id] {
    scroll-margin-top:20px
}
.s-header {
    position:sticky;
    top:0;
    z-index:20;
    border-bottom:1px solid #eedee588;
    background:#fffaf7ed;
    backdrop-filter:blur(16px)
}
.s-header-inner {
    height:84px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:26px
}
.s-brand {
    flex-shrink:0;
    display:block
}
.s-brand img {
    width:162px;
    height:58px;
    object-fit:contain
}
.s-nav {
    display:flex;
    gap:27px;
    font-size:12px;
    font-weight:600
}
.s-nav a {
    position:relative;
    padding-block:12px;
    color:#665461;
    transition:color .2s
}
.s-nav a:after {
    content:'';
    position:absolute;
    bottom:5px;
    left:0;
    width:100%;
    height:2px;
    background:var(--rose);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .2s
}
.s-nav a:hover {
    color:var(--rose)
}
.s-nav a:hover:after {
    transform:scaleX(1)
}
.s-header-actions {
    display:flex;
    align-items:center;
    gap:23px
}
.s-login {
    display:flex;
    align-items:center;
    gap:7px;
    font-size:12px;
    font-weight:700
}
.s-login .s-icon {
    width:16px
}
.s-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:var(--rose);
    color:white;
    padding:16px 22px;
    border-radius:99px;
    font-size:13px;
    font-weight:700;
    line-height:1.4;
    border:1px solid transparent;
    box-shadow:0 9px 20px #a42e6220;
    transition:background .2s,transform .2s,box-shadow .2s;
    min-height:52px
}
.s-btn>.s-icon {
    width:21px;
    height:21px
}
.s-btn .s-icon:last-child {
    width:17px
}
.s-btn:hover {
    transform:translateY(-3px);
    box-shadow:0 13px 27px #a42e6230;
    background:var(--rose-dark)
}
.s-btn-small {
    padding:12px 18px;
    min-height:44px;
    font-size:12px
}
.s-btn-small .s-icon:last-child {
    width:19px
}
.s-menu {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid var(--line);
    background:white;
    border-radius:50%
}
.s-text-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:700;
    color:var(--rose);
    padding-block:8px;
    border-bottom:1px solid transparent;
    transition:border-color .2s,gap .2s
}
.s-text-link:hover {
    border-color:var(--rose);
    gap:13px
}
.s-text-link>.s-icon {
    width:17px
}
.s-petals {
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:2;
    overflow:hidden
}
.s-petals i {
    position:absolute;
    left:calc(var(--n)*8%);
    top:-4%;
    width:calc(8px + var(--n)*.4px);
    height:calc(5px + var(--n)*.3px);
    background:#df8dad4a;
    border-radius:85% 0 80% 10%;
    animation:s-petal calc(22s + var(--n)*1.1s) linear infinite;
    animation-delay:calc(var(--n)*-3.2s)
}
@keyframes s-petal {
    to {
        transform:translate(45px,105vh) rotate(290deg)
    }
}
.s-hero {
    display:grid;
    grid-template-columns:46% 54%;
    align-items:center;
    padding-top:54px;
    padding-bottom:69px;
    min-height:730px
}
.s-hero-copy {
    position:relative;
    z-index:3;
    padding-right:22px
}
.s-hero-copy .s-eyebrow {
    display:flex;
    align-items:center;
    gap:9px;
    font-size:10px;
    letter-spacing:1.5px
}
.s-live-dot {
    width:7px;
    height:7px;
    flex-shrink:0;
    border-radius:50%;
    background:#719b87;
    box-shadow:0 0 0 4px #e7f0e9
}
.s-hero h1 {
    font-size:clamp(49px,4.6vw,67px);
    margin-bottom:22px;
    letter-spacing:-2.8px
}
.s-hero-copy>p {
    max-width:395px;
    font-size:15px;
    line-height:1.8;
    margin-bottom:25px
}
.s-hero-actions {
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap
}
.s-hero-actions .s-text-link {
    color:#665461
}
.s-hero-reassure {
    display:flex;
    gap:14px;
    margin-top:20px;
    color:#776b72;
    font-size:10px;
    flex-wrap:wrap
}
.s-hero-reassure span {
    display:flex;
    align-items:center;
    gap:4px
}
.s-hero-reassure .s-icon {
    width:13px;
    height:13px;
    color:#5d927f
}
.s-hero-stage {
    position:relative;
    height:585px;
    isolation:isolate
}
.s-hero-stage:before {
    content:'';
    position:absolute;
    inset:22px -18px 22px 15px;
    border-radius:44% 45% 36% 32%;
    background:radial-gradient(ellipse at 90% 18%,#e8efdf,transparent 65%),linear-gradient(140deg,#eee6f5,#fae6e7);
    z-index:-2;
    transform:rotate(-4deg)
}
.s-stage-note {
    position:absolute;
    left:46px;
    top:20px;
    display:flex;
    align-items:center;
    gap:13px;
    z-index:2;
    color:#765363;
    font:21px/1.3 Georgia,serif;
    transform:rotate(-5deg)
}
.s-stage-note em {
    color:#b23c70
}
.s-tiny-flower {
    font-size:46px;
    color:#ba7090;
    font-family:Georgia,serif
}
.s-hero-photo {
    position:absolute;
    right:-5px;
    top:0;
    width:270px;
    height:247px;
    object-fit:cover;
    object-position:72% center;
    border-radius:95px 28px 80px 25px;
    box-shadow:0 0 0 8px #fffaf7;
    border:1px solid #fff8f3;
    transform:rotate(5deg)
}
.s-window {
    background:white;
    border-radius:13px;
    border:5px solid white;
    box-shadow:0 22px 55px #55324524;
    overflow:hidden
}
.s-window-bar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    height:27px;
    font-size:8px;
    color:#958890;
    border-bottom:1px solid #efe6ed;
    padding:0 9px;
    background:#fffdfd
}
.s-window-bar>span:first-child {
    display:flex;
    gap:4px
}
.s-window-bar i {
    width:5px;
    height:5px;
    background:#e8b6c8;
    border-radius:50%
}
.s-window-bar i:nth-child(2) {
    background:#dbd2ec
}
.s-window-bar i:nth-child(3) {
    background:#c4ded0
}
.s-window-bar .s-icon {
    width:11px;
    height:11px
}
.s-hero-window {
    position:absolute;
    top:164px;
    left:0;
    width:91%;
    transform:rotate(-3deg);
    z-index:1;
    transition:transform .35s
}
.s-hero-window:hover {
    transform:rotate(-1deg) translateY(-4px)
}
.s-phone {
    padding:5px;
    background:#fff;
    border-radius:24px;
    border:1px solid #e4d8e1;
    box-shadow:0 14px 35px #55324526;
    position:relative;
    overflow:hidden
}
.s-phone>img {
    border-radius:19px;
    width:100%;
    height:auto
}
.s-phone-camera {
    position:absolute;
    top:10px;
    left:37%;
    width:26%;
    height:9px;
    border-radius:12px;
    background:#382d3a;
    z-index:2
}
.s-hero-phone {
    position:absolute;
    width:149px;
    right:-9px;
    bottom:1px;
    transform:rotate(6deg);
    z-index:2;
    transition:transform .35s
}
.s-hero-phone:hover {
    transform:rotate(3deg) translateY(-4px)
}
.s-stage-chip {
    position:absolute;
    left:11px;
    bottom:-1px;
    z-index:3;
    display:flex;
    align-items:center;
    gap:11px;
    background:#fffffff7;
    border:1px solid #e7e9e1;
    padding:12px 15px;
    border-radius:18px;
    box-shadow:var(--s-shadow);
    transform:rotate(-3deg)
}
.s-stage-chip>span {
    display:grid;
    place-items:center;
    background:#e7f2ec;
    color:#4b8a73;
    width:38px;
    height:38px;
    border-radius:13px
}
.s-stage-chip>div {
    font-size:10px;
    color:#887481;
    line-height:1.6
}
.s-stage-chip strong {
    display:block;
    color:var(--ink);
    font-size:13px
}
.s-stage-chip>.s-icon {
    width:17px;
    margin-left:12px;
    color:#6ba28b
}
.s-stage-caption {
    position:absolute;
    bottom:-28px;
    left:40%;
    font-size:9px;
    color:#8f7c88
}
.s-value-strip {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    padding:28px 8px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    gap:30px
}
.s-value-strip>span {
    display:grid;
    grid-template-columns:44px auto;
    column-gap:12px;
    align-items:center;
    justify-content:center
}
.s-value-strip .s-icon {
    grid-row:1/3;
    width:39px;
    height:39px;
    color:#b77892;
    stroke-width:1.1
}
.s-value-strip>span:nth-child(2) .s-icon {
    color:#6c9a85
}
.s-value-strip>span:nth-child(3) .s-icon {
    color:#9480b2
}
.s-value-strip strong {
    font-size:13px;
    font-weight:600
}
.s-value-strip small {
    font-size:11px;
    color:var(--muted)
}
.s-section-heading {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:36px;
    margin-bottom:27px
}
.s-section-heading>p {
    max-width:330px;
    font-size:13px;
    margin-bottom:22px
}
.s-feature-tabs {
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    margin-bottom:22px
}
.s-feature-tabs>button {
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 20px;
    min-height:46px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:99px;
    color:#7c6876;
    font-size:12px;
    font-weight:600;
    transition:background .2s,transform .2s,box-shadow .2s
}
.s-feature-tabs>button .s-icon {
    width:18px;
    height:18px
}
.s-feature-tabs>button[aria-selected=true] {
    background:#f9e5ee;
    color:var(--rose);
    border-color:#e6bacd;
    box-shadow:0 4px 10px #b13a6510
}
.s-feature-tabs>button:hover {
    transform:translateY(-2px);
    background:#f9e5ee
}
.s-feature-shell {
    border:1px solid var(--line);
    border-radius:28px;
    background:#fff;
    box-shadow:var(--s-shadow);
    overflow:hidden
}
.s-feature-panel {
    display:grid;
    grid-template-columns:35% 65%;
    min-height:510px
}
.s-feature-copy {
    padding:43px 32px
}
.s-feature-copy .s-eyebrow {
    font-size:9px;
    letter-spacing:1.6px
}
.s-feature-copy h3 {
    font:30px/1.16 Georgia,serif;
    letter-spacing:-.8px;
    margin-bottom:18px
}
.s-feature-copy p {
    font-size:13px;
    line-height:1.8
}
.s-check-list {
    list-style:none;
    padding:0;
    margin:23px 0;
    font-size:12px;
    line-height:1.65
}
.s-check-list li {
    display:flex;
    align-items:start;
    gap:9px;
    margin-top:12px
}
.s-check-list li>span {
    margin-top:1px;
    display:grid;
    place-items:center;
    width:19px;
    height:19px;
    border-radius:50%;
    background:#e8f3ed;
    color:#5c8d78;
    flex-shrink:0
}
.s-check-list .s-icon {
    width:12px;
    height:12px
}
.s-feature-preview {
    margin:0;
    min-width:0;
    padding:25px 22px 17px;
    background:linear-gradient(130deg,#f3f4ec,#f2edf8);
    display:flex;
    flex-direction:column;
    justify-content:center
}
.s-preview-toolbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:15px
}
.s-device-picker {
    display:flex;
    padding:3px;
    background:#ffffffbf;
    border:1px solid #e2dce4;
    border-radius:99px
}
.s-device-picker button {
    display:flex;
    align-items:center;
    gap:6px;
    font-size:10px;
    font-weight:600;
    padding:7px 12px;
    border:0;
    background:transparent;
    border-radius:99px;
    color:#7b6c78;
    min-height:33px
}
.s-device-picker button[aria-pressed=true] {
    background:#fff;
    box-shadow:0 2px 9px #6c45681b;
    color:var(--rose)
}
.s-device-picker .s-icon {
    width:14px;
    height:14px
}
.s-zoom {
    display:flex;
    align-items:center;
    gap:5px;
    background:transparent;
    border:0;
    font-size:10px;
    color:#705e74;
    min-height:36px;
    padding:7px
}
.s-zoom:hover {
    color:var(--rose);
    background:#ffffffb0;
    border-radius:8px
}
.s-zoom .s-icon {
    width:14px;
    height:14px
}
.s-preview-surface {
    height:389px;
    display:flex;
    align-items:start;
    justify-content:center;
    overflow:hidden;
    border-radius:13px;
    border:5px solid #fff;
    box-shadow:0 8px 20px #765c7417;
    background:white
}
.s-preview-image {
    width:100%;
    height:auto
}
.s-feature-preview[data-device-view=mobile] .s-preview-surface {
    align-self:center;
    width:188px;
    height:389px;
    border-radius:22px;
    flex-shrink:0
}
.s-feature-preview[data-device-view=mobile] .s-preview-image {
    width:178px
}
.s-feature-preview figcaption {
    font-size:9px;
    color:#7d6d7b;
    text-align:center;
    margin-top:12px
}
.s-journey-band {
    background:#f4f5ee;
    padding-block:72px;
    border-top:1px solid #e7e9dc;
    border-bottom:1px solid #e7e9dc
}
.s-centered-heading {
    text-align:center;
    max-width:760px;
    margin:0 auto 40px
}
.s-centered-heading p {
    font-size:13px
}
.s-journey {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:32px;
    position:relative
}
.s-journey:before {
    content:'';
    position:absolute;
    top:56px;
    left:6%;
    right:6%;
    border-top:1px dashed #cfc7c8
}
.s-journey li {
    position:relative;
    padding:15px 17px 8px 0
}
.s-step-icon {
    display:grid;
    place-items:center;
    width:82px;
    height:82px;
    border:8px solid #f4f5ee;
    border-radius:25px;
    position:relative;
    margin-bottom:15px
}
.s-step-icon .s-icon {
    width:30px;
    height:30px
}
.rose {
    background:#f7dce8;
    color:#aa5378
}
.mint {
    background:#edf7f1;
    color:#4f8d78
}
.lavender {
    background:#efebfb;
    color:#8a6dab
}
.peach {
    background:#fff0e2;
    color:#ac7a43
}
.s-step-number {
    position:absolute;
    top:7px;
    right:19px;
    color:#a79b9d;
    font-size:10px;
    letter-spacing:1px
}
.s-journey h3 {
    font-size:16px;
    margin-bottom:9px
}
.s-journey p {
    font-size:12px;
    line-height:1.8;
    margin-bottom:0;
    max-width:215px
}
.s-journey-note {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:10px;
    color:#7b8074;
    margin-top:30px
}
.s-journey-note .s-icon {
    width:14px;
    height:14px
}
.s-team-section {
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:65px;
    align-items:center
}
.s-team-visual {
    position:relative;
    align-self:stretch;
    min-height:540px;
    margin-top:8px
}
.s-team-visual>img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:38% center;
    border-radius:110px 25px 30px 25px;
    position:absolute
}
.s-team-photo-note {
    position:absolute;
    bottom:39px;
    right:-25px;
    background:#fffdf9f7;
    border:1px solid #f3e3e8;
    padding:19px 24px;
    border-radius:18px;
    display:flex;
    gap:14px;
    align-items:center;
    box-shadow:var(--s-shadow);
    transform:rotate(-3deg)
}
.s-team-photo-note .s-icon {
    color:#719d88;
    width:33px;
    height:33px;
    stroke-width:1.3
}
.s-team-photo-note span {
    font-size:11px;
    color:#7a6b74
}
.s-team-photo-note strong {
    display:block;
    font:23px/1.4 Georgia,serif;
    color:var(--ink)
}
.s-photo-credit {
    position:absolute;
    bottom:8px;
    left:18px;
    font-size:8px;
    background:#fff9;
    padding:2px 7px;
    border-radius:8px;
    color:#65545f
}
.s-team-content {
    padding-right:60px
}
.s-team-content h2 {
    font-size:37px
}
.s-team-content>p {
    font-size:13px
}
.s-role-tabs {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:20px 0 15px
}
.s-role-tabs>button {
    padding:8px 12px;
    min-height:38px;
    font-size:10px;
    font-weight:600;
    border:1px solid #e6dce3;
    border-radius:99px;
    background:#fff;
    color:#796674;
    transition:background .2s,transform .2s
}
.s-role-tabs>button[aria-selected=true] {
    background:var(--rose);
    border-color:var(--rose);
    color:#fff
}
.s-role-tabs>button:hover {
    transform:translateY(-2px);
    border-color:#c690a8
}
.s-role-panel {
    position:relative;
    border:1px solid #e4e4ec;
    background:linear-gradient(125deg,#f4f1fa,#fdf9fd);
    padding:24px 85px 20px 22px;
    border-radius:20px;
    min-height:214px
}
.s-role-panel>img {
    position:absolute;
    right:12px;
    top:14px;
    width:66px;
    height:66px;
    transition:transform .3s
}
.s-role-panel:hover>img {
    transform:rotate(-6deg) translateY(-3px)
}
.s-role-panel h3 {
    font-size:15px;
    margin-bottom:9px;
    max-width:270px
}
.s-role-panel p {
    font-size:12px;
    margin-bottom:12px
}
.s-role-panel ul {
    list-style:none;
    padding:0;
    margin:0;
    font-size:11px;
    display:grid;
    gap:6px
}
.s-role-panel li {
    display:flex;
    align-items:center;
    gap:6px
}
.s-role-panel li .s-icon {
    width:13px;
    height:13px;
    color:#7b9f8b
}
.s-everyday {
    padding-top:8px
}
.s-everyday-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}
.s-mini-feature {
    border:1px solid #e5e3e4;
    border-radius:23px;
    padding:26px;
    display:grid;
    grid-template-columns:1fr 76px;
    align-items:center;
    column-gap:10px;
    transition:transform .25s,box-shadow .25s
}
.s-mini-feature img {
    grid-column:2;
    grid-row:1/3
}
.s-mini-feature h3 {
    font-size:16px;
    margin-bottom:8px;
    color:var(--ink)
}
.s-mini-feature p {
    font-size:12px;
    line-height:1.8;
    margin:0
}
.s-mini-feature:hover {
    transform:translateY(-4px);
    box-shadow:var(--s-shadow)
}
.s-contact {
    margin-top:82px;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:1px solid #e9cdd9;
    border-radius:30px;
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
    align-items:center;
    background:linear-gradient(110deg,#fceaf1,#f8eff5 55%,#f0edf9);
    padding:55px 43px;
    gap:20px
}
.s-contact .s-eyebrow {
    font-size:9px
}
.s-contact h2 {
    font-size:37px
}
.s-contact p {
    font-size:13px;
    max-width:530px;
    margin:0
}
.s-contact-bloom {
    position:absolute;
    font:430px/1 Georgia,serif;
    right:20px;
    top:-88px;
    z-index:-1;
    color:#e8c4d44a;
    transform:rotate(-15deg);
    pointer-events:none
}
.s-contact-action {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:15px
}
.s-contact-action .s-btn {
    font-size:12px;
    padding:16px 18px;
    white-space:nowrap
}
.s-contact-action small {
    font-size:10px;
    text-align:center;
    color:#87717f;
    line-height:1.7
}
.s-faq {
    display:grid;
    grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);
    gap:50px;
    padding-bottom:75px
}
.s-faq>div:first-child>p {
    font-size:13px;
    margin-top:24px
}
.s-faq-list {
    min-width:0
}
.s-faq details {
    border-bottom:1px solid var(--line);
    padding:0;
    margin-bottom:3px
}
.s-faq summary {
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    cursor:pointer;
    min-height:64px;
    font-size:13px;
    font-weight:600;
    padding:14px 2px;
    transition:color .2s
}
.s-faq summary::-webkit-details-marker {
    display:none
}
.s-faq summary:hover {
    color:var(--rose)
}
.s-faq summary>span {
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    flex-shrink:0;
    border-radius:50%;
    background:#f5e9ee;
    color:var(--rose);
    font-size:18px;
    font-weight:400;
    transition:transform .2s
}
.s-faq details[open] summary>span {
    transform:rotate(45deg)
}
.s-faq details p {
    font-size:12px;
    line-height:1.9;
    padding:0 40px 14px 2px;
    margin:0
}
.s-final {
    background:#f1f4ec;
    border-top:1px solid #e5e9df;
    border-bottom:1px solid #e5e9df;
    padding:52px 0;
    text-align:center
}
.s-final .s-container>.s-icon {
    color:#8caa95;
    width:38px;
    height:38px;
    stroke-width:1.1;
    margin-bottom:14px
}
.s-final h2 {
    font-size:40px;
    margin-bottom:25px
}
.s-footer {
    display:flex;
    align-items:center;
    gap:30px;
    padding-block:35px;
    position:relative;
    z-index:3
}
.s-footer .s-brand img {
    width:126px;
    height:50px
}
.s-footer p {
    font-size:10px;
    margin:0 0 5px
}
.s-footer small {
    font-size:9px;
    color:#998992;
    display:block
}
.s-footer-links {
    display:flex;
    gap:17px;
    margin-left:auto;
    white-space:nowrap;
    font-size:10px;
    flex-wrap:wrap;
    justify-content:end
}
.s-footer-links a:hover {
    color:var(--rose);
    text-decoration:underline
}
.s-footer-links button {
    border:0;
    background:none;
    padding:0;
    font-size:10px;
    color:#786771;
    min-height:28px
}
.s-footer-links button:hover {
    color:var(--rose)
}
.s-mobile-contact {
    display:none
}
.s-lightbox {
    border:1px solid var(--line);
    border-radius:22px;
    padding:0;
    width:min(1240px,94vw);
    max-width:94vw;
    max-height:94dvh;
    background:#fffaf8;
    color:var(--ink);
    box-shadow:0 25px 100px #21142144
}
.s-lightbox::backdrop {
    background:#352c3eaa;
    backdrop-filter:blur(5px)
}
.s-lightbox-head {
    position:sticky;
    top:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:17px 24px;
    background:#fffaf8;
    gap:16px;
    z-index:1;
    border-bottom:1px solid var(--line)
}
.s-lightbox-head .s-eyebrow {
    font-size:8px;
    margin:0 0 4px
}
.s-lightbox h2 {
    font:22px/1.2 Georgia,serif;
    margin:0;
    letter-spacing:-.5px
}
.s-close {
    width:44px;
    height:44px;
    background:white;
    border:1px solid var(--line);
    border-radius:50%;
    display:grid;
    place-items:center;
    flex-shrink:0;
    transition:background .2s,transform .2s
}
.s-close:hover {
    background:#fbe6ef;
    transform:rotate(5deg)
}
.s-lightbox-body {
    padding:12px;
    background:#edeaf0;
    overflow:auto;
    max-height:calc(94dvh - 90px)
}
.s-lightbox-body img {
    width:100%;
    height:auto;
    margin:auto
}
.s-lightbox[data-device=mobile] {
    width:min(460px,94vw)
}
.s-lightbox[data-device=mobile] .s-lightbox-body img {
    width:390px
}
.s-reveal {
    opacity:1
}
.s-ready .s-reveal.s-awaiting {
    opacity:0;
    transform:translateY(16px);
    transition:opacity .65s,transform .65s
}
.s-ready .s-reveal.s-revealed {
    opacity:1;
    transform:none;
    transition:opacity .65s,transform .65s
}
.s-motion-paused .s-petals i {
    animation-play-state:paused
}
.s-motion-paused {
    scroll-behavior:auto
}
@media(min-width:1500px) {
    .s-hero {
        grid-template-columns:45% 55%
    }
    .s-hero-window {
        width:90%
    }
    .s-hero h1 {
        font-size:69px
    }
}
@media(max-width:1150px) {
    .s-container {
        width:calc(100% - 64px)
    }
    .s-header-inner {
        gap:20px
    }
    .s-nav {
        gap:17px;
        font-size:11px
    }
    .s-header-actions {
        gap:17px
    }
    .s-brand img {
        width:141px
    }
    .s-header-actions .s-btn-small {
        padding:11px 14px
    }
    .s-hero {
        grid-template-columns:45% 55%;
        min-height:660px;
        padding-top:36px
    }
    .s-hero h1 {
        font-size:55px
    }
    .s-hero-stage {
        height:520px
    }
    .s-hero-photo {
        width:220px;
        height:214px;
        right:6px
    }
    .s-stage-note {
        left:14px;
        font-size:18px
    }
    .s-tiny-flower {
        font-size:35px
    }
    .s-hero-window {
        top:164px
    }
    .s-hero-phone {
        width:132px;
        bottom:10px;
        right:0
    }
    .s-hero-actions {
        gap:10px
    }
    .s-hero-actions>.s-btn {
        font-size:12px;
        padding:14px 17px
    }
    .s-stage-chip {
        bottom:0;
        padding:10px 12px
    }
    .s-hero-reassure {
        gap:10px
    }
    .s-section {
        padding-block:65px
    }
    .s-feature-copy {
        padding:32px 24px
    }
    .s-feature-copy h3 {
        font-size:27px
    }
    .s-feature-panel {
        grid-template-columns:38% 62%
    }
    .s-preview-surface {
        height:340px
    }
    .s-feature-preview[data-device-view=mobile] .s-preview-surface {
        height:340px;
        width:164px
    }
    .s-feature-preview[data-device-view=mobile] .s-preview-image {
        width:154px
    }
    .s-team-section {
        gap:40px
    }
    .s-team-content {
        padding-right:35px
    }
    .s-team-content h2 {
        font-size:32px
    }
    .s-team-visual {
        min-height:570px
    }
    .s-contact {
        padding:38px 30px;
        grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
        margin-top:60px
    }
    .s-contact h2 {
        font-size:32px
    }
    .s-contact-action .s-btn {
        font-size:11px;
        padding:15px
    }
    .s-faq {
        gap:35px;
        grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)
    }
    .s-mini-feature {
        padding:21px;
        grid-template-columns:1fr 58px
    }
    .s-mini-feature h3 {
        font-size:14px
    }
    .s-mini-feature p {
        font-size:11px
    }
    .s-footer {
        gap:20px
    }
    .s-footer-links {
        gap:12px
    }
}
@media(max-width:900px) {
    .s-container {
        width:calc(100% - 44px)
    }
    .s-header-inner {
        height:74px
    }
    .s-header-actions {
        gap:14px
    }
    .s-header .s-btn-small {
        display:none
    }
    .s-nav {
        gap:16px
    }
    .s-brand img {
        width:138px
    }
    .s-hero {
        min-height:610px;
        padding-bottom:50px;
        grid-template-columns:45% 55%
    }
    .s-hero h1 {
        font-size:47px;
        letter-spacing:-2px
    }
    .s-hero-copy {
        padding-right:10px
    }
    .s-hero-copy>p {
        font-size:13px
    }
    .s-hero-copy .s-eyebrow {
        font-size:8px;
        letter-spacing:1px
    }
    .s-hero-stage {
        height:477px
    }
    .s-hero-photo {
        width:182px;
        height:198px;
        right:2px
    }
    .s-stage-note {
        left:5px;
        top:29px;
        font-size:14px
    }
    .s-tiny-flower {
        font-size:29px
    }
    .s-hero-window {
        top:184px;
        width:96%
    }
    .s-hero-phone {
        width:112px;
        right:-5px;
        bottom:22px
    }
    .s-stage-chip {
        bottom:13px;
        left:4px;
        padding:8px 11px;
        gap:8px
    }
    .s-stage-chip strong {
        font-size:11px
    }
    .s-stage-chip>span {
        width:30px;
        height:30px
    }
    .s-stage-chip .s-icon {
        width:17px;
        height:17px
    }
    .s-stage-chip>.s-icon {
        margin-left:1px;
        width:12px
    }
    .s-stage-caption {
        left:20%;
        bottom:-12px
    }
    .s-hero-actions .s-btn {
        padding:14px 15px;
        font-size:11px;
        gap:7px
    }
    .s-hero-reassure {
        font-size:9px;
        gap:8px
    }
    .s-value-strip {
        gap:16px;
        padding-block:23px
    }
    .s-value-strip>span {
        grid-template-columns:29px auto;
        column-gap:8px
    }
    .s-value-strip .s-icon {
        width:27px;
        height:27px
    }
    .s-value-strip strong {
        font-size:11px
    }
    .s-value-strip small {
        font-size:9px
    }
    .s-section-heading>p {
        max-width:250px;
        font-size:12px
    }
    .s-section-heading h2 {
        font-size:32px
    }
    .s-feature-panel {
        grid-template-columns:1fr;
        min-height:0
    }
    .s-feature-copy {
        padding:28px 28px 18px;
        display:grid;
        grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
        column-gap:20px
    }
    .s-feature-copy .s-eyebrow {
        grid-column:1/-1
    }
    .s-feature-copy h3 {
        margin-bottom:9px;
        font-size:28px
    }
    .s-feature-copy p {
        grid-column:1;
        font-size:12px
    }
    .s-feature-copy .s-check-list {
        grid-column:2;
        grid-row:2/5;
        margin:0;
        padding-right:22px;
        font-size:11px
    }
    .s-feature-copy .s-text-link {
        grid-column:1;
        justify-self:start
    }
    .s-feature-preview {
        padding:22px 28px 15px
    }
    .s-preview-surface {
        height:430px
    }
    .s-feature-preview[data-device-view=mobile] .s-preview-surface {
        height:430px;
        width:208px
    }
    .s-feature-preview[data-device-view=mobile] .s-preview-image {
        width:198px
    }
    .s-feature-tabs>button {
        font-size:11px;
        padding:11px 17px
    }
    .s-journey {
        gap:16px
    }
    .s-journey li {
        padding-right:2px
    }
    .s-journey h3 {
        font-size:14px
    }
    .s-journey p {
        font-size:11px
    }
    .s-step-number {
        right:4px
    }
    .s-team-section {
        gap:32px;
        grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)
    }
    .s-team-visual {
        min-height:565px
    }
    .s-team-content h2 {
        font-size:29px
    }
    .s-team-content {
        padding-right:25px
    }
    .s-role-panel {
        padding-right:63px
    }
    .s-role-panel>img {
        width:50px;
        height:50px;
        right:5px
    }
    .s-role-tabs {
        gap:5px
    }
    .s-role-tabs>button {
        padding:8px 10px
    }
    .s-team-photo-note {
        padding:16px;
        right:-18px
    }
    .s-team-photo-note strong {
        font-size:19px
    }
    .s-everyday-grid {
        gap:12px
    }
    .s-mini-feature {
        padding:20px;
        grid-template-columns:1fr
    }
    .s-mini-feature img {
        grid-column:1;
        grid-row:1;
        width:66px;
        height:66px;
        margin-bottom:12px
    }
    .s-contact {
        grid-template-columns:1fr;
        padding:35px;
        gap:24px
    }
    .s-contact-action {
        align-items:start
    }
    .s-contact-action small {
        text-align:left
    }
    .s-contact h2 {
        font-size:34px
    }
    .s-faq {
        gap:24px;
        grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)
    }
    .s-faq h2 {
        font-size:30px
    }
    .s-faq summary {
        font-size:12px
    }
    .s-footer {
        flex-wrap:wrap
    }
    .s-footer-links {
        width:100%;
        justify-content:start;
        margin-left:0
    }
    .s-final h2 {
        font-size:35px
    }
}
@media(max-width:680px) {
    html {
        scroll-padding-top:83px
    }
    .s-container {
        width:calc(100% - 36px)
    }
    .s-section {
        padding-block:49px
    }
    .s-header-inner {
        height:67px;
        gap:13px
    }
    .s-brand img {
        width:128px;
        height:46px
    }
    .s-header-actions {
        gap:16px
    }
    .s-login {
        font-size:11px;
        gap:5px
    }
    .s-login .s-icon {
        width:14px
    }
    .s-menu {
        width:39px;
        height:39px
    }
    .s-nav {
        width:100%;
        justify-content:space-around;
        gap:8px;
        flex-wrap:wrap;
        padding:13px 12px;
        background:#fffaf9;
        border-top:1px solid var(--line)
    }
    .s-header-inner>.s-nav {
        position:absolute;
        left:0;
        right:0;
        top:67px
    }
    .s-nav a {
        font-size:11px;
        padding:8px 5px
    }
    .s-header-inner {
        position:relative
    }
    .s-nav:not([data-enhanced]) {
        display:none
    }
    .s-hero {
        grid-template-columns:1fr;
        padding-top:33px;
        padding-bottom:48px;
        min-height:0;
        gap:21px
    }
    .s-hero-copy {
        padding:0;
        text-align:center
    }
    .s-hero-copy .s-eyebrow {
        justify-content:center;
        letter-spacing:1.2px;
        font-size:8px;
        margin-bottom:18px
    }
    .s-hero h1 {
        font-size:49px;
        line-height:1.08;
        letter-spacing:-2px;
        margin-bottom:20px
    }
    .s-hero h1>br:first-of-type {
        display:none
    }
    .s-desktop-break {
        display:none
    }
    .s-hero-copy>p {
        font-size:13px;
        max-width:360px;
        margin:0 auto 21px;
        line-height:1.8
    }
    .s-hero-actions {
        justify-content:center;
        gap:7px 17px
    }
    .s-hero-actions .s-btn {
        font-size:12px;
        padding:14px 17px;
        min-height:48px
    }
    .s-hero-actions>.s-text-link {
        font-size:10px;
        padding-block:7px
    }
    .s-hero-reassure {
        justify-content:center;
        gap:13px;
        margin-top:12px;
        font-size:9px
    }
    .s-hero-stage {
        height:418px;
        width:min(420px,100%);
        margin-inline:auto
    }
    .s-hero-stage:before {
        inset:5px 0 10px 0
    }
    .s-hero-photo {
        width:181px;
        height:178px;
        right:8px;
        top:3px;
        box-shadow:0 0 0 5px #fffaf7
    }
    .s-stage-note {
        left:10px;
        top:15px;
        font-size:15px;
        gap:8px
    }
    .s-tiny-flower {
        font-size:32px
    }
    .s-hero-window {
        width:91%;
        top:134px;
        left:0;
        border-width:4px
    }
    .s-window-bar {
        height:21px;
        font-size:6px
    }
    .s-hero-phone {
        width:101px;
        bottom:15px;
        right:6px;
        border-radius:19px;
        padding:4px
    }
    .s-phone>img {
        border-radius:15px
    }
    .s-phone-camera {
        top:7px;
        height:6px
    }
    .s-stage-chip {
        left:9px;
        bottom:9px;
        padding:10px;
        gap:8px
    }
    .s-stage-caption {
        bottom:-13px;
        font-size:8px;
        left:27%
    }
    .s-value-strip {
        grid-template-columns:1fr;
        padding:16px 0;
        gap:0
    }
    .s-value-strip>span {
        grid-template-columns:27px 1fr 1fr;
        justify-content:stretch;
        column-gap:10px;
        padding:10px 8px
    }
    .s-value-strip .s-icon {
        grid-row:1;
        width:24px;
        height:24px
    }
    .s-value-strip strong {
        font-size:11px
    }
    .s-value-strip small {
        text-align:right;
        font-size:9px
    }
    .s-section-heading {
        display:block;
        margin-bottom:21px
    }
    .s-section-heading h2 {
        font-size:31px;
        letter-spacing:-1px
    }
    .s-section-heading>p {
        max-width:100%;
        font-size:12px;
        margin-bottom:0
    }
    .s-eyebrow {
        font-size:8px;
        letter-spacing:1.4px;
        margin-bottom:13px
    }
    .s-feature-tabs {
        display:grid;
        grid-template-columns:1fr;
        gap:7px;
        margin-bottom:15px
    }
    .s-feature-tabs>button {
        padding:10px 15px;
        justify-content:start;
        border-radius:12px;
        font-size:11px;
        min-height:43px;
        position:relative
    }
    .s-feature-tabs>button:after {
        content:'›';
        margin-left:auto;
        font-weight:400;
        font-size:15px
    }
    .s-feature-shell {
        border-radius:21px
    }
    .s-feature-copy {
        display:block;
        padding:25px 22px 16px
    }
    .s-feature-copy h3 {
        font-size:27px;
        line-height:1.17
    }
    .s-feature-copy p {
        font-size:12px;
        line-height:1.8
    }
    .s-feature-copy .s-eyebrow {
        font-size:8px
    }
    .s-feature-copy .s-check-list {
        font-size:11px;
        margin:17px 0;
        padding:0
    }
    .s-check-list li {
        margin-top:9px
    }
    .s-feature-copy>.s-text-link {
        font-size:11px
    }
    .s-feature-preview {
        padding:16px 13px 12px
    }
    .s-preview-toolbar {
        gap:8px;
        margin-bottom:12px
    }
    .s-device-picker button {
        padding:7px 10px;
        font-size:9px;
        min-height:34px
    }
    .s-zoom {
        font-size:9px;
        padding:7px 3px;
        gap:4px
    }
    .s-preview-surface {
        height:220px;
        border-width:3px;
        border-radius:8px
    }
    .s-feature-preview[data-device-view=mobile] .s-preview-surface {
        height:401px;
        width:190px;
        border-width:5px;
        border-radius:21px
    }
    .s-feature-preview[data-device-view=mobile] .s-preview-image {
        width:180px
    }
    .s-feature-preview figcaption {
        font-size:8px;
        margin-top:10px
    }
    .s-journey-band {
        padding-block:45px
    }
    .s-centered-heading {
        margin-bottom:25px
    }
    .s-centered-heading h2 {
        font-size:30px;
        letter-spacing:-1px
    }
    .s-centered-heading p {
        font-size:12px
    }
    .s-journey {
        grid-template-columns:1fr 1fr;
        gap:22px 18px
    }
    .s-journey:before {
        display:none
    }
    .s-step-icon {
        width:65px;
        height:65px;
        border-width:5px;
        border-radius:21px;
        margin-bottom:12px
    }
    .s-step-icon .s-icon {
        width:26px;
        height:26px
    }
    .s-journey li {
        padding:0
    }
    .s-step-number {
        top:6px;
        right:4px;
        font-size:9px
    }
    .s-journey h3 {
        font-size:13px
    }
    .s-journey p {
        font-size:11px;
        line-height:1.8
    }
    .s-journey-note {
        font-size:9px;
        line-height:1.6;
        align-items:start;
        text-align:center;
        margin-top:26px
    }
    .s-team-section {
        grid-template-columns:1fr;
        gap:30px
    }
    .s-team-visual {
        height:300px;
        min-height:0;
        margin:0 13px 0 0
    }
    .s-team-visual>img {
        object-position:38% 30%;
        border-radius:65px 22px 22px 22px
    }
    .s-team-photo-note {
        bottom:24px;
        right:-12px;
        padding:11px 15px;
        gap:10px
    }
    .s-team-photo-note strong {
        font-size:21px
    }
    .s-team-photo-note span {
        font-size:9px
    }
    .s-team-photo-note .s-icon {
        width:25px
    }
    .s-team-content {
        padding:0
    }
    .s-team-content h2 {
        font-size:31px
    }
    .s-team-content>p {
        font-size:12px
    }
    .s-role-tabs {
        gap:6px
    }
    .s-role-tabs>button {
        font-size:10px;
        padding:9px 11px;
        min-height:40px
    }
    .s-role-panel {
        min-height:204px;
        padding:21px 73px 21px 20px
    }
    .s-role-panel>img {
        width:59px;
        height:59px;
        right:8px;
        top:19px
    }
    .s-role-panel h3 {
        font-size:15px
    }
    .s-role-panel p {
        font-size:11px
    }
    .s-role-panel ul {
        font-size:10px
    }
    .s-everyday {
        padding-top:0
    }
    .s-everyday-grid {
        grid-template-columns:1fr;
        gap:12px
    }
    .s-mini-feature {
        grid-template-columns:1fr 73px;
        padding:21px;
        column-gap:17px
    }
    .s-mini-feature img {
        grid-column:2;
        grid-row:1/3;
        margin:0;
        width:73px;
        height:73px
    }
    .s-mini-feature h3 {
        font-size:15px
    }
    .s-mini-feature p {
        font-size:11px
    }
    .s-contact {
        margin-top:44px;
        padding:30px 23px;
        border-radius:23px;
        gap:22px
    }
    .s-contact .s-eyebrow {
        font-size:8px;
        letter-spacing:1px
    }
    .s-contact h2 {
        font-size:30px;
        letter-spacing:-1px
    }
    .s-contact p {
        font-size:12px
    }
    .s-contact-action {
        align-items:stretch;
        gap:12px
    }
    .s-contact-action .s-btn {
        font-size:11px;
        gap:7px;
        white-space:normal;
        padding:15px 10px
    }
    .s-contact-action small {
        font-size:9px;
        text-align:center
    }
    .s-contact-bloom {
        font-size:330px;
        right:-65px;
        top:70px
    }
    .s-faq {
        grid-template-columns:1fr;
        gap:8px
    }
    .s-faq h2 {
        font-size:31px
    }
    .s-faq>div:first-child>p {
        font-size:12px;
        margin-top:17px
    }
    .s-faq summary {
        font-size:12px;
        padding:13px 0;
        min-height:66px;
        line-height:1.65
    }
    .s-faq details p {
        font-size:11px;
        padding-right:20px
    }
    .s-final {
        padding-block:39px
    }
    .s-final h2 {
        font-size:30px;
        letter-spacing:-1px
    }
    .s-final .s-btn {
        font-size:12px;
        padding:14px 20px
    }
    .s-footer {
        display:grid;
        grid-template-columns:1fr;
        padding-block:28px 100px;
        gap:11px
    }
    .s-footer .s-brand img {
        width:120px;
        height:45px
    }
    .s-footer small {
        font-size:8px;
        line-height:1.8
    }
    .s-footer-links {
        margin-top:5px;
        gap:20px;
        align-items:center
    }
    .s-mobile-contact {
        position:fixed;
        bottom:calc(12px + env(safe-area-inset-bottom));
        left:18px;
        right:18px;
        z-index:19;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:10px;
        border:1px solid #ffffff80;
        background:#a82f62f5;
        backdrop-filter:blur(14px);
        color:white;
        font-size:12px;
        font-weight:700;
        padding:14px 15px;
        border-radius:99px;
        min-height:51px;
        box-shadow:0 9px 30px #73344a38;
        transition:transform .2s,background .2s
    }
    .s-mobile-contact>.s-icon {
        width:20px;
        height:20px
    }
    .s-mobile-contact>.s-icon:last-child {
        width:16px;
        margin-left:auto
    }
    .s-mobile-contact>.s-icon:first-child {
        margin-right:auto
    }
    .s-lightbox {
        width:96vw;
        max-width:96vw;
        border-radius:16px
    }
    .s-lightbox-head {
        padding:12px 14px
    }
    .s-lightbox h2 {
        font-size:18px
    }
    .s-lightbox-head .s-eyebrow {
        font-size:7px;
        letter-spacing:1px
    }
    .s-lightbox-body {
        padding:6px
    }
    .s-lightbox .s-close {
        width:38px;
        height:38px
    }
    .s-lightbox[data-device=desktop] .s-lightbox-body img {
        width:100%;
        min-width:720px;
        max-width:none
    }
    .s-lightbox[data-device=mobile] .s-lightbox-body img {
        width:100%
    }
}
@media(max-width:370px) {
    .s-container {
        width:calc(100% - 28px)
    }
    .s-header-actions {
        gap:10px
    }
    .s-brand img {
        width:115px
    }
    .s-hero h1 {
        font-size:44px
    }
    .s-hero-stage {
        height:381px
    }
    .s-hero-photo {
        width:160px;
        height:166px
    }
    .s-stage-note {
        font-size:13px;
        gap:5px
    }
    .s-hero-window {
        top:126px
    }
    .s-hero-phone {
        width:93px;
        bottom:12px
    }
    .s-stage-chip {
        padding:8px;
        left:5px
    }
    .s-stage-chip strong {
        font-size:10px
    }
    .s-stage-chip>div {
        font-size:8px
    }
    .s-hero-reassure {
        gap:8px;
        font-size:8px
    }
    .s-hero-actions .s-btn {
        font-size:11px
    }
    .s-value-strip small {
        font-size:8px
    }
    .s-role-tabs>button {
        padding:8px 9px;
        font-size:9px
    }
    .s-contact {
        padding-inline:19px
    }
    .s-contact h2 {
        font-size:28px
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    .s-petals {
        display:none
    }
    *,*:before,*:after {
        animation:none!important;
        transition:none!important
    }
    .s-ready .s-reveal.s-awaiting {
        opacity:1;
        transform:none
    }
    .brand-entry {
        animation:entry-failsafe .01s .15s forwards!important
    }
}
/* Falling decorative petals must not contribute to the page's scrollable width. */
.s-petals {
    contain:strict
}
html {
    overflow-x:clip
}
.s-petals i {
    left:calc(var(--n)*7%)
}
.s-contact-bloom {
    right:50px;
    font-size:clamp(220px,28vw,360px)
}

/* Shared icon rhythm across public navigation; preserve readable labels. */
.s-nav a { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.s-nav a .s-icon { width:15px; height:15px; stroke-width:1.6; }
.s-footer { display:grid; grid-template-columns:1fr; justify-items:center; align-items:center; gap:22px; padding-block:32px 20px; }
.s-footer-brand { max-width:410px; text-align:center; }
.s-footer-brand .s-brand { display:inline-flex; }
.s-footer-brand p { margin:10px 0 0; }
.s-footer-links { display:grid; grid-template-columns:repeat(4,minmax(105px,1fr)); gap:10px 18px; width:min(760px,100%); margin:0; white-space:normal; }
.s-footer .s-footer-copyright { width:100%; padding-top:16px; margin-top:2px; border-top:1px solid var(--line); text-align:center; font-size:10px; line-height:1.5; }
.s-footer-links a,.s-footer-links button { display:inline-flex; gap:7px; align-items:center; min-height:35px; font-size:11px; text-align:left; border-radius:9px; padding:5px; transition:background .2s,color .2s; }
.s-footer-links .s-icon { width:16px; height:16px; color:#9b6a87; }
.s-footer-links a:hover,.s-footer-links button:hover { background:#f6eaf0; text-decoration:none; }
.s-mobile-contact-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:#ffffff; flex-shrink:0; box-shadow:0 2px 8px #57243f18; }
.s-mobile-contact-icon>.s-whatsapp-mark { width:34px; height:34px; display:block; }
.s-mobile-contact-copy { display:flex; flex-direction:column; gap:3px; text-align:left; }
.s-mobile-contact-copy small { font-size:7px; letter-spacing:1px; opacity:.86; font-weight:400; }
.s-mobile-contact-copy strong { font-size:12px; line-height:1.35; }
.s-mobile-contact-arrow { display:grid; place-items:center; width:29px; height:29px; border:1px solid #ffffff55; border-radius:50%; margin-left:auto; flex-shrink:0; }
.s-mobile-contact-arrow>.s-icon { width:15px; height:15px; }
.s-mobile-contact:focus-visible { outline:3px solid #25a96a; outline-offset:4px; }
.s-mobile-contact:active { transform:scale(.985); }
@media(hover:hover) and (pointer:fine) {
    .s-mobile-contact:hover { background:linear-gradient(110deg,#912852,#aa326b); transform:translateY(-2px); box-shadow:0 12px 32px #73344a4d; }
    .s-mobile-contact:hover .s-mobile-contact-arrow { background:#ffffff25; }
}
@media(max-width:1150px) { .s-nav { gap:16px; } .s-header-inner { gap:16px; } .s-header-actions { gap:16px; } .s-footer-links { grid-template-columns:repeat(3,minmax(110px,1fr)); } }
@media(max-width:900px) { .s-nav { gap:12px; } .s-nav a { gap:4px; font-size:10px; } .s-nav a .s-icon { width:13px; height:13px; } .s-header-actions { gap:10px; } .s-footer { display:grid; grid-template-columns:1fr; gap:18px; } .s-footer-links { grid-template-columns:repeat(4,minmax(100px,1fr)); margin:0; } }
@media(max-width:680px) { .s-header-inner>.s-nav[data-enhanced] { width:calc(100% + 36px); left:-18px; right:-18px; display:grid; grid-template-columns:1fr 1fr; padding:12px 18px; gap:6px; box-shadow:0 12px 24px #6b3c5c0d; } .s-nav a { font-size:12px; gap:9px; min-height:44px; padding:9px 12px; border:1px solid #eddee6; border-radius:12px; background:#fffcfd; } .s-nav a .s-icon { width:18px; height:18px; color:#ac6a8b; } .s-nav a:after { display:none; } .s-footer-links { grid-template-columns:1fr 1fr; gap:8px 14px; } .s-footer-links a,.s-footer-links button { min-height:40px; } .s-mobile-contact { justify-content:start; padding:8px 12px; min-height:62px; gap:10px; border-radius:22px; background:linear-gradient(110deg,#a82f62f7,#bf447bf7); } .s-menu { width:44px; height:44px; } .s-lightbox .s-close { width:44px; height:44px; } }
@media(max-width:370px) { .s-mobile-contact-copy strong { font-size:11px; } .s-mobile-contact-copy small { font-size:6px; letter-spacing:.8px; } }

/* Public workflow guides share the landing design and stay outside staff navigation. */
@media(min-width:681px) and (max-width:1150px) { .s-hero-stage:before { right:14px; transform:none; } }
.s-guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.s-guide-card { display:flex; flex-direction:column; align-items:start; padding:26px; border:1px solid var(--line); border-radius:24px; background:linear-gradient(140deg,#fff,#f8f1fb); transition:transform .2s,box-shadow .2s,border-color .2s; }
.s-guide-card:nth-child(2) { background:linear-gradient(140deg,#fff,#edf7f1); }
.s-guide-card:nth-child(3) { background:linear-gradient(140deg,#fff,#fff0e2); }
.s-guide-card:hover { transform:translateY(-4px); box-shadow:var(--s-shadow); border-color:#cb91ae; text-decoration:none; }
.s-guide-card:focus-visible { outline:3px solid var(--rose); outline-offset:4px; }
.s-guide-card h3 { margin:16px 0 7px; font-size:18px; line-height:1.4; }
.s-guide-card p { color:var(--muted); font-size:13px; margin-bottom:22px; }
.s-guide-card .s-text-link { margin-top:auto; font-size:12px; }
.s-guide-icon { width:48px; height:48px; border-radius:16px; display:grid; place-items:center; background:#fbe6ef; color:var(--rose); flex-shrink:0; }
.s-guide-icon .s-icon { width:24px; height:24px; }
.s-guide-card:nth-child(2) .s-guide-icon { background:#dff1e8; color:#347566; }
.s-guide-card:nth-child(3) .s-guide-icon { background:#ffead4; color:#9a6426; }
.s-guide-page .s-header-inner { gap:22px; }
.s-guide-nav { display:flex; align-items:center; gap:25px; margin-left:auto; }
.s-guide-nav a { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:12px; border-radius:10px; padding:5px; }
.s-guide-nav a:hover { color:var(--rose); background:#fbeaf1; }
.s-guide-nav .s-icon { width:17px; height:17px; }
.s-breadcrumb { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:11px; color:var(--muted); margin-bottom:34px; }
.s-breadcrumb a { color:var(--rose); text-decoration:underline; text-underline-offset:4px; }
.s-guide-hero { padding-top:28px; }
.s-guide-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:50px; align-items:center; }
.s-guide-hero-grid h1 { font-size:clamp(38px,4.2vw,62px); margin:20px 0; }
.s-guide-hero-grid p { font-size:15px; line-height:1.85; color:var(--muted); margin-bottom:25px; }
.s-guide-hero-grid figure { margin:0; transform:rotate(-1deg); }
.s-guide-hero-grid figure img { display:block; width:100%; height:auto; }
.s-guide-hero-grid figcaption { padding:9px 14px; font-size:10px; color:var(--muted); background:white; }
.s-guide-details { display:grid; gap:22px; }
.s-guide-details article { display:flex; align-items:start; gap:24px; padding:28px; border:1px solid var(--line); border-radius:24px; background:#ffffffb8; }
.s-guide-details article:nth-child(2) .s-guide-icon { color:#337462; background:#e1f2e8; }
.s-guide-details article:nth-child(3) .s-guide-icon { color:#8d6baa; background:#efe5f9; }
.s-guide-details h2 { font-size:29px; letter-spacing:-.7px; margin:1px 0 14px; }
.s-guide-details p { max-width:830px; color:var(--muted); margin:0; font-size:14px; line-height:1.9; }
.s-guide-page .s-final p { max-width:600px; margin:0 auto 25px; color:var(--muted); }
@media(max-width:900px) { .s-guide-grid { gap:12px; } .s-guide-card { padding:20px; } .s-guide-hero-grid { gap:28px; } }
@media(max-width:680px) { .s-guide-grid { grid-template-columns:1fr; } .s-guide-card { display:grid; grid-template-columns:48px minmax(0,1fr); gap:5px 16px; padding:20px; } .s-guide-card .s-guide-icon { grid-row:1/4; } .s-guide-card h3 { margin:0; font-size:16px; } .s-guide-card p { margin:0 0 5px; font-size:12px; } .s-guide-card .s-text-link { font-size:11px; } .s-guide-page .s-header-inner { gap:10px; } .s-guide-nav { margin-left:auto; } .s-guide-nav a:first-child { display:none; } .s-guide-nav a { font-size:11px; gap:5px; } .s-guide-page .s-header .s-btn { min-height:42px; padding:10px; font-size:10px; gap:5px; } .s-guide-page .s-header .s-brand { width:110px; } .s-guide-hero { padding-top:18px; } .s-breadcrumb { margin-bottom:22px; font-size:10px; } .s-guide-hero-grid { grid-template-columns:1fr; gap:27px; } .s-guide-hero-grid h1 { font-size:39px; letter-spacing:-1.2px; } .s-guide-hero-grid p { font-size:13px; line-height:1.8; } .s-guide-hero-grid figure { transform:none; } .s-guide-details { gap:14px; } .s-guide-details article { gap:14px; padding:20px 16px; } .s-guide-details .s-guide-icon { width:38px; height:38px; border-radius:12px; } .s-guide-details h2 { font-size:24px; letter-spacing:-.5px; } .s-guide-details p { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .s-guide-card { transition:none; } .s-guide-card:hover { transform:none; } }

/* Native same-origin document transitions; links, Back and the no-JS flow stay native. */
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:s-page-out .16s ease-out both; }
::view-transition-new(root) { animation:s-page-in .22s ease-out both; }
@keyframes s-page-out { to { opacity:0; } }
@keyframes s-page-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@supports not (view-transition-name:root) { .s-public-page main { animation:s-page-in .22s ease-out both; } }
@media(prefers-reduced-motion:reduce) {
    @view-transition { navigation:none; }
    ::view-transition-old(root),::view-transition-new(root) { animation:none; }
    .s-mobile-contact:active,.s-mobile-contact:hover { transform:none; }
}
