/* ============================================================
   Miranda Studio — flattened stylesheet for static export
   (concatenated tokens + components + responsive, no @import chain)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500;600;700;800;900&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Hanken+Grotesk:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root {
  --cream-50:#FFFCF8;--cream-100:#FDF8F2;--cream-200:#FAF3EB;--cream-300:#F3E9DF;--cream-400:#E9DBCD;--cream-500:#DCC9B8;
  --rose-100:#F7E3DC;--rose-200:#EFCAC2;--rose-300:#E3B0A2;--rose-400:#D19E8D;--rose-500:#BE8C7E;--rose-600:#A8786B;--rose-700:#916F63;--rose-800:#6E544B;--rose-900:#4A3832;
  --ink-900:#1A1512;--ink-800:#2C2521;--ink-700:#4A413B;--ink-600:#6B5F57;--ink-500:#8C7E74;--ink-400:#B3A698;--pure-black:#010101;--white:#FFFFFF;
  --gradient-rosegold:linear-gradient(105deg,#EFCAC2 0%,#E3B0A2 28%,#C89185 60%,#916F63 100%);
  --gradient-rosegold-soft:linear-gradient(105deg,#F7E3DC 0%,#EFCAC2 50%,#D19E8D 100%);
  --gradient-cream:linear-gradient(180deg,#FDF8F2 0%,#F3E9DF 100%);
  --gradient-ink:linear-gradient(160deg,#2C2521 0%,#1A1512 100%);
  --success:#5E7A5C;--success-bg:#E7EDE3;--warning:#C68A3E;--warning-bg:#F7EBD9;--error:#B5524A;--error-bg:#F6E2DF;--info:#6E544B;--info-bg:#F2E6DF;
  --surface-page:var(--cream-200);--surface-raised:var(--cream-50);--surface-sunken:var(--cream-300);--surface-inverse:var(--ink-900);--surface-accent:var(--rose-100);
  --text-primary:var(--ink-900);--text-heading:var(--ink-800);--text-secondary:var(--ink-600);--text-muted:var(--ink-500);--text-on-rose:#FFFCF8;--text-on-inverse:var(--cream-200);--text-accent:var(--rose-700);
  --border-subtle:var(--cream-400);--border-default:var(--cream-500);--border-strong:var(--rose-700);--border-inverse:rgba(247,227,220,0.18);
  --accent:var(--rose-500);--accent-strong:var(--rose-700);--accent-quiet:var(--rose-100);
  --focus-ring:rgba(190,140,126,0.45);--overlay-scrim:rgba(26,21,18,0.55);
  --font-brand:'Archivo','Arial Narrow',sans-serif;--font-display:'Cormorant Garamond','Georgia',serif;--font-body:'Hanken Grotesk',system-ui,sans-serif;--font-mono:'IBM Plex Mono',ui-monospace,monospace;
  --fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--fw-black:900;
  --text-display-xl:clamp(3.25rem,6vw,5.5rem);--text-display-lg:clamp(2.5rem,4.4vw,4rem);--text-display-md:clamp(2rem,3.2vw,3rem);--text-display-sm:clamp(1.6rem,2.4vw,2.25rem);
  --text-brand-xl:2rem;--text-brand-lg:1.25rem;--text-brand-md:1rem;--text-brand-sm:0.8125rem;--text-brand-xs:0.6875rem;
  --text-xl:1.375rem;--text-lg:1.125rem;--text-base:1rem;--text-sm:0.875rem;--text-xs:0.75rem;
  --leading-tight:1.08;--leading-snug:1.25;--leading-normal:1.5;--leading-relaxed:1.7;
  --tracking-tightest:-0.03em;--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.08em;--tracking-wider:0.16em;--tracking-widest:0.28em;
  --space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;
  --container-max:1200px;--container-wide:1440px;--gutter:clamp(1.25rem,4vw,4rem);
  --radius-none:0;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-xl:22px;--radius-pill:999px;--radius-circle:50%;
  --border-hairline:1px;--border-regular:1.5px;--border-frame:2px;
  --shadow-xs:0 1px 2px rgba(74,56,50,.06);--shadow-sm:0 2px 8px rgba(74,56,50,.07);--shadow-md:0 6px 22px rgba(74,56,50,.09);--shadow-lg:0 18px 48px rgba(74,56,50,.13);--shadow-rose:0 12px 32px rgba(145,111,99,.22);--shadow-inset:inset 0 1px 0 rgba(255,255,255,.5);
  --ease-standard:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-in:cubic-bezier(.5,0,.85,.2);
  --dur-fast:140ms;--dur-base:240ms;--dur-slow:420ms;--dur-reveal:700ms;
  --z-base:0;--z-raised:10;--z-sticky:100;--z-overlay:1000;--z-modal:2000;--z-toast:3000;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-heading);margin:0 0 .4em;text-wrap:balance}
h1{font-size:var(--text-display-lg)}h2{font-size:var(--text-display-md)}h3{font-size:var(--text-display-sm)}
h4,h5,h6{font-family:var(--font-body);font-weight:var(--fw-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--text-heading);margin:0 0 .5em}
h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}
p{margin:0 0 1em;text-wrap:pretty}
a{color:var(--text-accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
strong{font-weight:var(--fw-bold)}
img{max-width:100%;display:block}
::selection{background:var(--rose-200);color:var(--ink-900)}
:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}

.ms-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-brand);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:var(--text-sm);line-height:1;padding:0 var(--space-6);height:52px;border:var(--border-regular) solid transparent;border-radius:var(--radius-pill);background:var(--ink-900);color:var(--cream-100);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard)}
.ms-btn:hover{transform:translateY(-1px)}
.ms-btn:active{transform:translateY(0) scale(.985)}
.ms-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}
.ms-btn--primary{background:var(--ink-900);color:var(--cream-100)}
.ms-btn--primary:hover{background:var(--ink-800);box-shadow:var(--shadow-md)}
.ms-btn--rose{color:var(--text-on-rose);background:var(--gradient-rosegold);border-color:transparent}
.ms-btn--rose:hover{box-shadow:var(--shadow-rose)}
.ms-btn--secondary{background:transparent;color:var(--ink-900);border-color:var(--ink-900)}
.ms-btn--secondary:hover{background:var(--ink-900);color:var(--cream-100)}
.ms-btn--ghost{background:transparent;color:var(--rose-700);border-color:transparent;height:auto;padding:var(--space-2) var(--space-3)}
.ms-btn--ghost:hover{background:var(--rose-100)}
.ms-btn--sm{height:40px;font-size:var(--text-xs);padding:0 var(--space-5)}
.ms-btn--lg{height:60px;font-size:var(--text-base);padding:0 var(--space-7)}
.ms-btn--block{display:flex;width:100%}
.ms-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-circle);border:var(--border-regular) solid var(--border-default);background:var(--cream-50);color:var(--ink-800);cursor:pointer;transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}
.ms-iconbtn:hover{background:var(--rose-100);border-color:var(--rose-300);color:var(--rose-700)}
.ms-iconbtn--solid{background:var(--ink-900);color:var(--cream-100);border-color:transparent}
.ms-iconbtn--solid:hover{background:var(--rose-700);color:var(--cream-50)}
.ms-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--text-brand-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:5px var(--space-3);border-radius:var(--radius-pill);background:var(--rose-100);color:var(--rose-700)}
.ms-badge--solid{background:var(--gradient-rosegold);color:var(--text-on-rose)}
.ms-badge--ink{background:var(--ink-900);color:var(--cream-100)}
.ms-badge--quiet{background:var(--cream-300);color:var(--ink-700)}
.ms-badge--success{background:var(--success-bg);color:var(--success)}
.ms-badge--warning{background:var(--warning-bg);color:var(--warning)}
.ms-badge--error{background:var(--error-bg);color:var(--error)}
.ms-tag{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-weight:var(--fw-medium);font-size:var(--text-sm);padding:var(--space-2) var(--space-4);border:var(--border-hairline) solid var(--border-default);border-radius:var(--radius-pill);background:var(--cream-50);color:var(--ink-700)}
.ms-tag--active{background:var(--ink-900);color:var(--cream-100);border-color:transparent}
.ms-field{display:flex;flex-direction:column;gap:var(--space-2)}
.ms-label{font-family:var(--font-brand);font-weight:var(--fw-semibold);font-size:var(--text-brand-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--ink-600)}
.ms-input,.ms-textarea{font-family:var(--font-body);font-size:var(--text-base);color:var(--ink-900);background:var(--cream-50);border:var(--border-regular) solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);width:100%;transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}
.ms-textarea{min-height:120px;resize:vertical;line-height:var(--leading-normal)}
.ms-input::placeholder,.ms-textarea::placeholder{color:var(--ink-400)}
.ms-input:focus,.ms-textarea:focus{outline:none;border-color:var(--rose-400);box-shadow:0 0 0 3px var(--focus-ring)}
.ms-hint{font-size:var(--text-xs);color:var(--text-muted)}
.ms-hint--error{color:var(--error)}
.ms-card{background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-standard)}
.ms-card--hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.ms-card--bordered{box-shadow:none;border:var(--border-hairline) solid var(--border-subtle)}
.ms-card--inverse{background:var(--gradient-ink);color:var(--text-on-inverse)}
.ms-card__media{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.ms-card__body{padding:var(--space-5)}
.ms-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-circle);overflow:hidden;background:var(--rose-200);color:var(--rose-800);font-family:var(--font-brand);font-weight:var(--fw-bold);object-fit:cover;flex:none}
.ms-avatar--ring{box-shadow:0 0 0 2px var(--cream-50),0 0 0 4px var(--rose-300)}
.ms-divider{border:none;height:1px;background:var(--border-subtle);width:100%}
.ms-divider--rose{height:2px;background:var(--gradient-rosegold);border-radius:var(--radius-pill)}
.ms-divider--short{width:56px}
.ms-section-head{display:flex;flex-direction:column;gap:var(--space-3)}
.ms-section-head[data-align="center"]{align-items:center;text-align:center}
.ms-section-head__eyebrow{font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--text-brand-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--rose-700)}
.ms-section-head__title{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--text-display-md);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-heading);margin:0}
.ms-section-head__lead{font-family:var(--font-body);font-size:var(--text-lg);color:var(--text-secondary);max-width:56ch;margin:0}
.ms-stars{display:inline-flex;gap:2px;color:var(--rose-500);font-size:var(--text-lg);line-height:1}
.ms-stars--ink{color:var(--ink-900)}
.ms-service{position:relative;display:flex;flex-direction:column}
.ms-service__media{position:relative;overflow:hidden;border-radius:var(--radius-lg)}
.ms-service__media img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center;display:block;transition:transform var(--dur-slow) var(--ease-out)}
.ms-service:hover .ms-service__media img{transform:scale(1.04)}
.ms-service__media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(26,21,18,.55) 0%,rgba(26,21,18,0) 55%)}
.ms-service__num{position:absolute;top:var(--space-4);left:var(--space-4);z-index:1;font-family:var(--font-brand);font-weight:var(--fw-black);font-size:var(--text-brand-md);letter-spacing:var(--tracking-wide);color:var(--cream-100);opacity:.9}
.ms-service__title{position:absolute;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);z-index:1;font-family:var(--font-brand);font-weight:var(--fw-bold);font-size:var(--text-brand-lg);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--cream-50)}
.ms-service__desc{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-secondary);margin:var(--space-4) 0 0;line-height:var(--leading-relaxed)}
.ms-statframe{border:var(--border-frame) solid;border-image:var(--gradient-rosegold) 1;padding:var(--space-6) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);background:var(--cream-50)}
.ms-statframe__value{font-family:var(--font-display);font-weight:var(--fw-semibold);font-size:var(--text-display-sm);color:var(--ink-900);line-height:1}
.ms-statframe__label{font-family:var(--font-brand);font-weight:var(--fw-semibold);font-size:var(--text-brand-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--rose-700)}
.ms-testimonial{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-6);background:var(--cream-50);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.ms-testimonial__quote{font-family:var(--font-display);font-style:italic;font-weight:var(--fw-medium);font-size:var(--text-display-sm);line-height:var(--leading-snug);color:var(--ink-800);margin:0}
.ms-testimonial__person{display:flex;align-items:center;gap:var(--space-3)}
.ms-testimonial__name{font-family:var(--font-body);font-weight:var(--fw-bold);font-size:var(--text-base);color:var(--ink-900)}
.ms-testimonial__loc{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-muted)}

.ms-reveal{opacity:0;transform:translateY(28px);transition:opacity 700ms cubic-bezier(.16,1,.3,1),transform 700ms cubic-bezier(.16,1,.3,1)}
.ms-reveal--visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.ms-reveal{opacity:1!important;transform:none!important;transition:none!important}}
.ms-hamburger{display:none}
@media (max-width:860px){
  .ms-nav-links{display:none!important}
  .ms-hamburger{display:inline-flex!important}
  .ms-grid-2,.ms-grid-3,.ms-grid-intro,.ms-grid-contact,.ms-footer-grid,.ms-stats-row,.ms-service-row{grid-template-columns:1fr!important}
  .ms-service-row>*{order:initial!important}
  .ms-masonry{column-count:2!important}
  .ms-hero-title{font-size:clamp(2.4rem,9vw,3.2rem)!important}
  .ms-section-pad{padding-left:20px!important;padding-right:20px!important}
}
@media (max-width:520px){
  .ms-masonry{column-count:1!important}
  .ms-stats-row{gap:12px!important}
}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-thumb{background:var(--cream-500);border-radius:999px}
html,body{background:var(--cream-200)}
#app{min-height:100vh}
