:root { --ink:#16173c; --paper:#fff5e7; --blue:#3443a2; --sunset:#fa9157; --pink:#c94478; --line:#dfb5a0; --muted:#705e66; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; font-size:16px; }
.site-header { min-height:78px; display:flex; justify-content:space-between; align-items:center; padding:16px 5vw; border-bottom:1px solid rgba(17,20,33,.15); background:rgba(244,241,234,.93); position:sticky; top:0; z-index:4; backdrop-filter:blur(12px); }
.brand { display:block; height:49px; text-decoration:none; } .brand img { display:block; width:84px; height:49px; object-fit:cover; object-position:center; }
nav { display:flex; gap:21px; } nav a { color:var(--ink); text-decoration:none; font-size:13px; font-weight:700; white-space:nowrap; } nav a:hover,nav a.active { color:var(--blue); } nav a.active { text-decoration:underline; text-underline-offset:6px; }
.hero { min-height:660px; padding:12vh 13vw 4vh; color:var(--paper); background:radial-gradient(circle at 78% 20%, #fbad62 0, #fa9157 20%, transparent 49%),radial-gradient(circle at 82% 89%, #c94478 0, transparent 37%),linear-gradient(132deg,#16173c 23%,#3443a2 100%); display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; } .hero::after { content:"P"; position:absolute; font:italic 700 75vw/1 "Playfair Display",serif; color:rgba(255,245,231,.08); right:-9vw; bottom:-32vw; }
.eyebrow { font:500 12px/1.3 "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; margin:0 0 20px; } h1,h2 { font-family:"Playfair Display",serif; letter-spacing:-.045em; margin:0; } h1 { font-size:clamp(55px,8vw,115px); line-height:.93; max-width:800px; position:relative; z-index:1; } h1 i { color:#ffd8b2; font-weight:600; }.intro { max-width:430px; font-size:19px; line-height:1.45; margin:33px 0 16px; position:relative; z-index:1; }.caps { margin:0 0 27px; color:#ffd8b2; font-size:14px; position:relative; z-index:1; }.caps a,.caps strong { color:var(--paper); font-weight:700; }.button { width:max-content; color:var(--ink); background:var(--paper); padding:14px 18px; font-weight:700; text-decoration:none; position:relative; z-index:1; }.hero-rule { display:flex; justify-content:space-between; border-top:1px solid rgba(255,245,231,.45); padding-top:14px; margin-top:55px; font:12px "DM Mono",monospace; position:relative; z-index:1; }
.section { padding:120px 8vw; }.section-heading { max-width:620px; }.section h2,.split-section h2,.contact h2 { font-size:clamp(45px,6vw,75px); line-height:.96; }.section-heading > p:last-child { color:var(--muted); line-height:1.5; font-size:18px; margin:23px 0 45px; }.price-table { border-top:2px solid var(--ink); }.price-row { display:grid; grid-template-columns:1.15fr 1.55fr .65fr .65fr; gap:20px; padding:15px 0; border-bottom:1px solid var(--line); align-items:center; }.price-row span { color:var(--muted); }.price-row span:nth-last-child(-n+2) { text-align:right; font-family:"DM Mono",monospace; color:var(--ink); }.price-row.labels { padding:12px 0; font:11px "DM Mono",monospace; letter-spacing:.07em; text-transform:uppercase; }.price-row.labels span { color:var(--ink)!important; }
.page-main { min-height:calc(100vh - 110px); }.page-lead { padding:105px 8vw 75px; background:linear-gradient(132deg,#16173c 23%,#3443a2 100%); color:var(--paper); }.page-lead h1,.page-feature h1,.resources h1,.forms h1,.contact h1 { font-size:clamp(55px,8vw,105px); line-height:.93; }.page-lead h1 i,.page-feature h1 i,.resources h1 i,.forms h1 i,.contact h1 i { color:var(--sunset); font-weight:600; }.page-lead > p:last-child { max-width:600px; margin:28px 0 0; font-size:19px; line-height:1.5; color:#ffd8b2; }.page-feature { min-height:calc(100vh - 118px); align-content:center; }.dark-button { background:var(--ink); color:var(--paper); margin-top:40px; }.home-links { background:#ffe3cf; }.nav-grid { margin-top:48px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.nav-grid a { min-height:180px; padding:22px; border:1px solid #d28d81; color:var(--ink); text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; transition:.2s; }.nav-grid a:hover { background:var(--pink); color:white; transform:translateY(-4px); }.nav-grid strong { font:700 28px/1.05 "Playfair Display",serif; }.nav-grid span { font:12px "DM Mono",monospace; }.resources .section-heading,.forms .section-heading { max-width:760px; }
.split-section { padding:100px 8vw; display:grid; grid-template-columns:1.3fr 1fr; gap:50px; align-items:start; background:#ded9ce; border-top:1px solid var(--line); }.split-section.office { background:var(--ink); color:var(--paper); }.large-copy { font-size:20px; line-height:1.45; max-width:460px; }.rate-card { border-top:2px solid currentColor; padding-top:14px; display:flex; flex-direction:column; gap:7px; }.rate-card span { color:var(--muted); font:11px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; margin-top:9px; }.office .rate-card span { color:#b9b8bd; }.rate-card strong { font-size:26px; }.rate-card small { font-size:13px; font-weight:400; }.rate-card p { margin:14px 0 0; padding-top:13px; border-top:1px solid rgba(17,20,33,.22); font-size:14px; line-height:1.4; }.office .rate-card p { border-color:rgba(255,245,231,.24); }.rate-card a { color:inherit; margin-top:12px; font-size:14px; font-weight:700; }
.about { display:grid; grid-template-columns:1.1fr 1fr; gap:10vw; background:#f8c58e; }.about-copy { align-self:end; font-size:20px; line-height:1.46; }.about-copy p { margin:0 0 18px; }.text-link { display:inline-block; margin-top:18px; color:var(--ink); font-weight:700; text-decoration-thickness:1px; text-underline-offset:5px; }
.resources { background:#ded9ce; }.resource-category { margin-top:55px; }.resource-label { margin:0 0 12px; font:500 12px "DM Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.resource-grid a { min-height:210px; padding:20px; border:1px solid #8d8e9a; color:var(--ink); text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; transition:.2s; }.resource-grid a:hover { background:var(--blue); color:var(--paper); transform:translateY(-4px); }.resource-grid em { font:12px "DM Mono",monospace; }.resource-grid strong { font:700 32px/1 "Playfair Display",serif; }.resource-grid p { margin:0; font-size:16px; line-height:1.4; }
.forms { background:#ffe3cf; }.form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.form-grid a { min-height:230px; padding:20px; border:1px solid #d28d81; color:var(--ink); text-decoration:none; display:flex; flex-direction:column; justify-content:space-between; transition:.2s; }.form-grid a:hover { background:var(--pink); color:white; transform:translateY(-4px); }.form-grid em { font:12px "DM Mono",monospace; }.form-grid strong { font:700 25px/1.05 "Playfair Display",serif; }
.card-setup { background:#ffe3cf; min-height:calc(100vh - 118px); }.card-setup-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.8fr); gap:8vw; align-items:start; }.card-setup h1 { font-size:clamp(52px,7vw,92px); line-height:.94; }.card-setup h1 i { color:var(--pink); font-weight:600; }.card-setup-intro { color:var(--muted); font-size:18px; line-height:1.55; max-width:620px; margin:26px 0 0; }.setup-steps { margin-top:46px; border-top:2px solid var(--ink); }.setup-step { display:grid; grid-template-columns:46px 1fr; gap:18px; padding:24px 0; border-bottom:1px solid var(--line); }.setup-step-number { width:34px; height:34px; border:1px solid var(--ink); border-radius:50%; display:grid; place-items:center; font:500 13px "DM Mono",monospace; }.setup-step h2 { font:700 27px/1.1 "Playfair Display",serif; letter-spacing:-.025em; margin:0 0 8px; }.setup-step p { color:var(--muted); line-height:1.5; margin:0 0 15px; }.setup-step .button { display:inline-block; background:var(--ink); color:var(--paper); }
.secure-form { background:var(--paper); border:1px solid #d28d81; padding:28px; position:sticky; top:105px; }.secure-form h2 { font-size:34px; line-height:1; margin-bottom:9px; }.secure-form > p { color:var(--muted); line-height:1.45; margin:0 0 24px; }.field { display:block; margin-bottom:17px; }.field > span { display:block; margin-bottom:7px; font:500 11px "DM Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }.field input { width:100%; border:1px solid #b69a91; background:white; color:var(--ink); padding:13px 12px; border-radius:0; font:16px "DM Sans",sans-serif; }.field input:focus { outline:2px solid var(--blue); outline-offset:1px; }.check-field { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; margin:20px 0; font-size:14px; line-height:1.42; }.check-field input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--blue); }.payment-note { padding:14px; background:#ffe3cf; border-left:3px solid var(--pink); color:var(--ink)!important; font-size:13px; line-height:1.45!important; }.secure-submit { width:100%; border:0; background:var(--blue); color:white; padding:15px 18px; font:700 15px "DM Sans",sans-serif; cursor:pointer; }.secure-submit:hover { background:var(--pink); }.secure-submit:disabled { cursor:wait; opacity:.65; }.form-status { min-height:22px; margin:12px 0 0!important; color:#a0224d!important; font-size:14px; }.security-line { margin-top:17px!important; font:12px/1.45 "DM Mono",monospace!important; color:var(--muted)!important; }.hp-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }.success-card { max-width:720px; padding:34px; border:1px solid #d28d81; background:var(--paper); }.success-card h1 { margin-bottom:22px; }.success-card p { color:var(--muted); font-size:18px; line-height:1.55; }.success-card .button { display:inline-block; background:var(--ink); color:var(--paper); margin-top:16px; }
.stripe-card-field { min-height:47px; padding:14px 12px; border:1px solid #b69a91; background:#fff; }.stripe-card-field.StripeElement--focus { outline:2px solid var(--blue); outline-offset:1px; }.stripe-card-field.StripeElement--invalid { border-color:#a0224d; }
.contact { background:linear-gradient(115deg,var(--pink),var(--blue)); color:white; padding:120px 13vw; }.contact > p:not(.eyebrow) { font-size:20px; max-width:500px; line-height:1.45; }.contact-links { margin:43px 0 35px; display:flex; flex-direction:column; gap:8px; }.contact-links a { color:white; font:600 clamp(22px,3vw,35px) "DM Sans",sans-serif; text-decoration:none; }.contact address { font-style:normal; line-height:1.5; opacity:.8; } footer { background:var(--ink); color:var(--paper); padding:20px 5vw; font:12px "DM Mono",monospace; }
@media (max-width:720px) { .site-header { display:block; min-height:0; padding:9px 0 0; }.brand { margin:0 7vw 8px; }.brand,.brand img { width:74px; height:48px; }.site-header nav { display:flex; gap:20px; overflow-x:auto; padding:10px 7vw 13px; border-top:1px solid rgba(17,20,33,.1); scrollbar-width:none; }.site-header nav::-webkit-scrollbar { display:none; }.site-header nav a { font-size:13px; }.hero { min-height:620px; padding:90px 8vw 34px; }.hero h1,.page-lead h1,.page-feature h1,.resources h1,.forms h1,.contact h1,.card-setup h1 { font-size:clamp(48px,15vw,68px); }.intro { font-size:17px; }.section,.contact,.page-lead { padding:72px 7vw; }.page-feature { min-height:auto; }.price-row { grid-template-columns:1fr 1fr; gap:7px 12px; padding:17px 0; }.price-row span:nth-last-child(-n+2) { text-align:left; font-size:14px; }.price-row.labels { display:none; }.price-row strong { grid-column:1 / 2; }.price-row span:nth-child(2) { grid-column:2 / 3; color:var(--muted); }.price-row span:nth-child(3)::before { content:"Day "; color:var(--muted); }.price-row span:nth-child(4)::before { content:"Week "; color:var(--muted); }.split-section,.about,.card-setup-layout { grid-template-columns:1fr; gap:38px; padding:72px 7vw; }.rate-card { margin-top:4px; }.about-copy { font-size:18px; }.form-grid,.resource-grid,.nav-grid { grid-template-columns:1fr; }.form-grid a,.resource-grid a,.nav-grid a { min-height:150px; }.hero-rule { margin-top:35px; gap:16px; }.secure-form { position:static; padding:22px; }.setup-step { grid-template-columns:38px 1fr; gap:12px; } }
