:root {
  --ink: #090a0d;
  --ink-soft: #12141a;
  --ink-raised: #181b22;
  --bone: #f4f1e8;
  --paper: #fbfaf6;
  --chrome: #bfc4cc;
  --muted: #8f96a3;
  --lime: #b7ff3c;
  --lime-soft: rgba(183, 255, 60, .14);
  --line: rgba(255, 255, 255, .12);
  --radius: 28px;
  --header-height: 82px;
  --ease: cubic-bezier(.2,.75,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; color: var(--bone); background: var(--ink); font-family: "Manrope", sans-serif; overflow-x: hidden; }
body.is-loading { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img, video { max-width: 100%; display: block; }
::selection { background: var(--lime); color: var(--ink); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.page-noise { position: fixed; inset: 0; pointer-events: none; z-index: 100; opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }
.cursor-glow { position: fixed; width: 420px; height: 420px; border-radius: 50%; pointer-events: none; z-index: 0; transform: translate(-50%,-50%); background: radial-gradient(circle, rgba(183,255,60,.09), transparent 66%); opacity: 0; transition: opacity .3s ease; }

.loader { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; background: #050608; transition: opacity .7s var(--ease), visibility .7s; }
.loader.is-hidden { opacity: 0; visibility: hidden; }
.loader__video { width: min(520px, 84vw); aspect-ratio: 16/9; object-fit: cover; mix-blend-mode: lighten; }
.loader__label { position: absolute; bottom: 40vh; text-transform: uppercase; letter-spacing: .45em; color:#a1a0a0; font-size: .65rem; }
.loader__skip { position: absolute; right: 28px; top: 28px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.04); padding: .7rem 1rem; cursor: pointer; }

.site-header { position: fixed; top: 0; left: 0; width: 100%; height: var(--header-height); z-index: 90; display: grid; grid-template-columns: 220px 1fr 140px; align-items: center; padding: 0 clamp(22px, 4vw, 68px); border-bottom: 1px solid transparent; transition: background .35s, border-color .35s, backdrop-filter .35s; }
.site-header.is-scrolled { background: rgba(9,10,13,.78); border-color: var(--line); backdrop-filter: blur(18px); }
.brand img { width: 184px; height: auto; }
.site-nav { justify-self: center; display: flex; align-items: center; gap: clamp(20px, 2.5vw, 42px); font-size: .82rem; }
.site-nav a { color: rgba(244,241,232,.72); transition: color .2s; }
.site-nav a:hover { color: var(--bone); }
.nav-cta { border: 1px solid rgba(183,255,60,.42); border-radius: 999px; padding: .72rem 1rem; color: var(--bone)!important; }
.header-socials { justify-self: end; }
.social-links { display: flex; gap: 10px; }
.social-links svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.header-socials a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 50%; color: var(--chrome); transition: .25s var(--ease); }
.header-socials a:hover { color: var(--ink); background: var(--lime); border-color: var(--lime); transform: translateY(-2px); }
.nav-toggle { display: none; background: none; border: 0; width: 44px; height: 44px; padding: 12px; }
.nav-toggle span:not(.sr-only) { display: block; width: 100%; height: 1px; background: var(--bone); margin: 7px 0; }

.scroll-story { height: 620vh; position: relative; background: #050608; }
.story-sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.story-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.82) contrast(1.06); }
.story-vignette { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,6,8,.76) 0%, rgba(5,6,8,.2) 48%, rgba(5,6,8,.26) 100%), linear-gradient(0deg, rgba(5,6,8,.56), transparent 32%, rgba(5,6,8,.18)); }
.story-grid { position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 88px 88px; mask-image: linear-gradient(to right, black, transparent 82%); }
.story-progress { position: absolute; z-index: 5; right: clamp(22px,4vw,66px); top: 50%; width: 2px; height: 28vh; background: rgba(255,255,255,.16); transform: translateY(-50%); }
.story-progress__fill { display: block; width: 100%; height: 0; background: var(--lime); box-shadow: 0 0 18px rgba(183,255,60,.6); }
.story-copy { position: absolute; left: clamp(24px, 8vw, 150px); top: 50%; width: min(700px, 72vw); transform: translateY(-44%); z-index: 4; opacity: 0; visibility: hidden; transition: opacity .45s var(--ease), transform .45s var(--ease); }
.story-copy.is-active { opacity: 1; visibility: visible; transform: translateY(-50%); }
.story-copy h1, .story-copy h2 { font-family: "Space Grotesk", sans-serif; font-weight: 600; margin: 0 0 1.4rem; font-size: clamp(3rem, 6.5vw, 7rem); line-height: .93; letter-spacing: -.055em; }
.story-copy h1 span, .story-copy h2 span { color: var(--lime); }
.story-copy p:not(.eyebrow) { max-width: 620px; color: rgba(244,241,232,.72); font-size: clamp(1rem,1.5vw,1.25rem); line-height: 1.7; }
.story-copy--final { top: 54%; }
.eyebrow { margin: 0 0 1rem; color: var(--lime); font-size: .72rem; text-transform: uppercase; letter-spacing: .23em; font-weight: 700; }
.story-actions { display: flex; gap: 12px; margin-top: 2.2rem; flex-wrap: wrap; }
.scroll-hint { position: absolute; z-index: 4; left: clamp(24px,8vw,150px); bottom: 32px; color: rgba(244,241,232,.54); display: flex; align-items: center; gap: 12px; font-size: .72rem; text-transform: uppercase; letter-spacing: .15em; }
.scroll-hint span { display: block; width: 30px; height: 1px; background: var(--lime); animation: scrollPulse 1.7s infinite; }
@keyframes scrollPulse { 0%,100% { transform: scaleX(.35); transform-origin: left; } 50% { transform: scaleX(1); transform-origin: left; } }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: .82rem 1.35rem; border-radius: 999px; border: 1px solid transparent; font-size: .83rem; font-weight: 700; transition: transform .25s var(--ease), background .25s, color .25s, border-color .25s, box-shadow .25s; }
.button:hover { transform: translateY(-3px); }
.button--lime { background: var(--lime); color: var(--ink); box-shadow: 0 0 0 0 rgba(183,255,60,0); }
.button--lime:hover { box-shadow: 0 14px 42px rgba(183,255,60,.16); }
.button--ghost { border-color: rgba(255,255,255,.26); background: rgba(255,255,255,.04); color: var(--bone); }
.button--ghost-dark { border-color: rgba(9,10,13,.16); color: var(--ink); }
.button--dark { background: var(--ink); color: var(--bone); }

