.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}
.skip-link{position:absolute;left:16px;top:-60px;z-index:80;padding:10px 14px;background:var(--pink);color:var(--bg);font-weight:800;border-radius:4px}
.skip-link:focus{top:12px}
.text-balance{text-wrap:balance}
[hidden]{display:none!important}
.hidden{display:none!important}
main:focus{outline:none}
a.primary,a.ghost-button{display:inline-flex;align-items:center;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pink);outline-offset:3px}

.site-header{position:relative;gap:28px}
.site-nav{gap:22px}
.site-nav a{position:relative;padding:8px 0;font-size:14px;color:var(--muted);text-decoration:none;white-space:nowrap}
.site-nav a:hover{color:var(--text)}
.site-nav a[aria-current=page]{color:var(--text)}
.site-nav a[aria-current=page]::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--pink),var(--blue))}
.header-cta{flex-shrink:0}
.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;border:1px solid #45404d;border-radius:4px;background:transparent;color:var(--text);place-items:center}
.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after{display:block;width:18px;height:2px;background:currentColor;position:relative}
.menu-toggle i::before,.menu-toggle i::after{content:'';position:absolute;left:0}
.menu-toggle i::before{top:-6px}.menu-toggle i::after{top:6px}

.ghost-button{color:var(--text);background:transparent;border:1px solid #5a4b62;padding:14px 20px;border-radius:4px;font-size:14px;font-weight:700;transition:border-color .2s,background-color .2s}
.ghost-button:hover{border-color:var(--pink);background:#fa2dc514}
.hero-actions{flex-wrap:wrap;gap:14px 22px}
.hero h1{font-size:clamp(40px,4.6vw,64px)}
.lede{font-size:16px;line-height:1.7}

.page-head{max-width:1216px;margin:auto;padding:80px 32px 40px}
.page-head h1{font-size:clamp(40px,5vw,64px);line-height:1.04;letter-spacing:-2.5px;margin:0 0 20px}
.page-head h1 em{font-family:'Playfair Display',Georgia,serif;font-weight:700;color:#fd79de;letter-spacing:-1.5px}
.page-head .lede{max-width:560px}

.workflow{max-width:1216px;margin:110px auto 0;padding:0 32px}
.workflow-head h2{font-size:clamp(36px,4vw,52px)}
.workflow-steps{list-style:none;margin:20px 0 0;padding:0 0 110px;max-width:none}
.workflow-steps li{border-top:1px solid #4b3a51;padding:18px 8px}
.workflow-steps h3{font-size:17px}
.workflow-steps p{font-size:14px;line-height:1.6}

.cta-band{max-width:1216px;margin:0 auto 90px;padding:44px clamp(24px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;background:linear-gradient(115deg,#1d1121,#0e1324);border:1px solid #3a2d45;border-radius:10px}
.cta-band h2{font-size:clamp(30px,3.4vw,44px);margin:0}
.cta-band.compact{margin-top:60px}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}
main>section>.cta-band{width:calc(100% - 64px)}

.workflow-steps{padding-bottom:90px}
.home-packages{margin-bottom:0}
.home-block{max-width:1216px;margin:0 auto;padding:100px 32px 0}
.home-block h2{font-size:clamp(32px,3.8vw,48px);letter-spacing:-1.8px;line-height:1.08;margin:0 0 36px}
.home-block h2 em,.cta-band h2 em{font-family:'Playfair Display',Georgia,serif;color:#fd79de}
.block-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.block-head h2{margin:0}
.portfolio-grid.home-portfolio{margin:0;padding:0;max-width:none}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.why-grid article{padding:26px 22px;background:var(--card);border:1px solid #322d3a;border-radius:8px;transition:border-color .2s}
.why-grid article:hover{border-color:#c531b5}
.why-grid h3{font-size:17px;margin:0 0 10px}
.why-statement{max-width:1216px;margin:0 auto;padding:0 32px}
.why-statement p{margin:0;max-width:880px;padding-left:24px;border-left:2px solid #fd79de;font-family:'Playfair Display',Georgia,serif;font-size:clamp(20px,2.2vw,27px);line-height:1.5;text-wrap:pretty}
.custom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.custom-grid article{display:flex;flex-direction:column;gap:10px;padding:28px 26px;background:var(--card);border:1px solid #322d3a;border-radius:8px}
.custom-grid span{font-family:monospace;font-size:14px;letter-spacing:.14em;color:#fd79de}
.custom-grid h3{font-size:20px;margin:0}
.custom-grid p{margin:0;font-size:15px;line-height:1.65;color:var(--muted)}
@media (max-width:720px){.custom-grid{grid-template-columns:1fr}.why-statement{padding:0 22px}.why-statement p{padding-left:18px}}
.why-grid p{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.review{margin:0;padding:28px 24px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(150deg,#1b1220,#11131f);border:1px solid #3a2d45;border-radius:10px}
.sample-tag{align-self:flex-start;font:700 13px 'DM Mono',monospace;letter-spacing:1px;color:var(--gold);padding:4px 8px;border:1px dashed #7a5a46;border-radius:4px}
.review blockquote{margin:0;flex:1;font-size:15px;line-height:1.65}
.review figcaption{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--muted)}
.review figcaption b{color:var(--text);font-size:14px}
.faq-block{display:grid;grid-template-columns:1fr 1.7fr;gap:40px;align-items:start}
.faq-list{border-top:1px solid #322d3a}
.faq-list details{border-bottom:1px solid #322d3a}
.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;cursor:pointer;list-style:none;font-size:16px;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';flex-shrink:0;font:400 22px 'DM Mono',monospace;color:#fd79de;transition:transform .2s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list summary:hover{color:#fd79de}
.faq-list details p{margin:0;padding:0 4px 22px;font-size:15px;line-height:1.65;color:var(--muted);max-width:640px}
.about-block{padding-bottom:100px;text-align:center;display:flex;flex-direction:column;align-items:center}
.about-block h2{margin-bottom:20px}
.about-block .lede{max-width:720px;margin:0;color:var(--muted)}

.package-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px}
.packages .package-grid .package-actions .primary{min-height:44px;font-size:14px;padding:12px 16px}
.small-link{font-size:14px;font-weight:600;color:var(--muted);padding:8px 0}
.small-link:hover{color:var(--text)}
.service-add{text-decoration:none;display:inline-block}
.service-add:hover{text-decoration:underline}

.portfolio-filters{max-width:1216px;margin:0 auto;padding:0 32px;display:flex;flex-wrap:wrap;gap:8px}
.filter{min-height:40px;padding:0 16px;border:1px solid #403846;border-radius:999px;background:transparent;color:var(--muted);font-size:14px;font-weight:600}
.filter:hover{color:var(--text)}
.filter.active{border-color:var(--pink);background:#4c1a46;color:var(--text)}
.portfolio-grid{max-width:1216px;margin:28px auto 0;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.work-card{background:var(--card);border:1px solid #322d3a;border-radius:8px;overflow:hidden;transition:border-color .2s,transform .2s}
.work-card:hover{border-color:#c531b5;transform:translateY(-2px)}
.work-card.wide{grid-column:span 2}
.work-frame{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#1d1222,#0f1222);border-bottom:1px solid #322d3a}
.work-card.wide .work-frame{aspect-ratio:auto;height:calc(100% - 118px);min-height:220px}
.work-frame span{font:700 14px 'DM Mono',monospace;letter-spacing:3px;color:#5c4f63;padding:10px 16px;border:1px dashed #4a3d52;border-radius:4px}
.work-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-bottom:1px solid #322d3a}
.work-meta{padding:18px 20px 20px}
.work-meta span{font:13px 'DM Mono',monospace;letter-spacing:1px;color:#e360c6}
.work-meta h3{font-size:16px;margin:8px 0 4px}
.work-meta p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
section[data-page=portfolio]{padding-bottom:30px}

.form-layout{max-width:1216px;margin:0 auto 100px;padding:0 32px;display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:start}
.form-card,.side-card{padding:clamp(22px,3vw,34px);background:var(--card);border:1px solid #322d3a;border-radius:10px}
.side-card{background:linear-gradient(150deg,#1b1220,#11131f)}
.side-card h2{font-size:26px;letter-spacing:-1px;margin:0 0 12px}
.side-card p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.6}
.side-card a:not(.ghost-button){color:#ef70d5}
.side-card hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.side-card .ghost-button{margin-top:6px}
.site-form{display:flex;flex-direction:column;gap:18px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;font-size:14px;font-weight:700;color:#dcd5df}
.field small{font-weight:500;color:var(--muted)}
.site-form input,.site-form select,.site-form textarea{display:block;width:100%;margin-top:8px;padding:12px 14px;min-height:46px;border:1px solid #3b3441;background:#0d0c12;border-radius:4px;color:var(--text);font:15px Manrope,Arial,sans-serif;color-scheme:dark}
.site-form textarea{height:140px;resize:vertical}
.site-form input[type=file]{padding:10px;font-size:14px}
.site-form input:focus,.site-form select:focus,.site-form textarea:focus{border-color:var(--pink)}
.site-form .primary{align-self:flex-start;min-height:48px}
.site-form .primary:disabled{opacity:.6;cursor:progress}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-error{margin:0;padding:12px 14px;border:1px solid #ef3f4c;border-radius:4px;background:#ef3f4c1a;color:#ffd5d9;font-size:14px;line-height:1.5}
.notice{margin:0 0 20px;padding:14px 16px;border:1px solid var(--pink);border-radius:4px;background:#fa2dc514;color:var(--text);font-size:14px;line-height:1.55}
.thank-you{padding:30px 0 10px}
.thank-you:focus{outline:none}
.thank-you h2{font-size:clamp(28px,3vw,38px);letter-spacing:-1.2px;margin:0 0 18px}

.booking-area{max-width:1216px;margin:0 auto 100px;padding:0 32px}
.booking-placeholder{padding:clamp(28px,5vw,64px);border:1px dashed #6d4a6e;border-radius:12px;background:linear-gradient(140deg,#1b1121,#0e1324);text-align:center;display:flex;flex-direction:column;align-items:center}
.booking-placeholder h2{font-size:clamp(30px,3.6vw,46px);margin:0 0 14px}
.booking-placeholder p:not(.eyebrow){max-width:480px;color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 26px}
.booking-placeholder .cta-actions{justify-content:center}
.booking-frame{display:block;width:100%;height:760px;border:1px solid #322d3a;border-radius:12px;background:#fff}

.contact-email{display:inline-block;font-size:clamp(18px,2vw,22px);font-weight:800;color:var(--text)!important;text-decoration:none;word-break:break-all}
.contact-email:hover{color:#fd79de!important}
.social-links{display:flex;flex-direction:column;gap:8px}
.social-links a{display:flex;align-items:center;gap:12px;padding:10px 0;color:var(--text)!important;text-decoration:none;font-size:14px;font-weight:600}
.social-links a:hover{color:#fd79de!important}
.footer-share a,.footer-share button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid #45404d;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.footer-share a:hover,.footer-share button:hover,.footer-share button:focus-visible{border-color:var(--pink)}
.legal-links .footer-link{font-size:inherit;letter-spacing:inherit}
.bug-status{min-height:1.4em;margin:12px 0;color:#ef70d5;font-size:14px}
.site-toast{position:fixed;left:50%;bottom:24px;z-index:70;transform:translateX(-50%);max-width:min(480px,calc(100% - 32px));padding:12px 18px;border:1px solid #824275;background:#1a1220;color:#fff;font-size:14px;line-height:1.5;box-shadow:0 12px 40px #000a}
.site-toast[hidden]{display:none}
.social-empty{margin:0}

@media(max-width:1100px){
  .site-header{flex-wrap:wrap}
  .site-nav{gap:16px}
  .site-nav a{font-size:14px}
}
@media(max-width:980px){
  .menu-toggle{display:grid}
  .site-nav{display:none;position:absolute;top:84px;left:0;right:0;z-index:30;margin:0;padding:12px 20px 20px;flex-direction:column;gap:0;background:#0d0c12f7;border-bottom:1px solid var(--line)}
  .site-nav.open{display:flex}
  .site-nav a{font-size:15px;padding:14px 0;border-bottom:1px solid #1f1c26}
  .site-nav a[aria-current=page]::after{display:none}
  .site-nav a[aria-current=page]{color:#fd79de}
  .header-cta{display:none}
  .form-layout{grid-template-columns:1fr}
  .portfolio-grid{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .review-grid{grid-template-columns:1fr}
  .faq-block{grid-template-columns:1fr;gap:0}
}
@media(max-width:760px){
  .page-head{padding:50px 22px 28px}
  .workflow{margin-top:70px;padding:0 22px}
  .workflow-steps{grid-template-columns:1fr;padding-bottom:70px}
  main>section>.cta-band{width:calc(100% - 44px)}
  .portfolio-filters,.portfolio-grid,.form-layout,.booking-area{padding:0 22px}
  .portfolio-grid{grid-template-columns:1fr}
  .home-block{padding:70px 22px 0}
  .portfolio-grid.home-portfolio{padding:0}
  .why-grid{grid-template-columns:1fr}
  .about-block{padding-bottom:70px}
  .work-card.wide{grid-column:auto}
  .work-card.wide .work-frame{aspect-ratio:4/3;height:auto;min-height:0}
  .field-row{grid-template-columns:1fr}
  .site-form .primary{align-self:stretch;justify-content:center}
  .booking-frame{height:680px}
}
