/* FULL WIRE PRODUCTION POLISH - Fly Ink Mack Consulting */
:root{--flyink-ruby:#b00020;--flyink-gold:#d6ad60;--flyink-ink:#08080b;--flyink-soft:#f6f3ef;--flyink-muted:#b8b8c3;}
html{scroll-behavior:smooth}body{letter-spacing:0;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}p,li,label,input,select,textarea,.policy-content p,.copy-card p,.form-note,.check-line{letter-spacing:0}p,li{line-height:1.68}h1,h2,h3{letter-spacing:-.018em}h1{line-height:1.06;font-size:clamp(2.15rem,4.2vw,4.65rem)!important}h2{line-height:1.14;font-size:clamp(1.55rem,2.8vw,2.65rem)!important}h3{line-height:1.22;font-size:clamp(1.12rem,1.6vw,1.45rem)!important}.page-hero h1{max-width:980px}.page-hero p,.hero-copy p{font-size:clamp(1rem,1.3vw,1.2rem)!important;max-width:780px}.eyebrow,.nav-links a,.nav-account,.btn,.mobile-book,.status-pill,.rating-label,.booking-form label span,.footer-links strong{letter-spacing:.012em}.brand,.brand-name{letter-spacing:.002em}.brand-name{font-weight:900}.brand-mark{white-space:nowrap;letter-spacing:.008em}.nav-shell{gap:1rem}.nav-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.nav-account{display:inline-flex;align-items:center;gap:.42rem;color:inherit;text-decoration:none;font-weight:800;opacity:.9}.nav-account:hover{opacity:1;color:var(--flyink-gold)}.nav-account-icon{display:inline-grid;place-items:center;width:1.1rem;height:1.1rem;flex:0 0 auto}.nav-account-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav-cta{white-space:nowrap}.section-pad{padding-top:clamp(3.25rem,6vw,6rem)!important;padding-bottom:clamp(3.25rem,6vw,6rem)!important}.container{width:min(1180px,calc(100% - 32px))!important}.policy-content{max-width:76ch;overflow-wrap:anywhere}.policy-content h1,.policy-content h2,.policy-content h3{text-wrap:balance}.policy-content h2{margin-top:2rem;margin-bottom:.65rem;line-height:1.2}.policy-content p{font-size:1rem;line-height:1.75;margin:.65rem 0}.legal-updated{opacity:.8;font-size:.95rem}.legal-contact-box{margin-top:2rem;padding:1rem 1.1rem;border:1px solid rgba(214,173,96,.35);border-radius:18px;background:rgba(214,173,96,.08)}.site-footer{padding-bottom:max(2rem,env(safe-area-inset-bottom))}.site-footer a{text-decoration:none}.footer-contact span{display:block;margin:.4rem 0;opacity:.9}.form-note a,.check-line a,.policy-content a{color:var(--flyink-gold);font-weight:800}input,select,textarea{font-size:16px!important}.booking-form{overflow-wrap:anywhere}.booking-form label span{margin-bottom:.45rem;display:inline-block;font-weight:800}.form-row{gap:1rem}.check-line{line-height:1.55}.booking-next-step-box{padding:1rem 1.1rem;border-radius:18px;border:1px solid rgba(176,0,32,.25);background:rgba(176,0,32,.08);margin:1rem 0}.booking-system-grid{align-items:start}.calendar-workstation,.booking-form,.copy-card,.auth-card{box-shadow:0 20px 60px rgba(0,0,0,.22)}.availability-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.calendar-day-name{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--flyink-muted);font-weight:900;text-align:center;padding:.35rem}.calendar-day{min-height:70px;border-radius:18px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.055);color:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:.75rem;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.calendar-day:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(214,173,96,.55);box-shadow:0 14px 34px rgba(0,0,0,.2)}.calendar-day .num{font-size:1.02rem;font-weight:900}.calendar-day .status{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;opacity:.85}.calendar-day.open{background:rgba(34,197,94,.08)}.calendar-day.limited{background:rgba(214,173,96,.12)}.calendar-day.closed{opacity:.4;cursor:not-allowed;background:rgba(255,255,255,.025)}.calendar-day.is-selected{border-color:var(--flyink-gold);background:linear-gradient(135deg,rgba(176,0,32,.34),rgba(214,173,96,.18));box-shadow:0 18px 42px rgba(176,0,32,.24)}.calendar-day.blank{visibility:hidden}.time-slot-grid{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.7rem}.time-slot{border:1px solid rgba(214,173,96,.35);background:rgba(255,255,255,.06);color:inherit;border-radius:999px;padding:.65rem .85rem;font-weight:800;cursor:pointer}.time-slot.is-selected,.time-slot:hover{background:var(--flyink-ruby);border-color:var(--flyink-gold);color:#fff}.btn,button.btn,.nav-cta,.mobile-book{transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.btn:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(176,0,32,.28)}.btn:active{transform:translateY(0) scale(.98)}.btn-primary{position:relative;overflow:hidden}.btn-primary::after{content:"";position:absolute;inset:-40% -60%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(-120%);transition:transform .6s ease}.btn-primary:hover::after{transform:translateX(120%)}.mobile-book{font-weight:900;letter-spacing:.01em;box-shadow:0 16px 36px rgba(176,0,32,.35)}.mobile-book:hover{color:#fff}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--flyink-gold);outline-offset:3px}.auth-page .auth-card label{display:block;margin-bottom:1rem}.auth-page .auth-card input{width:100%}.auth-links{display:flex;gap:.75rem;flex-wrap:wrap}.auth-links a{color:var(--flyink-gold);font-weight:800}.admin-data-table{overflow:auto}.admin-table-row{min-width:720px}@media(max-width:860px){.nav-actions{width:100%;justify-content:space-between;padding-top:.75rem}.nav-account{padding:.65rem .25rem}.footer-grid{gap:1.5rem}.policy-content p{line-height:1.65}.availability-calendar{gap:.36rem}.calendar-day{min-height:58px;border-radius:14px;padding:.55rem}.calendar-day .status{font-size:.58rem}.page-hero{text-align:left}.form-row{grid-template-columns:1fr!important}.booking-system-grid,.page-grid,.booking-grid{grid-template-columns:1fr!important}.mobile-book{bottom:max(.8rem,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Consumer readability and review UX polish */
body,p,li,label,input,select,textarea,button,.btn{word-spacing:normal}
.eyebrow,.rating-label,.booking-form label span,.footer-links strong,.footer-contact strong,.calendar-day-name,.calendar-day .status,.service-meta,.status-pill{letter-spacing:.035em!important}
.btn,.nav-account,.mobile-book{letter-spacing:0!important}
.review-page .page-hero h1{max-width:11ch}
.review-layout{grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);align-items:start}
.review-guidance{position:sticky;top:98px}
.review-steps{display:grid;gap:.75rem;margin:1.25rem 0}
.review-steps div{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:.8rem;padding:.85rem;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.045)}
.review-steps strong{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--flyink-ruby);color:#fff}
.review-steps span{color:var(--flyink-soft);font-weight:800}
.review-smart-form{display:grid;gap:1rem}
.review-smart-form .form-section-title{padding-bottom:.35rem;border-bottom:1px solid rgba(255,255,255,.10)}
.review-smart-form .form-section-title h2{margin:0}
.review-smart-form .form-note{margin:.45rem 0 0}
.review-smart-form label{display:block}
.review-smart-form input,.review-smart-form textarea{border-radius:16px}
.review-smart-form textarea{min-height:150px}
.rating-field{margin:.25rem 0 .1rem}
.star-picker{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem!important;padding:.75rem!important;border-radius:18px!important}
.star-picker button{width:100%!important;min-width:0;height:64px!important;display:grid;place-items:center;gap:.12rem;border-radius:16px!important;line-height:1}
.star-picker button span{font-size:1.55rem}
.star-picker button small{display:block;color:currentColor;font-size:.72rem;font-weight:900;opacity:.72}
.star-picker button[aria-checked=true]{outline:2px solid rgba(214,173,96,.75);outline-offset:3px}
.rating-help{min-height:1.4em}
.review-permission{padding:.95rem 1rem;border:1px solid rgba(214,173,96,.28);border-radius:16px;background:rgba(214,173,96,.07)}
@media(max-width:980px){.review-layout{grid-template-columns:1fr}.review-guidance{position:static}}
@media(max-width:560px){.star-picker{gap:.4rem!important;padding:.55rem!important}.star-picker button{height:56px!important;border-radius:14px!important}.star-picker button span{font-size:1.35rem}}