.signal-bar { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #0c0e12; padding: 18px 0; }
.signal-track { width: max-content; display: flex; align-items: center; gap: 22px; animation: marquee 30s linear infinite; color: rgba(244,241,232,.78); font-size: .73rem; text-transform: uppercase; letter-spacing: .17em; }
.signal-track i { width: 5px; height: 5px; border-radius: 50%; background: var(--lime); }
@keyframes marquee { to { transform: translateX(-50%); } }

.section { padding: clamp(100px, 13vw, 190px) clamp(22px, 6vw, 100px); }
.section-heading { max-width: 1040px; margin-bottom: 70px; }
.section-heading h2, .transformation-copy h2, .seo-copy h2, .invitation-heading h2, .contact-copy h2, .charity-copy h2 { font-family: "Space Grotesk", sans-serif; font-size: clamp(2.7rem, 5.5vw, 6.2rem); line-height: .96; letter-spacing: -.05em; margin: 0 0 1.5rem; font-weight: 600; }
.section-heading h2 span, .transformation-copy h2 span, .seo-copy h2 span, .invitation-heading h2 span, .contact-copy h2 span { color: var(--muted); }
.lead { max-width: 760px; font-size: 1.1rem; line-height: 1.8; color: var(--muted); }

.intro-section { background: var(--ink); }
.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.service-card { position: relative; min-height: 440px; border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); overflow: hidden; transform-style: preserve-3d; }
.service-card::after { content:""; position:absolute; width: 260px; height:260px; right:-120px; bottom:-140px; border-radius:50%; background: radial-gradient(circle, rgba(183,255,60,.18), transparent 67%); opacity:0; transition:opacity .35s; }
.service-card:hover::after { opacity:1; }
.service-card--invites { background: linear-gradient(145deg, rgba(244,241,232,.12), rgba(255,255,255,.02)); }
.service-card__number { color: var(--muted); font-size: .7rem; letter-spacing: .18em; }
.service-card__icon { position: absolute; right: 30px; top: 28px; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; display: grid; place-items: center; color: var(--lime); font-size: 1.3rem; }
.service-card h3 { margin: 90px 0 1rem; font-family:"Space Grotesk",sans-serif; font-size: clamp(1.8rem,3vw,3rem); letter-spacing:-.04em; }
.service-card p { max-width: 610px; color: var(--muted); line-height: 1.75; }
.service-card ul, .price-card ul { list-style:none; margin: 1.8rem 0 0; padding:0; display:grid; gap:.7rem; }
.service-card li, .price-card li { color: rgba(244,241,232,.78); font-size:.84rem; padding-left:18px; position:relative; }
.service-card li::before, .price-card li::before { content:""; position:absolute; left:0; top:.65em; width:6px; height:6px; background:var(--lime); border-radius:50%; }

