/* Ramsey Software visual and interaction refinement */
:root{--navy:#102b49;--red:#bd4938;--ink:#142b42;--muted:#526477;--line:#d8e0e8;--paper:#fff;--mist:#f2f6f9}
html{scroll-padding-top:96px}
body{background:#fff}
.header{position:sticky;top:0;z-index:40;height:82px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);box-shadow:0 1px 0 rgba(16,43,73,.1);transition:box-shadow .25s}
.header.is-scrolled{box-shadow:0 10px 30px rgba(16,43,73,.11)}
.brand{letter-spacing:.08em}.mark{border-radius:7px;box-shadow:4px 4px 0 #d8e5ee}
.header nav a{position:relative;padding:12px 0}.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:8px;height:2px;background:var(--red);transition:right .22s}.header nav a:hover:after,.header nav a[aria-current="location"]:after{right:0}
.header .button.small{border-radius:5px;font-weight:700}
.menu-toggle{display:none;align-items:center;gap:9px;background:transparent;color:var(--navy);border:1px solid var(--line);padding:10px 13px;font-weight:700;cursor:pointer}.menu-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.reading-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;pointer-events:none;background:transparent}.reading-progress span{display:block;height:100%;width:0;background:var(--red);transition:width .08s linear}
.hero{position:relative;min-height:650px;gap:5%;padding-top:76px;padding-bottom:86px;background:radial-gradient(circle at 83% 18%,#e8f1f7 0,transparent 35%),linear-gradient(115deg,#fff 20%,#f5f9fc 100%)}
.hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--red)}
.hero h1{font-size:clamp(3.5rem,6.5vw,6.1rem);line-height:1.02;letter-spacing:-.065em;max-width:820px;margin:24px 0 25px}
.hero h1 em{position:relative;display:inline-block}.hero h1 em:after{content:"";position:absolute;left:1%;right:0;bottom:-7px;height:7px;background:#e9aa9e;z-index:-1}
.hero-copy>p{font-size:1.18rem;line-height:1.65;max-width:540px}
.hero .button,.contact .button{border-radius:5px;box-shadow:0 11px 25px rgba(189,73,56,.18)}
.blueprint{border-radius:8px;box-shadow:0 28px 50px rgba(16,43,73,.2);transform:rotate(1deg);transition:transform .4s,box-shadow .4s}.blueprint:hover{transform:rotate(0deg) translateY(-5px);box-shadow:0 34px 58px rgba(16,43,73,.22)}
.principles{background:var(--navy);color:#f0f5f9;border:0;font-size:.84rem;letter-spacing:.01em}.principles span:before{color:#f5a293}
.section{padding-top:108px;padding-bottom:108px}.eyebrow{font-size:.76rem;letter-spacing:.15em;color:var(--red)}
h2{font-size:clamp(2.25rem,3.5vw,3.3rem);line-height:1.14;letter-spacing:-.045em}.section-intro{align-items:end}.section-intro p{font-size:1.04rem;line-height:1.6}
.services{background:#fff}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border:0;background:none;margin-top:46px}.service-grid article{min-height:295px;border:1px solid var(--line);border-radius:8px;padding:28px 28px 66px;background:#fff;box-shadow:0 10px 35px rgba(16,43,73,.035);transition:border-color .22s,box-shadow .22s,transform .22s}.service-grid article+article{border-left:1px solid var(--line)}.service-grid article:hover,.service-grid article:focus-within{border-color:#9ab0c2;box-shadow:0 18px 42px rgba(16,43,73,.1);transform:translateY(-4px)}.service-icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:35px;background:#fbece8;border-radius:7px;font-size:1.6rem}.service-grid h3{font-size:1.23rem}.service-grid p{font-size:1rem;line-height:1.6}.service-grid .tags{font-size:.75rem;letter-spacing:.06em}.service-action{position:absolute;left:28px;bottom:24px;display:inline-flex;align-items:center;gap:8px;padding:0;background:none;border:0;color:var(--navy);font-weight:800;font-size:.88rem;cursor:pointer}.service-action span{color:var(--red);font-size:1.2rem;transition:transform .2s}.service-action:hover span{transform:translateX(4px)}
.work-section{background:var(--mist)}.work-grid{gap:20px}.work-card{overflow:hidden;border:1px solid #d6e0e8;border-radius:8px;box-shadow:0 12px 30px rgba(16,43,73,.05);transition:transform .25s,box-shadow .25s}.work-card:hover{transform:translateY(-5px);box-shadow:0 22px 42px rgba(16,43,73,.12)}.work-visual{position:relative;height:240px;overflow:hidden}.work-visual:after{content:"";position:absolute;inset:auto -20px -60px -20px;height:110px;border-top:1px solid currentColor;opacity:.18;transform:rotate(-8deg)}.work-copy{padding:28px}.work-copy p{font-size:1rem;line-height:1.6}.concept-label,.package-kicker{font-size:.75rem;letter-spacing:.1em}
.packages{background:#fff}.package-grid{gap:16px;background:transparent;border:0}.package-grid article{border:1px solid var(--line);border-radius:8px;padding:30px;box-shadow:0 12px 30px rgba(16,43,73,.045)}.package-grid .featured-package{transform:translateY(-10px);box-shadow:0 22px 45px rgba(16,43,73,.18)}.package-grid p{font-size:1rem}.package-grid li{font-size:.95rem}.package-grid .text-link{width:max-content;color:var(--navy)}
.about-section{background:linear-gradient(135deg,#102b49,#071b30)}.founder-mark{border-radius:6px;background:rgba(255,255,255,.07)}
.approach{background:#fff}.steps article{border-top:3px solid #cad6df}.steps article:hover{border-color:var(--red)}
.faq-section{background:var(--mist)}.faq-list details{background:#fff;padding:21px 22px;border:1px solid var(--line);border-bottom:0}.faq-list details:first-child{border-radius:8px 8px 0 0}.faq-list details:last-child{border-bottom:1px solid var(--line);border-radius:0 0 8px 8px}.faq-list summary{font-size:1rem}.faq-list details[open]{background:#fdfefe}.faq-list p{font-size:1rem;line-height:1.65}
.contact{background:#edf4f8;gap:8%}.contact h2{font-size:clamp(2.6rem,4vw,4rem);line-height:1.1}.contact form{background:white;padding:34px;border:1px solid #d8e3ec;border-radius:9px;box-shadow:0 25px 60px rgba(16,43,73,.1)}.contact label{font-size:.93rem}.contact input,.contact select,.contact textarea{border-radius:5px;border:1px solid #b9c8d4;min-height:48px;padding:12px 14px;transition:border-color .2s,box-shadow .2s}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #dcebf5;outline:none}.contact textarea{min-height:130px}.contact .button{width:100%;justify-content:center}.contact .form-note{font-size:.84rem;max-width:none}.form-hint{padding:12px 15px;margin:0 0 18px;background:#f2f6fa;border-left:3px solid var(--navy);font-size:.9rem;color:var(--muted)}.form-hint strong{color:var(--navy)}.form-success{border-radius:4px;font-size:.9rem}
footer{background:#081d31;color:#dce7ee}footer>span{color:#a8b9c6}footer .mark{background:#fff;color:var(--navy);box-shadow:none}footer .brand{color:#fff}footer .footer-links a:hover{color:#ff9c8b}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.in-view{opacity:1;transform:none}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:600px}.hero h1{font-size:clamp(3.1rem,6vw,5.4rem)}}
@media(max-width:760px){.header{height:72px;flex-wrap:wrap;gap:10px}.brand{font-size:.88rem}.mark{width:35px;height:39px;font-size:1.5rem}.brand-sub{font-size:.58rem;letter-spacing:.26em}.menu-toggle{display:inline-flex;margin-left:auto}.header .button.small{display:none}.header nav{display:none;order:5;flex-basis:calc(100% + 12vw);margin:0 -6vw;padding:10px 6vw 18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(16,43,73,.1)}.header nav.is-open{display:flex;flex-direction:column;gap:0}.header nav a{display:block;padding:10px 0;font-size:1rem}.header nav a:after{bottom:8px}.hero{min-height:0;padding-top:54px;padding-bottom:64px;gap:50px}.hero h1{font-size:clamp(3.2rem,12vw,4.8rem);letter-spacing:-.06em}.hero-copy>p{font-size:1.05rem}.hero-note{font-size:.8rem}.blueprint{transform:none;min-height:400px}.blueprint:hover{transform:none}.principles{grid-template-columns:repeat(2,1fr);font-size:.79rem}.section{padding-top:72px;padding-bottom:72px}.section-intro p{font-size:1rem}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{border:1px solid var(--line);min-height:270px}.work-grid,.package-grid{grid-template-columns:1fr}.package-grid .featured-package{transform:none}.work-visual{height:200px}.contact form{padding:22px}.contact h2{font-size:2.8rem}.faq-section{gap:20px}}
@media(max-width:420px){.hero h1{font-size:3rem}.header,.section,footer,.principles{padding-left:5%;padding-right:5%}.header nav{margin:0 -5.5vw;padding-left:5%;padding-right:5%}.principles{gap:12px}.hero-actions .button{width:100%}.blueprint{min-height:370px;padding:19px}.node-row .node{font-size:.59rem}.contact h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.blueprint,.work-card,.service-grid article{transition:none}}