/* Existing Fly Ink Mack site polish */
.consult-home .nav-links a{white-space:nowrap}
.consult-home .consult-hero{padding-bottom:clamp(3rem,6vw,6.5rem)}
.consult-home .consult-hero-copy .eyebrow{color:var(--flyink-gold)}
.consult-home .consult-hero-copy h1{max-width:760px;text-wrap:balance}
.consult-home .consult-hero-copy .hero-sub{max-width:690px}
.consult-home .consult-proofline span{border-radius:12px;background:rgba(255,255,255,.06);border-color:rgba(214,173,96,.22)}
.consult-home .section-heading>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;line-height:1.75;max-width:700px}
.consult-home .service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.consult-home .service-card{min-height:0;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.026));box-shadow:0 18px 46px rgba(0,0,0,.24)}
.consult-home .service-art{height:118px}
.consult-home .service-body{padding:1.05rem}
.consult-home .service-body h3{font-size:1.12rem!important;line-height:1.2}
.consult-home .service-body p{font-size:.94rem;line-height:1.58}
.consult-home .service-actions{grid-template-columns:1fr;gap:.55rem}
.consult-home .card-cta{min-height:42px;border-radius:10px}
.consult-home .card-cta-secondary{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.11);color:rgba(247,247,242,.78)}
.consult-home .package-card{border-radius:22px;min-height:0}
.consult-home .package-card h3{text-wrap:balance}
.consult-home .photo-feature{border-radius:26px}
.consult-home .final-card{border-radius:26px}
@media(max-width:980px){.consult-home .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.consult-home .service-grid{grid-template-columns:1fr}.consult-home .consult-hero-copy h1{max-width:11ch}.consult-home .consult-proofline{gap:.5rem}.consult-home .consult-proofline span{width:100%;text-align:center}.consult-home .photo-feature{border-radius:20px}}