.transformation-section { display:grid; grid-template-columns: 1.2fr .8fr; align-items:center; min-height: 90vh; padding: clamp(80px,10vw,160px) clamp(22px,6vw,100px); gap: clamp(40px,7vw,110px); background: #0d0f13; border-block:1px solid var(--line); }
.transformation-media { position:relative; border-radius:32px; overflow:hidden; border:1px solid var(--line); background:#050608; }
.transformation-media video { width:100%; aspect-ratio:16/10; object-fit:cover; }
.media-label { position:absolute; left:22px; bottom:20px; padding:.65rem .85rem; border:1px solid var(--line); border-radius:999px; background:rgba(5,6,8,.72); backdrop-filter:blur(12px); font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; display:flex; align-items:center; gap:8px; }
.media-label span { width:7px; height:7px; background:var(--lime); border-radius:50%; box-shadow:0 0 14px var(--lime); }
.transformation-copy p:not(.eyebrow) { color:var(--muted); line-height:1.8; }
.mini-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:38px; }
.mini-metrics div { border-top:1px solid var(--line); padding-top:14px; }
.mini-metrics strong { display:block; font-size:1.5rem; color:var(--lime); }
.mini-metrics span { font-size:.74rem; color:var(--muted); }

.difference-section { background:var(--paper); color:var(--ink); }
.difference-section .eyebrow { color:#5b7300; }
.difference-list { border-top:1px solid rgba(9,10,13,.16); }
.difference-item { display:grid; grid-template-columns:70px 1fr 1.2fr; gap:30px; align-items:start; padding:32px 0; border-bottom:1px solid rgba(9,10,13,.16); }
.difference-item > span { color:#6f7781; font-size:.72rem; }
.difference-item h3 { margin:0; font-family:"Space Grotesk",sans-serif; font-size:1.45rem; }
.difference-item p { margin:0; color:#626873; line-height:1.7; }

.process-section { position:relative; }
.process-line { position:absolute; left:calc(clamp(22px,6vw,100px) + 22px); top:430px; bottom:180px; width:1px; background:var(--line); }
.process-line span { display:block; width:100%; height:0; background:var(--lime); box-shadow:0 0 15px rgba(183,255,60,.45); }
.process-steps { list-style:none; padding:0; margin:0; display:grid; gap:32px; }
.process-steps li { display:grid; grid-template-columns:84px minmax(0,800px); gap:28px; min-height:160px; }
.process-steps > li > span { width:46px; height:46px; display:grid; place-items:center; border:1px solid var(--line); background:var(--ink); border-radius:50%; font-size:.72rem; color:var(--lime); z-index:1; }
.process-steps h3 { margin:0 0 .6rem; font-family:"Space Grotesk",sans-serif; font-size:2rem; }
.process-steps p { margin:0; color:var(--muted); line-height:1.8; }

.seo-section { position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:clamp(100px,12vw,180px) clamp(22px,6vw,100px); background:linear-gradient(145deg,#0b0d11,#11151a); border-block:1px solid var(--line); }
.seo-copy p:not(.eyebrow) { color:var(--muted); line-height:1.8; max-width:720px; }
.seo-pills { display:flex; flex-wrap:wrap; gap:9px; margin-top:30px; }
.seo-pills span { border:1px solid var(--line); border-radius:999px; padding:.65rem .9rem; font-size:.72rem; color:rgba(244,241,232,.76); }
.seo-pricing { display:grid; gap:14px; align-content:center; }
.seo-pricing > div { border:1px solid var(--line); border-radius:22px; padding:25px; background:rgba(255,255,255,.025); }
.seo-pricing > div > span { color:var(--lime); font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; }
.seo-pricing h3 { margin:.7rem 0 .45rem; font-family:"Space Grotesk",sans-serif; font-size:1.4rem; }
.seo-pricing p { margin:0; color:var(--muted); line-height:1.6; font-size:.86rem; }
.seo-orbit { position:absolute; width:520px; height:520px; left:-240px; bottom:-260px; border:1px solid rgba(183,255,60,.18); border-radius:50%; animation:spin 18s linear infinite; }
.seo-orbit span { position:absolute; width:10px; height:10px; border-radius:50%; background:var(--lime); box-shadow:0 0 20px var(--lime); }
.seo-orbit span:nth-child(1){left:50%;top:-5px}.seo-orbit span:nth-child(2){right:3%;top:31%}.seo-orbit span:nth-child(3){left:13%;bottom:16%}
@keyframes spin { to { transform:rotate(360deg); } }

.invitations-section { position:relative; overflow:hidden; display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:70px; padding:clamp(100px,12vw,180px) clamp(22px,6vw,100px); background:#f2eee3; color:#15231c; }
.invitation-heading { position:relative; z-index:2; }
.invitation-heading .eyebrow { color:#17623d; }
.invitation-heading p:not(.eyebrow) { color:#57655d; line-height:1.8; max-width:650px; }
.invitation-actions { display:flex; align-items:center; gap:22px; margin-top:32px; flex-wrap:wrap; }
.text-link { font-weight:700; color:#15231c; }
.text-link span { color:#17623d; }
.islamic-pattern { position:absolute; inset:0; opacity:.1; background-image: repeating-conic-gradient(from 45deg at 25% 25%, #17623d 0 8deg, transparent 8deg 45deg); background-size:110px 110px; mask-image:linear-gradient(90deg,transparent 0%,black 65%,black); }
.invitation-preview { --invite-bg:#0f3527; --invite-ink:#f7efd9; --invite-accent:#d5b978; position:relative; display:grid; place-items:center; min-height:700px; }
.invitation-preview[data-theme="ivory"] { --invite-bg:#fbf6e9; --invite-ink:#2c2a26; --invite-accent:#9a7844; }
.invitation-preview[data-theme="midnight"] { --invite-bg:#11182c; --invite-ink:#f5f1df; --invite-accent:#99b7e8; }
.theme-picker { position:absolute; top:10px; right:12%; display:flex; gap:10px; z-index:3; }
.theme-dot { width:30px; height:30px; border-radius:50%; border:3px solid #f2eee3; box-shadow:0 0 0 1px rgba(0,0,0,.18); cursor:pointer; }
.theme-dot[data-theme="emerald"]{background:#0f3527}.theme-dot[data-theme="ivory"]{background:#fbf6e9}.theme-dot[data-theme="midnight"]{background:#11182c}.theme-dot.is-active{transform:scale(1.16)}
.phone-shell { width:min(360px,78vw); padding:12px; border-radius:48px; background:#0a0b0d; box-shadow:0 38px 80px rgba(34,51,40,.25); transform:rotate(3deg); transition:transform .5s var(--ease); }
.phone-shell:hover { transform:rotate(0deg) translateY(-8px); }
.phone-top { width:90px; height:20px; border-radius:0 0 14px 14px; background:#0a0b0d; margin:-1px auto -19px; position:relative; z-index:2; }
.invite-screen { position:relative; overflow:hidden; min-height:640px; border-radius:38px; background:var(--invite-bg); color:var(--invite-ink); padding:68px 30px 28px; text-align:center; transition:background .45s,color .45s; }
.invite-screen::before,.invite-screen::after { content:""; position:absolute; width:200px;height:200px;border:1px solid var(--invite-accent); transform:rotate(45deg); opacity:.28; }
.invite-screen::before{left:-125px;top:-120px}.invite-screen::after{right:-120px;bottom:-130px}
.invite-arch { width:170px; height:210px; border:1px solid var(--invite-accent); border-bottom:0; border-radius:90px 90px 0 0; position:absolute; top:48px; left:50%; transform:translateX(-50%); opacity:.35; }
.invite-arabic { position:relative; margin:55px 0 70px; font-size:1.25rem; color:var(--invite-accent); }
.invite-kicker { font-size:.58rem; text-transform:uppercase; letter-spacing:.22em; opacity:.68; }
.invite-screen h3 { font-family:"Space Grotesk",sans-serif; font-size:2.35rem; margin:16px 0 13px; font-weight:500; }
.invite-screen h3 em { display:block; font-family:serif; font-weight:400; color:var(--invite-accent); font-size:1.35rem; margin:5px; }
.invite-copy { font-size:.78rem; line-height:1.7; opacity:.72; }
.invite-date { display:flex; align-items:center; justify-content:center; gap:13px; margin:25px 0; }
.invite-date strong { font-size:2.6rem; line-height:1; }
.invite-date span { text-align:left; font-size:.7rem; line-height:1.35; border-left:1px solid var(--invite-accent); padding-left:13px; }
.invite-screen button { border:1px solid var(--invite-accent); background:transparent; color:inherit; border-radius:999px; padding:.75rem 1.4rem; }
.invite-screen small { display:block; margin-top:38px; font-size:.55rem; opacity:.5; }
.floating-detail { position:absolute; border:1px solid rgba(21,35,28,.15); border-radius:999px; padding:.75rem 1rem; background:rgba(255,255,255,.72); backdrop-filter:blur(9px); font-size:.67rem; font-weight:700; box-shadow:0 16px 38px rgba(34,51,40,.12); animation:float 5s ease-in-out infinite; }
.detail-one{left:6%;top:30%}.detail-two{right:4%;top:48%;animation-delay:-1.6s}.detail-three{left:12%;bottom:18%;animation-delay:-3s}
@keyframes float { 50% { transform:translateY(-13px); } }
.invitation-features { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:30px; }
.invitation-features span { border:1px solid rgba(21,35,28,.17); border-radius:999px; padding:.7rem 1rem; font-size:.72rem; }

.pricing-section { background:var(--paper); color:var(--ink); }
.pricing-section .eyebrow { color:#5b7300; }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.price-card { display:flex; flex-direction:column; border:1px solid rgba(9,10,13,.14); border-radius:26px; padding:30px; min-height:570px; background:#fff; }
.price-card--featured { background:var(--ink); color:var(--bone); border-color:var(--ink); transform:translateY(-18px); }
.price-badge { align-self:flex-start; border:1px solid currentColor; border-radius:999px; padding:.5rem .7rem; font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; opacity:.65; }
.price-card h3 { font-family:"Space Grotesk",sans-serif; font-size:1.65rem; margin:2rem 0 .5rem; }
.price { display:flex; flex-direction:column; font-family:"Space Grotesk",sans-serif; font-size:3.3rem; line-height:1; margin:.6rem 0 1.3rem; }
.price span { order:-1; font-family:"Manrope"; font-size:.63rem; text-transform:uppercase; letter-spacing:.15em; color:#767d87; }
.price-card > p:not(.price) { color:#6b727c; line-height:1.65; }
.price-card--featured > p:not(.price), .price-card--featured li { color:rgba(244,241,232,.72); }
.price-card ul { margin-bottom:30px; }
.price-card .button { margin-top:auto; }
.management-section { background:var(--paper); color:var(--ink); }
.management-section .eyebrow { color:#5b7300; }
.domain-copy { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:24px; max-width:1180px; }
.domain-copy p { margin:0; color:#626873; line-height:1.75; }
.management-heading { max-width:1180px; margin-top:90px; padding-top:70px; border-top:1px solid rgba(9,10,13,.16); }
.management-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:stretch; }
.management-card { display:flex; flex-direction:column; min-width:0; border:1px solid rgba(9,10,13,.14); border-radius:26px; padding:30px; background:#fff; }
.management-card--featured { background:var(--ink); color:var(--bone); border-color:var(--ink); }
.management-badge { align-self:flex-start; border:1px solid currentColor; border-radius:999px; padding:.5rem .7rem; font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; opacity:.72; }
.management-card h3 { margin:2rem 0 .5rem; font-family:"Space Grotesk",sans-serif; font-size:1.75rem; letter-spacing:-.035em; }
.management-price { display:flex; align-items:baseline; gap:.55rem; margin:.55rem 0 1.3rem; }
.management-price strong { font-family:"Space Grotesk",sans-serif; font-size:3.2rem; line-height:1; }
.management-price span { color:#737a84; font-size:.75rem; text-transform:uppercase; letter-spacing:.1em; }
.management-card--featured .management-price span { color:rgba(244,241,232,.58); }
.management-positioning { min-height:5.2em; margin:0; color:#616873; line-height:1.7; }
.management-card--featured .management-positioning { color:rgba(244,241,232,.72); }
.management-card ul { list-style:none; margin:1.7rem 0; padding:0; display:grid; gap:.72rem; }
.management-card li { position:relative; padding-left:18px; color:#3f4650; font-size:.84rem; line-height:1.55; overflow-wrap:anywhere; }
.management-card li::before { content:""; position:absolute; left:0; top:.6em; width:6px; height:6px; border-radius:50%; background:#5b7300; }
.management-card--featured li { color:rgba(244,241,232,.78); }
.management-card--featured li::before { background:var(--lime); }
.management-benefit { margin:auto 0 1.5rem; padding-top:1.4rem; border-top:1px solid rgba(9,10,13,.12); color:#616873; font-size:.82rem; line-height:1.65; }
.management-card--featured .management-benefit { border-color:var(--line); color:rgba(244,241,232,.66); }
.change-request-note { margin-top:28px; border:1px solid rgba(9,10,13,.14); border-radius:24px; padding:clamp(24px,4vw,42px); background:#f0ede4; }
.change-request-note h3 { margin:0 0 1rem; font-family:"Space Grotesk",sans-serif; font-size:clamp(1.55rem,2.8vw,2.35rem); }
.change-request-note p { max-width:980px; color:#555d67; line-height:1.75; }
.exclusions-list { list-style:none; margin:1.2rem 0 1.5rem; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1.4rem; }
.exclusions-list li { position:relative; padding-left:18px; color:#3f4650; font-size:.84rem; line-height:1.5; }
.exclusions-list li::before { content:"×"; position:absolute; left:0; color:#5b7300; font-weight:800; }
.management-notes { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:22px; }
.management-notes p { margin:0; border-top:1px solid rgba(9,10,13,.16); padding-top:18px; color:#626873; font-size:.78rem; line-height:1.7; }
.custom-quote { max-width:860px; margin-top:42px; padding:28px; border:1px solid rgba(9,10,13,.16); border-radius:24px; background:#f0ede4; }
.custom-quote .eyebrow { margin-bottom:.8rem; }
.custom-quote h3 { margin:0 0 .8rem; font-family:"Space Grotesk",sans-serif; font-size:clamp(1.55rem,3vw,2.35rem); letter-spacing:-.035em; }
.custom-quote > p:not(.eyebrow) { margin:0 0 1.25rem; color:#5d646e; line-height:1.7; }
.custom-quote small { display:block; margin-top:1rem; color:#6e7580; line-height:1.5; }
.invite-price-strip { display:grid; grid-template-columns:repeat(4,1fr); margin-top:50px; border:1px solid rgba(9,10,13,.14); border-radius:22px; overflow:hidden; }
.invite-price-strip > div { padding:22px; border-right:1px solid rgba(9,10,13,.14); }
.invite-price-strip > div:last-child { border:0; }
.invite-price-strip h3 { margin:0; font-size:.9rem; font-weight:600; }
.invite-price-strip strong { display:block; margin-top:8px; font-size:1.25rem; }

.charity-section { position:relative; min-height:720px; display:grid; grid-template-columns:1.3fr .7fr; align-items:center; gap:60px; padding:clamp(100px,12vw,180px) clamp(22px,6vw,100px); overflow:hidden; }
.charity-video { position:absolute; inset:0; opacity:.22; }
.charity-video video { width:100%; height:100%; object-fit:cover; }
.charity-video::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--ink) 15%,rgba(9,10,13,.7),var(--ink)); }
.charity-copy,.charity-mark { position:relative; z-index:2; }
.charity-copy h2 { max-width:1000px; }
.charity-copy p:not(.eyebrow) { max-width:790px; color:var(--muted); line-height:1.8; }
.charity-mark { justify-self:end; width:280px; height:280px; border-radius:50%; border:1px solid rgba(183,255,60,.38); display:flex; align-items:center; justify-content:center; gap:13px; box-shadow:inset 0 0 60px rgba(183,255,60,.06); }
.charity-mark strong { font-family:"Space Grotesk",sans-serif; font-size:4rem; color:var(--lime); }
.charity-mark span { font-size:.72rem; text-transform:uppercase; letter-spacing:.13em; color:var(--muted); }

.faq-section { background:#0d0f13; }
.accordion { max-width:1000px; margin-left:auto; }
details { border-top:1px solid var(--line); }
details:last-child { border-bottom:1px solid var(--line); }
summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:25px 0; font-family:"Space Grotesk",sans-serif; font-size:1.15rem; }
summary::-webkit-details-marker { display:none; }
summary span { color:var(--lime); font-size:1.5rem; transition:transform .25s; }
details[open] summary span { transform:rotate(45deg); }
details p { margin:0 0 26px; color:var(--muted); line-height:1.8; max-width:800px; }

.contact-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; padding:clamp(100px,12vw,180px) clamp(22px,6vw,100px); background:var(--paper); color:var(--ink); }
.contact-copy .eyebrow { color:#5b7300; }
.contact-copy > p:not(.eyebrow) { color:#646b75; line-height:1.8; }
.whatsapp-direct { margin-top:38px; display:grid; grid-template-columns:1fr auto; gap:4px 24px; align-items:center; border-top:1px solid rgba(9,10,13,.17); border-bottom:1px solid rgba(9,10,13,.17); padding:18px 0; }
.whatsapp-direct span { font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; color:#69707a; }
.whatsapp-direct strong { grid-row:2; font-size:1.25rem; }
.whatsapp-direct i { grid-column:2; grid-row:1/3; font-style:normal; font-size:1.4rem; color:#5b7300; }
.project-form { border:1px solid rgba(9,10,13,.13); border-radius:28px; padding:30px; background:#fff; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
label { display:block; margin-bottom:18px; font-size:.7rem; text-transform:uppercase; letter-spacing:.11em; color:#626975; }
input,textarea,select { display:block; width:100%; margin-top:8px; border:1px solid rgba(9,10,13,.15); border-radius:14px; padding:14px 15px; background:#fbfbf9; color:var(--ink); outline:none; transition:border-color .2s,box-shadow .2s; text-transform:none; letter-spacing:0; }
textarea { resize:vertical; min-height:130px; }
input:focus,textarea:focus,select:focus { border-color:#7b9d12; box-shadow:0 0 0 4px rgba(183,255,60,.15); }
.button--submit { border:0; cursor:pointer; width:100%; justify-content:space-between; padding-inline:20px; }
.form-note { font-size:.68rem; color:#7d848e; line-height:1.5; margin:14px 0 0; }

.site-footer { padding:70px clamp(22px,6vw,100px) 28px; border-top:1px solid var(--line); background:#060709; display:grid; grid-template-columns:minmax(220px,1fr) auto auto auto; gap:50px; align-items:start; }
.footer-brand img { width:190px; }
.footer-brand p { color:var(--muted); font-size:.78rem; }
.footer-links,.footer-legal { display:grid; gap:10px; font-size:.8rem; color:var(--muted); }
.footer-links a:hover,.footer-legal a:hover { color:var(--bone); }
.footer-socials { flex-direction:column; font-size:.78rem; }
.footer-socials a { color:var(--muted); }
.footer-socials a:hover { color:var(--lime); }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:22px; color:#6e7581; font-size:.68rem; }

.reveal { opacity:0; transform:translateY(38px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible { opacity:1; transform:translateY(0); }

@media (max-width: 1024px) {
  .site-header { grid-template-columns:1fr auto; }
  .header-socials { display:none; }
  .nav-toggle { display:block; justify-self:end; }
  .site-nav { position:fixed; inset:var(--header-height) 0 auto; flex-direction:column; align-items:flex-start; padding:32px; background:rgba(9,10,13,.97); border-bottom:1px solid var(--line); transform:translateY(-120%); transition:transform .35s var(--ease); }
  .site-nav.is-open { transform:translateY(0); }
  .site-nav a { font-size:1.2rem; }
  .service-grid, .transformation-section, .seo-section, .invitations-section, .contact-section { grid-template-columns:1fr; }
  .transformation-section { min-height:auto; }
  .pricing-grid,.management-grid { grid-template-columns:1fr; }
  .price-card--featured { transform:none; }
  .domain-copy,.management-notes { grid-template-columns:1fr; }
  .invite-price-strip { grid-template-columns:1fr 1fr; }
  .invite-price-strip > div:nth-child(2) { border-right:0; }
  .invite-price-strip > div:nth-child(-n+2) { border-bottom:1px solid rgba(9,10,13,.14); }
  .charity-section { grid-template-columns:1fr; }
  .charity-mark { justify-self:start; }
  .site-footer { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
}

@media (max-width: 720px) {
  :root { --header-height:70px; }
  .site-header { padding-inline:18px; }
  .brand img { width:145px; }
  .scroll-story { height:520vh; }
  .story-video { object-fit:cover; object-position:center; transform:scale(1.12); }
  .story-vignette { background:linear-gradient(0deg,rgba(5,6,8,.88),rgba(5,6,8,.12) 58%,rgba(5,6,8,.25)); }
  .story-grid { background-size:55px 55px; opacity:.08; }
  .story-copy { left:22px; right:38px; top:auto; bottom:11vh; width:auto; transform:translateY(20px); }
  .story-copy.is-active { transform:translateY(0); }
  .story-copy h1,.story-copy h2 { font-size:clamp(2.65rem,13vw,4.9rem); }
  .story-copy p:not(.eyebrow) { font-size:.93rem; line-height:1.6; }
  .story-progress { right:18px; height:22vh; }
  .scroll-hint { left:22px; bottom:24px; }
  .section-heading { margin-bottom:48px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:390px; padding:25px; }
  .service-card h3 { margin-top:74px; }
  .difference-item { grid-template-columns:45px 1fr; }
  .difference-item p { grid-column:2; }
  .process-line { left:44px; top:380px; }
  .process-steps li { grid-template-columns:55px 1fr; gap:16px; }
  .mini-metrics { grid-template-columns:1fr; }
  .seo-section { gap:45px; }
  .invitation-preview { min-height:650px; }
  .floating-detail { display:none; }
  .phone-shell { transform:none; }
  .invitation-features { justify-content:flex-start; }
  .invite-price-strip { grid-template-columns:1fr; }
  .invite-price-strip > div { border-right:0; border-bottom:1px solid rgba(9,10,13,.14); }
  .invite-price-strip > div:last-child { border-bottom:0; }
  .charity-mark { width:220px; height:220px; }
  .charity-mark strong { font-size:3rem; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .project-form { padding:20px; }
  .exclusions-list { grid-template-columns:1fr; }
  .site-footer { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .scroll-story { height:100vh; }
  .story-video { display:none; }
  .story-sticky { background:url('assets/img/hero-poster.jpg') center/cover; }
  .story-copy { display:none; }
  .story-copy--final { display:block; opacity:1; visibility:visible; }
}
