:root {
  --rose: #c97870;
  --rose-dark: #9c514d;
  --blush: #f7d9d4;
  --pale: #fff9f7;
  --cream: #fffdfb;
  --gold: #c79142;
  --ink: #2b2728;
  --muted: #74686b;
  --line: #ead4cf;
  --shadow: 0 20px 55px rgba(128, 75, 68, .14);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: Montserrat, Arial, sans-serif; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.narrow { max-width: 850px; }
.center { text-align: center; }
.section { padding: 92px 0; }
.soft-bg { background: linear-gradient(135deg, #fff9f7, #fce9e5 55%, #fffdfb); }
.eyebrow { margin: 0 0 10px; color: var(--rose-dark); font-size: .78rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
h1,h2,h3 { font-family: "Cormorant Garamond", Georgia, serif; line-height: 1.05; margin-top: 0; }
h1 { font-size: clamp(2.8rem, 6vw, 5rem); margin-bottom: 22px; }
h2 { font-size: clamp(2.4rem, 4vw, 4rem); margin-bottom: 18px; }
h3 { font-size: 1.8rem; margin-bottom: 12px; }
p { color: var(--muted); }
.lead { font-size: 1.13rem; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 253, 251, .92); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(199,145,66,.2); }
.nav-wrap { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 42px; height: 42px; border: 1px solid var(--gold); border-radius: 50%; display: grid; place-items: center; font-family: "Cormorant Garamond", serif; font-size: 1.25rem; font-weight: 700; color: var(--rose-dark); background: linear-gradient(145deg,#fff,#f8d9d4); }
.brand-name { font-family: "Cormorant Garamond", serif; font-size: 1.6rem; font-weight: 700; }
.main-nav { display: flex; align-items: center; gap: 28px; font-size: .9rem; font-weight: 600; }
.main-nav a:hover { color: var(--rose-dark); }
.nav-button { padding: 11px 18px; border: 1px solid var(--rose); border-radius: 99px; }
.menu-toggle { display: none; border: 0; background: none; padding: 8px; }
.menu-toggle span { width: 25px; height: 2px; display: block; margin: 5px; background: var(--ink); }
.hero { background: #f9e4df; border-bottom: 1px solid var(--line); }
.hero img { width: 100%; }
.hero-actions { display: none; }
.intro { background: radial-gradient(circle at top, #fff 0%, #fffaf8 70%); }
.section-heading { max-width: 760px; margin-bottom: 44px; }
.section-heading.center { margin-left: auto; margin-right: auto; }
.card-grid { display: grid; gap: 24px; }
.card-grid.three { grid-template-columns: repeat(3, 1fr); }
.service-card { position: relative; padding: 38px 32px; background: rgba(255,255,255,.86); border: 1px solid var(--line); border-radius: 28px; box-shadow: 0 14px 40px rgba(112,69,64,.08); transition: transform .25s ease, box-shadow .25s ease; }
.service-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.service-card.featured { background: linear-gradient(145deg, #fff, #f9dfda); border-color: #deb2aa; }
.service-card .icon { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 18px; margin-bottom: 26px; font-size: 1.65rem; color: var(--rose-dark); background: linear-gradient(145deg, #fff0ed, #f2c8c2); border: 1px solid #e7beb7; }
.service-card a { color: var(--rose-dark); font-weight: 700; font-size: .9rem; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 38px; }
.step { border-top: 1px solid var(--gold); padding-top: 24px; }
.step span { color: var(--gold); font-family: "Cormorant Garamond", serif; font-size: 1.5rem; }
.portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.portfolio-item { min-height: 320px; padding: 34px; display: flex; align-items: flex-end; border-radius: 28px; overflow: hidden; box-shadow: var(--shadow); position: relative; isolation: isolate; }
.portfolio-item::before,.portfolio-item::after { content:""; position:absolute; border-radius:50%; z-index:-1; filter:blur(2px); }
.portfolio-item::before { width:220px;height:220px;right:-45px;top:-45px;background:rgba(255,255,255,.4); }
.portfolio-item::after { width:120px;height:120px;left:30px;top:40px;border:1px solid rgba(255,255,255,.65); }
.portfolio-item.rose { background: linear-gradient(145deg,#d99a94,#9f5551); }
.portfolio-item.blush { background: linear-gradient(145deg,#f8ded9,#dba8a0); }
.portfolio-item.gold { background: linear-gradient(145deg,#dfc18e,#b98436); }
.portfolio-item.cream { background: linear-gradient(145deg,#fff8ef,#d9b8a8); }
.portfolio-item div { background: rgba(255,255,255,.86); padding: 18px 22px; border-radius: 16px; }
.portfolio-item span { font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--rose-dark); font-weight: 700; }
.portfolio-item h3 { margin: 4px 0 0; }
.about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.about-art { min-height: 420px; position: relative; display: grid; place-items: center; border-radius: 50% 50% 45% 55%; background: radial-gradient(circle at 35% 30%, #fff, #f4cfc8 55%, #d79b91); box-shadow: var(--shadow); }
.monogram { width: 210px; height: 210px; border-radius: 50%; display: grid; place-items: center; border: 2px solid rgba(199,145,66,.75); color: var(--rose-dark); background: rgba(255,255,255,.65); font: 700 6rem/1 "Cormorant Garamond", serif; }
.sparkle { position: absolute; color: var(--gold); font-size: 2rem; }.s1{top:70px;right:70px}.s2{bottom:90px;left:70px}.s3{right:85px;bottom:60px;color:var(--rose-dark)}
.signature { margin-top: 26px; color: var(--rose-dark); font-family: "Cormorant Garamond", serif; font-size: 1.45rem; font-style: italic; }
.cta { padding-top: 35px; }
.cta-box { padding: 70px 30px; border-radius: 34px; background: linear-gradient(135deg, #f7d7d1, #fffaf8 50%, #eed4c2); border: 1px solid #e7c6bd; box-shadow: var(--shadow); }
.button { display: inline-block; border-radius: 999px; padding: 14px 25px; font-weight: 700; font-size: .9rem; transition: transform .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { color: white; background: linear-gradient(135deg, var(--rose), var(--rose-dark)); box-shadow: 0 10px 26px rgba(156,81,77,.25); }
.button.secondary { color: var(--rose-dark); background: rgba(255,255,255,.9); border: 1px solid var(--rose); }
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 68px; }
.contact-details { margin-top: 34px; padding-left: 22px; border-left: 2px solid var(--gold); }
.contact-form { display: grid; gap: 18px; padding: 34px; background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow); }
.contact-form label { display: grid; gap: 8px; color: var(--ink); font-weight: 600; font-size: .85rem; }
input,select,textarea { width: 100%; border: 1px solid #ddc9c4; border-radius: 12px; padding: 13px 14px; background: #fffaf8; font: inherit; color: var(--ink); }
textarea { resize: vertical; }
input:focus,select:focus,textarea:focus { outline: 2px solid rgba(201,120,112,.24); border-color: var(--rose); }
.contact-form .button { border: 0; cursor: pointer; justify-self: start; }
.site-footer { padding: 42px 0; background: #2d2728; color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; }
.footer-brand { font-family: "Cormorant Garamond", serif; font-size: 2rem; }
.site-footer p { color: #d8c9c8; margin: 4px 0; }
.footer-links { display: flex; gap: 22px; font-size: .85rem; }
.copyright { grid-column: 1 / -1; padding-top: 20px; margin-top: 10px !important; border-top: 1px solid rgba(255,255,255,.12); font-size: .8rem; }
@media (max-width: 900px) {
  .main-nav { position: absolute; left: 20px; right: 20px; top: 70px; display: none; flex-direction: column; align-items: stretch; padding: 22px; background: #fffdfb; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .menu-toggle { display: block; }
  .hero { position: relative; }
  .hero-actions { display: flex; justify-content: center; gap: 12px; padding: 18px 20px 26px; background: #fff9f7; }
  .card-grid.three,.steps { grid-template-columns: 1fr; }
  .about-grid,.contact-grid { grid-template-columns: 1fr; }
  .about-art { min-height: 330px; }
}
@media (max-width: 640px) {
  .container { width: min(100% - 28px, 1160px); }
  .section { padding: 68px 0; }
  .brand-name { font-size: 1.35rem; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .portfolio-item { min-height: 250px; }
  .hero-actions { flex-direction: column; }
  .button { text-align: center; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-links { flex-wrap: wrap; }
}

/* Featured in-world brands */
.virtual-brands{margin-top:42px;text-align:center;padding:28px;border-radius:28px;background:linear-gradient(135deg,#fff8fb,#f9e8f3);box-shadow:var(--shadow)}
.virtual-brands h3{margin:8px 0 12px;font-size:clamp(1.35rem,3vw,2rem)}
.virtual-brands>p:not(.eyebrow){max-width:780px;margin:0 auto 24px;line-height:1.7}
.virtual-brands-showcase{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 12px 32px #50253b35}
.virtual-brand-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.virtual-brand-links a{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;text-decoration:none;border-radius:18px;padding:20px 12px;background:linear-gradient(135deg,#ffedf8,#ffe0ed);border:2px solid #e6a2be;color:#65314d;transition:transform .2s,box-shadow .2s}
.virtual-brand-links a:hover,.virtual-brand-links a:focus-visible{transform:translateY(-3px);box-shadow:0 9px 20px #50253b2e}
.virtual-brand-links strong{font-size:1.18rem}.virtual-brand-links span{font-weight:600}.virtual-brand-links small{font-size:.85rem}
@media(max-width:650px){.virtual-brands{padding:18px 12px}.virtual-brand-links{grid-template-columns:1fr}}

/* Client logo gallery */
.client-logo-gallery{margin-top:42px;text-align:center;padding:30px 24px;border-radius:28px;background:linear-gradient(145deg,#fffaf8,#f9e8e5);box-shadow:var(--shadow);scroll-margin-top:100px}
.client-logo-gallery h3{font-size:clamp(1.6rem,3vw,2.3rem);margin:8px 0 10px}
.client-logo-gallery>p:not(.eyebrow){margin:0 auto 26px;max-width:650px}
.client-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.client-logo-card{margin:0;min-width:0;background:white;border:1px solid #efd6d1;border-radius:18px;overflow:hidden;box-shadow:0 6px 18px #70453b14}
.client-logo-image{height:225px;display:flex;align-items:center;justify-content:center;padding:14px;background:repeating-conic-gradient(#faf7f7 0% 25%,#fff 0% 50%) 50% / 20px 20px}
.client-logo-image img{width:100%;height:100%;object-fit:contain}
.client-logo-card figcaption{padding:12px 8px 15px;font-weight:700;color:#714850}
@media(max-width:780px){.client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.client-logo-gallery{padding:22px 12px}.client-logo-grid{grid-template-columns:1fr}.client-logo-image{height:250px}}

/* Featured work: designs sit directly inside the existing feature panels, no individual tiles */
.featured-work-grid{align-items:stretch}
.featured-work-grid .portfolio-expanded{height:auto;min-height:0;display:block;overflow:visible;scroll-margin-top:95px}
.featured-work-grid .portfolio-expanded .feature-inner{width:100%;position:relative;z-index:1}
.floating-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 12px;margin-top:22px;align-items:center}
.floating-logo{margin:0;text-align:center;background:transparent!important;border:0!important;box-shadow:none!important;padding:4px;min-width:0}
.floating-logo img{display:block;max-width:100%;width:auto;height:auto;max-height:105px;object-fit:contain;margin:0 auto;background:transparent!important;border:0;box-shadow:none}
.floating-logo figcaption{font-size:.73rem;line-height:1.35;margin-top:7px;font-weight:650}
.compact-brands-art{display:block;width:min(100%,350px);height:auto;margin:16px auto;border-radius:8px}
.compact-brand-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.compact-brand-links a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 12px;border-radius:12px;background:#fff9;color:#66364f;text-decoration:none;font-weight:700;font-size:.85rem}
.compact-brand-links small{font-size:.72rem;font-weight:500}
@media(max-width:550px){.floating-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.floating-logo img{max-height:95px}.compact-brands-art{width:min(100%,300px)}}

/* Separate clickable virtual creator artwork — no combined Featured Work banner */
.creator-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;align-items:start}
.creator-card{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:#63364f;gap:10px;min-width:0;transition:transform .2s ease}
.creator-card:hover,.creator-card:focus-visible{transform:translateY(-4px)}
.creator-card img{display:block;width:100%;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 6px 20px #623d5222}
.creator-card span{font-weight:750;font-size:.95rem}
.creator-card small{display:block;font-size:.74rem;font-weight:500;margin-top:3px}
@media(max-width:530px){.creator-showcase{grid-template-columns:1fr;max-width:340px;margin:16px auto 0}}

/* Compact Featured Work artwork: generous breathing room, no logo tiles */
#client-logos .floating-logo-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 22px;
  row-gap: 26px;
  margin-top: 26px;
  justify-items: center;
}
#client-logos .floating-logo { width: 100%; padding: 0; }
#client-logos .floating-logo img {
  max-width: min(100%, 105px);
  max-height: 76px;
  width: auto;
  height: auto;
  object-fit: contain;
}
#client-logos .floating-logo figcaption { font-size: .67rem; margin-top: 8px; }
#digital-graphics .creator-showcase {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 44px);
  max-width: 520px;
  margin: 24px auto 0;
  align-items: center;
}
#digital-graphics .creator-card { width: 100%; min-width: 0; }
#digital-graphics .creator-card img {
  width: 100%; max-width: 225px; height: auto; margin: 0 auto;
}
@media (max-width: 530px) {
  #client-logos .floating-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; }
  #client-logos .floating-logo img { max-width: 100px; max-height: 70px; }
  #digital-graphics .creator-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 100%; }
  #digital-graphics .creator-card img { max-width: 190px; }
}

/* Older/Today logo comparisons stay together, without individual tiles */
#client-logos .floating-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;align-items:start; }
#client-logos .logo-comparison {min-width:0;text-align:center;grid-column:span 1;}
#client-logos .comparison-heading {font-weight:750;color:#704153;font-size:.85rem;margin-bottom:12px;}
#client-logos .comparison-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:center;}
#client-logos .comparison-pair .floating-logo {min-width:0;}
#client-logos .comparison-pair .floating-logo img {max-width:100%;max-height:90px;}
#client-logos .comparison-pair figcaption {font-size:.72rem;margin-top:8px;}
#client-logos .standalone-logo {align-self:center;}
@media(max-width:650px){#client-logos .floating-logo-grid{grid-template-columns:1fr;gap:26px;}#client-logos .comparison-pair{gap:16px;}}

/* Final compact layout: logos side by side, with paired revisions together. */
#client-logos .floating-logo-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 12px;
  align-items:start;
  justify-items:stretch;
  margin-top:16px;
}
#client-logos .logo-comparison {grid-column:auto;min-width:0;}
#client-logos .comparison-heading {font-size:.7rem;margin-bottom:5px;}
#client-logos .comparison-pair {grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
#client-logos .floating-logo {min-width:0;padding:0;margin:0;}
#client-logos .floating-logo img,
#client-logos .comparison-pair .floating-logo img {
  display:block;width:auto;height:auto;max-width:100%;max-height:48px;
  object-fit:contain;margin:0 auto;
}
#client-logos .floating-logo figcaption,
#client-logos .comparison-pair figcaption {font-size:.58rem;line-height:1.2;margin-top:4px;overflow-wrap:anywhere;}
#client-logos .standalone-logo {align-self:center;}
#digital-graphics .creator-showcase {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(20px,5vw,44px);max-width:320px;
  margin:18px auto 0;align-items:center;justify-items:center;
}
#digital-graphics .creator-card {width:100%;max-width:125px;min-width:0;}
#digital-graphics .creator-card img {width:100%;max-width:125px;height:auto;box-shadow:none;}
@media(max-width:650px){
  #client-logos .floating-logo-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;}
  #client-logos .floating-logo img,#client-logos .comparison-pair .floating-logo img {max-height:40px;}
  #digital-graphics .creator-showcase {grid-template-columns:repeat(2,minmax(0,1fr));max-width:280px;gap:20px;}
  #digital-graphics .creator-card,#digital-graphics .creator-card img {max-width:110px;}
}

/* Balanced portfolio sizing: readable artwork without oversized feature cards. */
#client-logos .floating-logo-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 13px;
  align-items: center;
}
#client-logos .floating-logo img,
#client-logos .comparison-pair .floating-logo img {
  max-width: 100%; max-height: 82px; width: auto; height: auto;
}
#client-logos .comparison-heading {font-size: .78rem; margin-bottom: 7px;}
#client-logos .comparison-pair {gap: 8px;}
#client-logos .floating-logo figcaption,
#client-logos .comparison-pair figcaption {font-size: .67rem; line-height: 1.25; margin-top: 6px;}
#digital-graphics .creator-showcase {
  max-width: 490px;
  gap: 30px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
#digital-graphics .creator-card,
#digital-graphics .creator-card img {max-width: 205px; width: 100%;}
@media (max-width: 650px) {
  #client-logos .floating-logo-grid {grid-template-columns: repeat(2,minmax(0,1fr));gap:16px 10px;}
  #client-logos .floating-logo img,
  #client-logos .comparison-pair .floating-logo img {max-height: 68px;}
  #digital-graphics .creator-showcase {max-width: 100%;gap: 18px;}
  #digital-graphics .creator-card,
  #digital-graphics .creator-card img {max-width: 205px;}
}

/* Requested sizes relative to the original artwork display: logos 50%, digital 60%. */
#client-logos .floating-logo img,
#client-logos .comparison-pair .floating-logo img {
  max-width: 100%;
  max-height: 100px;
  width: auto;
  height: auto;
  object-fit: contain;
}
#client-logos .floating-logo-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px;}
#digital-graphics .creator-showcase {
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width: 570px;
  gap: 32px;
  margin-left:auto;
  margin-right:auto;
}
#digital-graphics .creator-card,
#digital-graphics .creator-card img {max-width: 245px;width:100%;}
@media(max-width:650px){
  #client-logos .floating-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  #client-logos .floating-logo img,#client-logos .comparison-pair .floating-logo img{max-height:85px;}
  #digital-graphics .creator-showcase{gap:16px;max-width:100%;}
  #digital-graphics .creator-card,#digital-graphics .creator-card img{max-width:245px;}
}

/* Uniform, readable portfolio logos; never squeeze comparisons into nested columns. */
#client-logos .floating-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px;align-items:start;}
#client-logos .floating-logo{width:100%;min-width:0;padding:0;text-align:center;}
#client-logos .floating-logo img{display:block;width:100%;max-width:175px;height:125px;max-height:none;object-fit:contain;margin:0 auto;}
#client-logos .floating-logo figcaption{font-size:.83rem;line-height:1.35;margin-top:9px;overflow-wrap:normal;}
@media(max-width:720px){#client-logos .floating-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;}#client-logos .floating-logo img{max-width:165px;height:115px;}}
@media(max-width:390px){#client-logos .floating-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px;}#client-logos .floating-logo img{height:95px;}#client-logos .floating-logo figcaption{font-size:.75rem;}}

/* Creator artwork: 10% larger than the previous display, preserving spacing. */
#digital-graphics .creator-showcase { max-width: 625px; gap: 32px; }
#digital-graphics .creator-card,
#digital-graphics .creator-card img { max-width: 270px; }
@media (max-width:650px) {
  #digital-graphics .creator-showcase { max-width:100%; gap:16px; }
  #digital-graphics .creator-card,
  #digital-graphics .creator-card img { max-width:270px; }
}