/* Stripe catalog organization */
.consult-home .service-grid.service-catalog-groups{display:block}
.service-category-nav{position:sticky;top:76px;z-index:12;display:flex;gap:.55rem;overflow-x:auto;margin:-.25rem 0 1.35rem;padding:.55rem;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(8,8,11,.86);backdrop-filter:blur(14px)}
.service-category-nav a{display:inline-flex;align-items:center;gap:.45rem;white-space:nowrap;min-height:38px;padding:0 .85rem;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.045);color:rgba(247,247,242,.84);font-weight:850;font-size:.86rem}
.service-category-nav a:hover{border-color:rgba(214,173,96,.5);color:#fff}
.service-category-nav span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 .35rem;border-radius:999px;background:rgba(214,173,96,.14);color:var(--flyink-gold);font-size:.74rem}
.service-category{scroll-margin-top:150px;margin:0 0 clamp(2rem,4vw,3.5rem)}
.service-category-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}
.service-category-head span{display:block;margin-bottom:.35rem;color:var(--flyink-gold);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.service-category-head h3{margin:0!important;font-size:clamp(1.45rem,2.4vw,2.2rem)!important}
.service-category-head p{max-width:720px;margin:.45rem 0 0;color:rgba(247,247,242,.68);line-height:1.6}
.service-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.consult-home .service-category-grid .service-card{min-height:100%;border-radius:16px}
.consult-home .service-category-grid .service-art{height:88px}
.consult-home .service-category-grid .price-badge{border-radius:10px;padding:.42rem .58rem}
.consult-home .service-category-grid .price-badge strong{font-size:1rem}
.consult-home .service-category-grid .price-badge span{font-size:.68rem}
.service-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:.85rem 0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden}
.service-flow span{display:flex;align-items:center;justify-content:center;min-height:34px;padding:.35rem;background:rgba(0,0,0,.22);color:rgba(247,247,242,.74);font-size:.68rem;font-weight:850;text-align:center;text-transform:uppercase;letter-spacing:.025em}
.consult-home .service-category-grid .service-actions{grid-template-columns:1.1fr .9fr}
.consult-home .service-category-grid .card-cta{min-height:40px;padding:0 .75rem;font-size:.86rem}
@media(max-width:980px){.service-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-category-nav{top:72px}.consult-home .service-category-grid .service-actions{grid-template-columns:1fr}}
@media(max-width:640px){.service-category-nav{position:relative;top:auto;margin-top:0}.service-category-head{align-items:flex-start;flex-direction:column}.service-category-grid{grid-template-columns:1fr}.service-flow span{font-size:.64rem}.consult-home .service-category-grid .service-art{height:98px}}
