@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
:root{
  --ink:#f9eff7;--wine:#ff6bb4;--deep:#130916;--rose:#ff61ad;--blush:#ff96c8;
  --cream:#0d0b12;--pale:#18111d;--line:#40273b;--white:#17121b;
  --shadow:0 24px 60px rgba(0,0,0,.32)
}
body{background:#0d0b12;color:var(--ink)}
::selection{background:#ff67b4;color:#130916}
.site-header{background:rgba(12,10,17,.95);border-bottom:1px solid #5a2b49;backdrop-filter:blur(14px)}
.brand-mark{border-color:#ff6bb4;color:#ff8bc5;box-shadow:0 0 15px rgba(255,71,166,.16)}
.brand-name{color:#fff1f9}.brand-role{color:#ff80be}
.nav>a:not(.btn){color:#e5d2e0}.nav>a:not(.btn):hover,.nav>a[aria-current="page"]{color:#ff85c3}
.nav-toggle{background:#211522;border-color:#71405e;color:#ffb2d7}
.eyebrow,.service-num,.step strong,.case-content dt{color:#ff81c1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.serif-accent{color:#ff78b9}.muted,.hero p,.section-intro p,.service-tile p,.step p,.about-layout p,.service-detail p,.case-content p,.contact-grid p,.prompt-list li{color:#cbb9c9}
.hero{position:relative;background:radial-gradient(ellipse 600px 440px at 81% 20%,rgba(163,21,91,.23),transparent 70%),radial-gradient(ellipse 520px 370px at 0% 80%,rgba(95,21,86,.16),transparent 75%),#0d0b12}
.hero:before,.page-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,105,181,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,105,181,.055) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,transparent 8%,#000 72%);opacity:.7}
.hero-grid,.page-hero .container{position:relative;z-index:1}
.hero-aside{background:linear-gradient(150deg,#201023 4%,#100d17 60%,#2d1030);border:1px solid #784062;box-shadow:0 0 0 1px rgba(255,115,187,.11),0 26px 65px rgba(0,0,0,.4),0 0 48px rgba(255,48,145,.09)}
.hero-aside:before{border-color:rgba(255,121,189,.34)}
.hero-aside .small,.hero-aside .aside-foot{color:#efafce}
.journey span{border-color:#9d4b76;background:rgba(255,90,167,.075)}.journey i{color:#ff77b8}
.hero-note{color:#af9bad}.hero-note .line{border-color:#ff71b7}
.btn{--b1:#ff78bc;--b2:#f83b9c;color:#180b19!important;border-color:#ffb1d7;box-shadow:0 0 0 2px rgba(255,102,180,.43),0 0 20px rgba(255,49,150,.45),0 9px 24px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.45)}
.btn:hover,.btn:focus-visible{box-shadow:0 0 0 3px rgba(255,144,202,.75),0 0 32px rgba(255,51,155,.65),0 12px 26px rgba(0,0,0,.35)}
.btn:before{background:radial-gradient(circle at 12% 20%,#ffa8d2,transparent 24%),radial-gradient(circle at 88% 82%,#ff3b9f,transparent 25%),linear-gradient(90deg,#c12d83,#ff80bf);opacity:.85}
.btn-light{--b1:#211321;--b2:#18111e;color:#ffd3e8!important;border-color:#a94f7e;box-shadow:0 0 0 2px rgba(255,87,165,.22),0 0 17px rgba(255,50,145,.19)}
.btn-light:after{border-color:#9b4d76}
.btn:focus-visible,a:focus-visible,.nav-toggle:focus-visible{outline-color:#ff80be}
.text-link,.contact-email{color:#ff8bc4}.text-link:hover{color:#ffc2df}
.work-section{background:#100d15}.work-card,.service-tile,.about-panel,.contact-card{background:#1a121d;border-color:#4a2b40;box-shadow:0 15px 35px rgba(0,0,0,.12)}
.work-media{background:#301825}.work-card:nth-child(2) .work-media{background:#141719}
.work-body p{color:#cbb9c9}.tag{border-color:#79425e;color:#ffc0dd;background:#281827}
.services-strip{background:#150e19}.service-tile{border-top:2px solid #a73477}
.approach-grid .steps,.step,.rule,.service-detail,.service-detail:first-child,.case,.prompt-list li{border-color:#4a2b40}
.step p{color:#cbb9c9}.step h3{color:#fff2f9}
.cta-band{position:relative;background:radial-gradient(circle at 80% 45%,rgba(226,44,139,.18),transparent 35%),#190d1d;border-top:1px solid #763351;border-bottom:1px solid #763351}
.cta-inner .eyebrow{color:#ff9ace}.cta-inner p{color:#d4b6c9}
.footer{background:#09080e;color:#f9e9f4}.footer .brand-mark{border-color:#ff74b6;color:#ff9bcc}.footer .brand-role{color:#ff92c6}.footer-bottom{border-color:#4a2b40;color:#bba5b6}
.page-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse 650px 350px at 90% 40%,rgba(181,28,111,.21),transparent 70%),#110d17;border-bottom:1px solid #56304a}
.page-hero p{color:#cfbdcb}.about-panel li{color:#e3d1df}.tool-list span{background:#29192a;border-color:#73415f;color:#f6d9e8}
.service-detail ul{color:#e5d7e1}.case-media{background:#281622;border-color:#573449}.case-content dd{color:#f3e3ed}
.contact-card small{color:#bda8b9}.contact-card h3{color:#fff2f9}
@media(max-width:700px){.nav{background:#130e17;border-color:#5a2b49}.hero:before,.page-hero:before{background-size:28px 28px;opacity:.45}}
.intro-script{display:block;margin:0 0 .7rem;color:#ff94c9;font-family:'Great Vibes','Segoe Script','Apple Chancery','Brush Script MT',cursive;font-size:clamp(2.8rem,4.2vw,4.1rem);font-weight:400;line-height:1.05;letter-spacing:0;text-transform:none;text-shadow:0 0 20px rgba(255,70,160,.18)}
.hero-portrait{margin:0;min-height:460px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.hero-portrait-art{position:relative;flex:0 0 145%;width:145%;margin-inline:-22.5%}
.hero-portrait-art img{display:block;width:100%;height:auto}
.hero-portrait-art .hero-original-face{position:absolute;inset:0;mask-image:radial-gradient(ellipse 8.5% 16% at 68% 15%,#000 58%,transparent 100%);pointer-events:none}
.tool-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1.4rem}
.tool-logo{position:relative;display:grid;place-items:center;aspect-ratio:1.12;min-width:0;background:#211624;border:1px solid #74415e;border-radius:14px;box-shadow:inset 0 1px rgba(255,255,255,.05);overflow:hidden}
.tool-logo img{position:relative;z-index:2;display:block;width:62%;height:62%;max-width:72px;max-height:72px;object-fit:contain}
.tool-logo .tool-fallback{display:none;color:#ff9ccc;font:700 1.5rem/1 ui-sans-serif,system-ui,sans-serif}
.tool-logo.is-missing img{display:none}.tool-logo.is-missing .tool-fallback{display:block}
@media(max-width:900px){.hero-portrait{min-height:0}}
@media(max-width:700px){.hero-portrait{padding:0;min-height:0}.tool-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.tool-logo{border-radius:10px}.intro-script{font-size:3.2rem}}

/* Libre Baskerville carries the reading UI; Great Vibes is reserved for expressive accents. */
body,button,.nav,.btn,.brand-role,.eyebrow,.service-num,.step strong,.tag,.tool-fallback{font-family:'Libre Baskerville',Georgia,serif}
h1,h2,h3,h4,.brand-name,.brand-mark{font-family:'Libre Baskerville',Georgia,serif}
h1,h2,h3,h4{font-weight:700;line-height:1.17;letter-spacing:-.04em}
h1{font-size:clamp(3rem,5.6vw,5.65rem)}
h2{font-size:clamp(2.25rem,3.8vw,4.05rem)}
.serif-accent{font-family:'Great Vibes','Segoe Script',cursive;font-size:1.16em;font-weight:400;font-style:normal;letter-spacing:0;line-height:.92}
.intro-script{font-family:'Great Vibes','Segoe Script',cursive;font-size:clamp(3.1rem,4.5vw,4.5rem)}
.brand-name{font-weight:700}.nav>a:not(.btn){font-size:.82rem}.btn{font-size:.82rem}.eyebrow{font-size:.72rem;letter-spacing:.16em}
.hero p,.page-hero p{line-height:1.8}
@media(max-width:700px){h1{font-size:clamp(2.75rem,11vw,4.1rem)}h2{font-size:clamp(2.15rem,8vw,3.4rem)}.intro-script{font-size:3.45rem}}

.hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:3rem}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}

/* Expanded professional portfolio and supplied brand logo. */
.brand{flex-shrink:0}.brand-logo{width:270px;height:auto;object-fit:contain}.header-inner{gap:1.4rem;min-height:102px}.footer .brand-logo{width:290px}
.experience-section{border-top:1px solid var(--line)}.experience-list article{display:grid;grid-template-columns:220px minmax(0,1fr);gap:2rem;padding:2.5rem 0;border-top:1px solid var(--line)}.experience-list h3{font-size:1.65rem;letter-spacing:-.02em}.experience-list p{max-width:52rem;color:#cbb9c9;margin:1rem 0 0}.experience-list .experience-org{color:#ffabd4}.experience-list .eyebrow{font-size:.875rem;letter-spacing:.08em;line-height:1.7}
.detail-grid,.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2.5rem}.detail-grid article,.project-detail{background:#1a121d;border:1px solid #4a2b40;border-radius:18px;padding:2rem}.detail-grid h3,.project-detail h3{font-size:1.7rem;letter-spacing:-.02em;line-height:1.3}.detail-grid p,.project-detail p{margin:1.2rem 0 0;color:#cbb9c9;font-size:1rem;line-height:1.8}.project-detail ul{padding-left:1.2rem;color:#e3d1df;margin:1.3rem 0}.project-detail li{margin:.6rem 0}.project-detail .eyebrow{font-size:.875rem;letter-spacing:.08em}.project-detail .tag{font-size:.875rem}.support-tools{margin:2rem 0 0;color:#cbb9c9}.portfolio-reference{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:2.5rem}.portfolio-reference p{margin:0;max-width:35rem;color:#cbb9c9}.behind-scenes{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.behind-scenes p{color:#cbb9c9;font-size:1rem;line-height:1.8}
@media(min-width:701px) and (max-width:1050px){.brand-logo{width:210px}.nav{gap:.7rem}.nav .btn{padding:.8rem 1rem}.header-inner{gap:1rem}}
@media(max-width:700px){.brand-logo{width:min(245px,65vw)}.header-inner{min-height:86px;gap:1rem}.nav{top:86px}.footer .brand-logo{width:min(290px,85vw)}.experience-list article{grid-template-columns:1fr;gap:.3rem}.detail-grid,.project-grid,.behind-scenes{grid-template-columns:1fr}.behind-scenes{gap:2rem}.project-detail,.detail-grid article{padding:1.5rem}.portfolio-reference{display:block}.portfolio-reference .btn{margin-top:1.5rem}.experience-list .eyebrow{margin-bottom:.5rem}}

/* A compact visual beside each service makes the offer easier to scan. */
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.service-tile{display:grid;grid-template-columns:minmax(0,1fr) 39%;min-height:270px;padding:0;overflow:hidden;border-top:2px solid #a73477}
.service-copy{min-width:0;padding:1.7rem 1rem 1.6rem 1.5rem}
.service-tile h3{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.22;margin:1rem 0 .8rem}
.service-tile p{font-size:.9rem;line-height:1.65}
.service-visual{position:relative;min-width:0;min-height:0;background:#1b1020;border-left:1px solid #573149}
.service-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.service-tile:first-child .service-visual img{object-fit:contain}
@media(max-width:1050px){.services-grid{grid-template-columns:1fr}.service-tile{min-height:235px;grid-template-columns:minmax(0,1fr) 38%}}
@media(max-width:520px){.service-tile{display:flex;flex-direction:column;min-height:0}.service-visual{order:-1;height:175px;border-left:0;border-bottom:1px solid #573149}.service-copy{padding:1.45rem}.service-tile h3{font-size:1.55rem;margin:.9rem 0 .7rem}}

/* Show the complete audit cover in both project previews. */
.work-card:nth-child(2) .work-media img,.case#fitness .case-media img{object-fit:contain;object-position:center;background:#09090d}

.template-note{font-size:.82rem}.template-actions{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.8rem}.template-actions .btn{white-space:normal;text-align:center}

/* Keep the entire live homepage in a scrollable project frame. */
.capture-scroll{overflow:auto;scrollbar-color:#ff8bc5 #1b1120;scrollbar-width:thin}
.capture-scroll:focus-visible{outline:3px solid #ff81c1;outline-offset:3px}
.capture-scroll img{display:block;width:100%;height:auto;object-fit:fill;object-position:top center}
.capture-actions{display:flex;align-items:center;gap:.7rem 1.4rem;flex-wrap:wrap;margin-top:auto;padding-top:.6rem}
.work-body .capture-actions .text-link{margin-top:0}
.capture-full-link{display:inline-block;margin-left:1.2rem}
@media(max-width:700px){.capture-full-link{margin-left:0;margin-top:.7rem}}

/* Portfolio images keep their complete covers and dashboard context. */
#kirsten-ebook .case-media{background:#2c1b28}
#kirsten-ebook .case-media img,#thrive-planner .case-media img,#own-funnel .case-media img{object-fit:contain;object-position:center}
#thrive-planner .case-media{background:#fcf4f0}
#own-funnel .case-media{background:#26111d}

#health4menopause .case-media{background:#f7efea}
#thrive-sales .case-media{background:#fff4ee}
#health4menopause .case-media img,#thrive-sales .case-media img{object-fit:contain;object-position:center}

/* UI design feature */
.ui-feature{background:radial-gradient(circle at 82% 20%,rgba(255,90,176,.14),transparent 35%),#100b14;border-top:1px solid #3d2438;border-bottom:1px solid #3d2438}
.ui-feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.ui-feature-copy h2{max-width:34rem}.ui-feature-copy p{max-width:34rem;color:#d5c5d1;font-size:1.06rem;line-height:1.8;margin:1.4rem 0}
.ui-feature-points{list-style:none;padding:0;margin:1.5rem 0 2rem;display:grid;gap:.8rem;color:#f3e4ed}
.ui-feature-points li{position:relative;padding-left:1.55rem}.ui-feature-points li::before{content:'✦';position:absolute;left:0;color:#ff7eba}
.ui-feature-visual{margin:0;min-width:0}.ui-screen{background:#fdf8f4;border:1px solid #ad5b87;border-radius:17px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.42),0 0 38px rgba(255,82,170,.13)}
.ui-screen-top{height:33px;background:#261825;display:flex;align-items:center;gap:6px;padding:0 13px}.ui-screen-top span{width:7px;height:7px;border-radius:50%;background:#ff80bd}.ui-screen-top span:nth-child(2){opacity:.62}.ui-screen-top span:nth-child(3){opacity:.36}
.ui-screen img{display:block;width:100%;height:auto;max-height:470px;object-fit:cover;object-position:top}
.ui-feature-visual figcaption{font-size:.79rem;color:#ad93a5;margin-top:.75rem;text-align:right}
@media(max-width:900px){.ui-feature-grid{grid-template-columns:1fr}.ui-feature-copy h2{max-width:none}.ui-screen img{max-height:420px}}

/* Portfolio opening uses Camille's supplied studio image without retouching it. */
.portfolio-hero{position:relative;display:flex;align-items:center;min-height:clamp(580px,48vw,720px);padding:5rem 0;background:#260d1b;isolation:isolate}
.portfolio-hero-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center}
.portfolio-hero:before{z-index:1;opacity:1;mask-image:none;background:linear-gradient(90deg,rgba(20,6,17,.53) 0%,rgba(20,6,17,.16) 42%,transparent 68%)}
.portfolio-hero .container{position:relative;z-index:2}.portfolio-hero h1{max-width:38rem;color:#fff7fc;text-shadow:0 2px 20px rgba(12,4,11,.42)}
.portfolio-hero p{max-width:34rem;color:#f9eaf3;text-shadow:0 2px 16px rgba(12,4,11,.55)}
@media(max-width:900px){.portfolio-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0;background:#230f1c}.portfolio-hero-photo{position:relative;order:0;height:clamp(280px,66vw,430px);object-position:72% center}.portfolio-hero:before{display:none}.portfolio-hero .container{order:1;padding:3.2rem 0 3.8rem}.portfolio-hero h1{max-width:42rem}.portfolio-hero p{max-width:38rem}}
@media(max-width:520px){.portfolio-hero-photo{height:300px;object-position:74% center}.portfolio-hero .container{padding:2.6rem 0 3.2rem}.portfolio-hero h1{font-size:clamp(2.35rem,10vw,3.3rem)}}

/* A small 3D coverflow of real portfolio work. */
.project-showcase{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 47%,rgba(194,36,119,.18),transparent 48%),#0c0a11;border-bottom:1px solid #4a2942}
.project-showcase:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,111,184,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,111,184,.035) 1px,transparent 1px);background-size:40px 40px}
.project-showcase .container{position:relative}.project-showcase-intro{text-align:center;max-width:48rem;margin:0 auto 1.5rem}.project-showcase-intro h2{margin:.6rem 0 1rem}.project-showcase-intro p{color:#cbb9c9;margin:0 auto;max-width:37rem}
.project-3d-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;min-height:300px}
.project-3d-slide{position:relative;height:270px;min-width:0;border:1px solid #7b3d61;border-radius:18px;overflow:hidden;background:#291424;box-shadow:0 20px 38px rgba(0,0,0,.35)}
.project-3d-slide a{position:relative;display:block;width:100%;height:100%;color:#fff;text-decoration:none}.project-3d-slide a:focus-visible{outline:3px solid #ffabd3;outline-offset:-5px;border-radius:18px}
.project-3d-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.project-3d-slide:nth-child(5) img{object-fit:contain;background:#261520}
.project-3d-label{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:.3rem;padding:2.8rem 1.2rem 1.1rem;background:linear-gradient(transparent,rgba(8,5,13,.93));text-shadow:0 2px 12px #09040b}
.project-3d-label small{color:#ff91c8;letter-spacing:.13em;text-transform:uppercase;font-size:.66rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.project-3d-label strong{font-size:1.25rem;line-height:1.25}.project-3d-label span{font-size:.78rem;color:#f2d4e4}
.project-3d-carousel.is-ready .project-3d-stage{display:block;position:relative;height:390px;min-height:0;perspective:1200px;perspective-origin:center 45%;transform-style:preserve-3d}
.project-3d-carousel.is-ready .project-3d-slide{position:absolute;left:50%;top:26px;width:min(54%,550px);height:325px;transform-style:preserve-3d;backface-visibility:hidden;transition:transform .75s cubic-bezier(.2,.72,.15,1),opacity .65s,filter .65s,box-shadow .65s;will-change:transform}
.project-3d-carousel.is-ready .project-3d-slide:not(.is-active){pointer-events:none}.project-3d-carousel.is-ready .project-3d-slide.is-active{box-shadow:0 30px 65px rgba(0,0,0,.6),0 0 34px rgba(255,80,173,.3);border-color:#ff84be}
.project-3d-carousel.is-ready .project-3d-slide:not(.is-active) .project-3d-label{opacity:.65}
.project-3d-controls{display:none;align-items:center;justify-content:center;gap:1rem}.project-3d-carousel.is-ready .project-3d-controls{display:flex}
.project-3d-arrow{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1px solid #ba6094;background:#291526;color:#ffe9f4;font-size:1.4rem;cursor:pointer;transition:background .2s,transform .2s}
.project-3d-arrow:hover,.project-3d-arrow:focus-visible{background:#a82e76;transform:translateY(-2px)}.project-3d-arrow:focus-visible,.project-3d-dots button:focus-visible{outline:2px solid #ffc0df;outline-offset:3px}
.project-3d-status{min-width:18rem;text-align:center;color:#f7e8f1;font-size:.87rem}.project-3d-dots{display:none;justify-content:center;gap:.55rem;margin-top:1rem}.project-3d-carousel.is-ready .project-3d-dots{display:flex}
.project-3d-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#8c5576;cursor:pointer;transition:width .3s,background .3s}.project-3d-dots button[aria-current="true"]{width:24px;border-radius:100px;background:#ff82bf}
.project-showcase-link{text-align:center;margin:2rem 0 0}
@media(max-width:900px){.project-3d-stage{grid-template-columns:repeat(2,minmax(0,1fr))}.project-3d-carousel.is-ready .project-3d-slide{width:min(65%,500px)}}
@media(max-width:700px){.project-3d-stage{grid-template-columns:1fr}.project-3d-carousel.is-ready .project-3d-stage{height:315px}.project-3d-carousel.is-ready .project-3d-slide{top:15px;width:78%;height:265px}.project-3d-status{min-width:0;flex:1;font-size:.75rem}.project-3d-controls{gap:.6rem}.project-3d-arrow{flex:none;width:42px;height:42px}.project-3d-label strong{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){.project-3d-carousel.is-ready .project-3d-slide,.project-3d-arrow,.project-3d-dots button{transition:none}}

/* About opening uses the supplied portrait as-is, with copy in its open space. */
.about-hero{display:flex;align-items:center;min-height:clamp(540px,47vw,690px);padding:4rem 0;background:#260e1d;isolation:isolate}
.about-hero-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.about-hero:before{z-index:1;opacity:1;mask-image:none;background:linear-gradient(90deg,transparent 38%,rgba(18,5,15,.3) 58%,rgba(18,5,15,.55) 100%)}
.about-hero .container{z-index:2;padding-left:min(52%,610px)}
.about-hero .eyebrow{color:#ffadd5;text-shadow:0 2px 10px rgba(15,3,12,.6)}
.about-hero h1{color:#fff6fb;font-size:clamp(3rem,5.5vw,5.7rem);text-shadow:0 3px 20px rgba(15,3,12,.55)}
.about-hero p{color:#fff2f9;max-width:31rem;text-shadow:0 2px 14px rgba(15,3,12,.75)}
@media(max-width:900px){
  .about-hero{flex-direction:column;align-items:stretch;min-height:0;padding:0}
  .about-hero-photo{position:relative;order:0;height:clamp(300px,60vw,460px);object-position:36% center}
  .about-hero:before{display:none}
  .about-hero .container{order:1;padding:3.1rem 0 3.6rem}
  .about-hero h1{max-width:42rem}
  .about-hero p{max-width:38rem}
}
@media(max-width:520px){
  .about-hero-photo{height:310px;object-position:35% center}
  .about-hero .container{padding:2.5rem 0 3rem}
  .about-hero h1{font-size:clamp(2.5rem,10vw,3.5rem)}
}

/* Services opening pairs the heading with Camille's supplied studio portrait. */
.services-hero,.contact-hero{display:flex;align-items:center;min-height:clamp(540px,47vw,690px);padding:4rem 0;background:#260e1d;isolation:isolate}
.services-hero-photo,.contact-hero-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.services-hero:before,.contact-hero:before{z-index:1;opacity:1;mask-image:none;background:linear-gradient(90deg,rgba(18,5,15,.48) 0%,rgba(18,5,15,.28) 38%,transparent 66%)}
.services-hero .container,.contact-hero .container{z-index:2}
.services-hero .eyebrow,.contact-hero .eyebrow{color:#ffadd5;text-shadow:0 2px 10px rgba(15,3,12,.6)}
.services-hero h1,.contact-hero h1{max-width:37rem;color:#fff6fb;font-size:clamp(3rem,5.5vw,5.7rem);text-shadow:0 3px 20px rgba(15,3,12,.55)}
.services-hero p,.contact-hero p{max-width:34rem;color:#fff2f9;text-shadow:0 2px 14px rgba(15,3,12,.75)}
@media(max-width:900px){
  .services-hero,.contact-hero{flex-direction:column;align-items:stretch;min-height:0;padding:0}
  .services-hero-photo,.contact-hero-photo{position:relative;order:0;height:clamp(300px,60vw,460px);object-position:64% center}
  .services-hero:before,.contact-hero:before{display:none}
  .services-hero .container,.contact-hero .container{order:1;padding:3.1rem 0 3.6rem}
  .services-hero h1,.contact-hero h1{max-width:42rem}
  .services-hero p,.contact-hero p{max-width:38rem}
}
@media(max-width:520px){
  .services-hero-photo,.contact-hero-photo{height:310px;object-position:66% center}
  .services-hero .container,.contact-hero .container{padding:2.5rem 0 3rem}
  .services-hero h1,.contact-hero h1{font-size:clamp(2.5rem,10vw,3.5rem)}
}

/* The supplied journey graphic is large enough to read on desktop. */
.hero-with-journey{padding:4.6rem 0 5.4rem}
.hero-journey-grid{grid-template-columns:minmax(0,1fr);gap:3rem}
.hero-journey-copy{max-width:54rem}
.hero-journey-visual{margin:0;overflow:hidden;border:1px solid #854667;border-radius:22px;background:#efd4da;box-shadow:0 26px 70px rgba(0,0,0,.36),0 0 30px rgba(255,91,174,.16)}
.hero-journey-visual img{display:block;width:100%;height:auto}
.hero-journey-mobile{display:none}
@media(max-width:700px){
  .hero-with-journey{padding:3.2rem 0 4.3rem}
  .hero-journey-grid{gap:2.2rem}
  .hero-journey-visual{border-radius:14px}
  .hero-journey-mobile{display:block;margin-top:-.3rem;padding:1.5rem;border:1px solid #6a3b59;border-radius:16px;background:#1b1120}
  .hero-journey-mobile .eyebrow{margin-bottom:.55rem}
  .hero-journey-mobile h2{font-size:clamp(1.6rem,6vw,2.25rem);line-height:1.25}
  .hero-journey-stages{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.3rem 0}
  .hero-journey-stages span{padding:.45rem .65rem;border:1px solid #945272;border-radius:999px;color:#ffe9f4;font-size:.75rem}
  .hero-journey-mobile p{margin:0;color:#d5c1d0;font-size:.85rem;line-height:1.6}
}

/* Lead the home page with the complete supplied journey artwork. */
.hero-with-journey{padding-top:0}
.hero-journey-visual{grid-row:1;width:min(100vw,1672px);margin-left:calc(50% - min(50vw,836px));border:0;border-bottom:1px solid #854667;border-radius:0;box-shadow:none}
.hero-journey-copy{grid-row:2;padding-top:.2rem}
.hero-journey-mobile{grid-row:3}
@media(max-width:700px){
  .hero-with-journey{padding-top:0}
  .hero-journey-grid{gap:2rem}
  .hero-journey-copy{padding-top:0}
  .hero-journey-visual{border-radius:0}
}

/* Soft points and connecting lines shared by every page. */
#site-network{position:fixed;inset:0;width:100%;height:100%;z-index:19;pointer-events:none;opacity:.72;mix-blend-mode:screen}
@media(max-width:700px){#site-network{opacity:.62}}
@media(prefers-reduced-motion:reduce){#site-network{opacity:.42}}
@media print{#site-network{display:none}}

/* A bright streak travels around each CTA while the button text stays still. */
@property --cta-neon-angle{
  syntax:'<angle>';
  inherits:true;
  initial-value:0deg;
}
@keyframes cta-neon-orbit{to{--cta-neon-angle:360deg}}
.btn{
  --cta-neon-angle:0deg;
  border:2px solid transparent;
  background:conic-gradient(from var(--cta-neon-angle),#ff65b6 0deg,#d94194 120deg,#ff7fc2 235deg,#fff1fb 267deg,#ff3ba4 292deg,#ff65b6 360deg) border-box;
  animation:cta-neon-orbit 3.6s linear infinite;
}
.btn::before,.btn-light::before{
  inset:-5px;
  background:conic-gradient(from var(--cta-neon-angle),rgba(255,83,174,.55),rgba(255,113,194,.28) 58%,rgba(255,237,249,.9) 75%,rgba(255,56,157,.75) 83%,rgba(255,83,174,.55));
  filter:blur(8px);
  opacity:.74;
}
.btn::after,.btn-light::after{
  inset:2px;
  border:0;
  background:linear-gradient(115deg,var(--b1),var(--b2));
}
@media(prefers-reduced-motion:reduce){.btn{animation:none}}
