/* CM Webdesigns: original gold, blue-grey, PT Serif/PT Sans. Layers: header 10, dialog top-layer, transition 30. */
:root{--ink:#182338;--muted:#526078;--blue:#506692;--blue-dark:#34496e;--blue-light:#eef1f7;--gold:#ceae3b;--gold-soft:#c8ab65;--line:#dce1e9;--white:#fff;--radius:12px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--white);color:var(--ink);font:18px/1.7 'PT Sans',sans-serif}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'PT Serif',Georgia,serif;font-weight:400;line-height:1.18;letter-spacing:-.035em}h1{font-size:clamp(42px,4.8vw,69px)}h2{font-size:clamp(34px,3.3vw,48px);max-width:850px}h3{font-size:29px}p{color:var(--muted)}p+p{margin-top:20px}button{border:0}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:#eadcaa;color:var(--ink)}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:105px}.eyebrow{font:700 12px/1.5 'PT Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}.section-heading{margin-bottom:48px}.section-heading>p:not(.eyebrow){max-width:770px;margin-top:24px}.section-cta{margin-top:46px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:14px 24px;background:var(--gold);color:#172138;border:1px solid transparent;border-radius:6px;font-size:16px;font-weight:700;line-height:1.4;transition:transform .25s var(--ease),background .25s}.button span{font-size:23px;font-weight:400}.button:hover{background:#dbc164;transform:translateY(-2px)}.text-link{display:inline-flex;gap:16px;align-items:center;background:transparent;font-size:16px;font-weight:700;color:var(--blue-dark);padding:12px 0;border-bottom:1px solid #b5bece}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:40}.skip:focus{top:12px}
.header{position:sticky;top:0;background:rgb(255 255 255/.96);border-bottom:1px solid #edf0f4;z-index:10}.nav-wrap{display:flex;align-items:center;gap:36px;min-height:98px}.brand{width:115px;flex-shrink:0}.brand img{width:115px;height:78px;object-fit:contain}.header nav{display:flex;gap:27px;margin-left:auto}.header nav a{font-size:15px;position:relative;white-space:nowrap}.header nav a:after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after,.header nav a.active:after{transform:scaleX(1)}.nav-contact{padding:11px 18px;background:var(--blue-light);border-radius:6px;white-space:nowrap;font-size:15px;font-weight:700}.nav-contact span{margin-left:16px}.menu-toggle{display:none}
.hero{padding-top:66px;padding-bottom:48px;display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}.hero h1 span{color:var(--blue);text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:10px}.hero-intro{font-size:18px;max-width:550px;margin:28px 0 30px}.hero .text-link{display:table;margin-top:12px;border:0}.hero-visual{position:relative;min-width:0;padding-left:50px;padding-bottom:32px}.portrait-panel{height:510px;position:relative;overflow:hidden;border-radius:120px 12px 12px 12px;background:linear-gradient(160deg,#d7deed,#506692)}.hero-portrait{height:100%;width:100%;object-fit:contain;object-position:center bottom;padding-top:35px}.portrait-caption{position:absolute;bottom:22px;right:20px;background:rgb(255 255 255/.95);border-radius:6px;padding:12px 20px;font-size:14px;line-height:1.5}.portrait-caption strong,.portrait-caption span{display:block}.portrait-caption span{color:var(--blue)}.hero-work{position:absolute;left:0;bottom:0;width:175px;padding:7px;background:white;border:1px solid var(--line);box-shadow:0 15px 40px #34496e1a;border-radius:8px}.hero-work button{display:block;padding:0;width:100%;height:200px;overflow:hidden;border-radius:3px;background:var(--blue-light)}.hero-work img{width:100%;height:auto}.hero-work>span{display:block;font-size:10px;font-weight:700;padding:8px 1px 2px;text-align:center;color:var(--blue-dark)}.hero-promise{padding-block:32px;border-top:1px solid var(--line)}.checks{list-style:none;padding:0;margin:0}.checks li{position:relative;padding-left:26px;margin:15px 0;font-size:16px;line-height:1.6}.checks li:before,.comparison-list li:before{content:'✓';position:absolute;left:0;color:#987b1e;font-weight:700}.hero-promise .checks{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.hero-promise .checks li{margin:0;font-size:15px}.hero-statement{text-align:center;padding:22px 0 45px}.hero-statement p{max-width:760px;margin:auto;font:22px/1.5 'PT Serif',serif;color:var(--blue-dark)}
.problems{background:#f5f7fa}.problems .eyebrow{display:none}.problems h2 span{color:var(--blue)}.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}.problem{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.problem summary{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font:23px/1.3 'PT Serif',serif}.problem summary span,.faq summary span{font:28px/1 'PT Sans',sans-serif;color:var(--blue)}details[open]>summary>span:last-child{transform:rotate(45deg)}.problem p{font-size:16px;padding:0 20px 26px 0;max-width:560px}
.case{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;margin-top:70px}.case+.case{margin-top:115px}.case.reverse .case-visual{order:2}.case-visual{min-width:0;background:var(--blue-light);padding:28px;border-radius:var(--radius)}.browser-bar{background:white;padding:12px;display:flex;gap:5px;border-radius:6px 6px 0 0;border-bottom:1px solid var(--line)}.browser-bar span{width:5px;height:5px;border-radius:50%;background:#b6c0ce}.case-visual .image-open{display:block;width:100%;height:490px;overflow:hidden;padding:0;background:white}.case-visual .image-open img{width:100%;transition:transform .7s var(--ease)}.case-visual .image-open:hover img{transform:translateY(-25px)}.client-logo{height:52px;width:auto;max-width:190px;object-fit:contain;object-position:left;margin-bottom:28px}.case-copy h3{font-size:28px;line-height:1.3;margin-bottom:22px}.case-copy p{font-size:16px}.case-copy .checks{margin-top:22px}.case-copy .checks li{font-size:15px}.video-preview{display:block;position:relative;background:#202b3c;border-radius:0 0 6px 6px;overflow:hidden}.video-preview>img{width:100%;min-height:310px;object-fit:cover}.play{position:absolute;left:24px;bottom:24px;right:24px;background:var(--gold);padding:16px;text-align:center;border-radius:6px;font-weight:700;font-size:16px}.play>span{margin-right:12px}
.testimonials{background:var(--blue-light)}.rating-summary{display:flex;gap:20px;align-items:center;margin-bottom:30px}.stars{letter-spacing:3px;color:#937316;font-size:19px}.rating-summary strong{font-size:24px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review{background:white;border-radius:var(--radius);padding:32px;display:flex;flex-direction:column}.review blockquote{margin:22px 0 28px;font-size:17px;line-height:1.8;color:var(--ink)}.review figcaption{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:14px;font-weight:700;color:var(--blue-dark)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.comparison>div{padding:42px;border-radius:var(--radius)}.comparison-normal{background:#f3f5f8}.comparison-premium{background:var(--blue-dark);color:white;border-top:4px solid var(--gold)}.comparison h3{font-size:30px;margin-bottom:28px}.comparison-list{padding:0;list-style:none}.comparison-list li{position:relative;padding-left:28px;margin:22px 0;font-size:17px}.comparison-premium li:before{color:#ecd88b}.minus li:before{content:'−';color:#68758b}.gallery-section{padding-top:25px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.portfolio-image{height:340px;background:#e9edf4;padding:18px 18px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;position:relative}.portfolio-image img{width:100%;transition:transform .6s}.portfolio-image:hover img{transform:translateY(-22px)}.portfolio-image>span{position:absolute;right:20px;bottom:20px;width:38px;height:38px;display:grid;place-items:center;background:white;border-radius:50%;font-size:22px;color:var(--blue-dark);box-shadow:0 3px 12px #34496e22}
.process-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.process-heading{position:sticky;top:145px;align-self:start}.process-heading .button{margin-top:30px}.process{border-top:1px solid var(--line)}.process-step{border-bottom:1px solid var(--line)}.process-step summary{padding:26px 0;display:flex;align-items:center;gap:22px;font:24px/1.3 'PT Serif',serif}.step-index{font:14px 'PT Sans',sans-serif;border:1px solid #bbc5d5;border-radius:50%;height:35px;width:35px;flex-shrink:0;display:grid;place-items:center;color:var(--blue)}.process-step[open] .step-index{background:var(--gold);border-color:var(--gold);color:var(--ink)}.step-plus{margin-left:auto;color:var(--blue);font-family:'PT Sans',sans-serif}.process-step p{padding:0 20px 30px 57px;font-size:17px}.strategy{background:#f5f7fa}.strategy-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-bottom:65px}.strategy-intro>p{font-size:17px;padding-top:40px}.strategy-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.strategy-image{max-width:350px;margin:auto}.strategy-image img{border-radius:8px}.strategy-copy{font-size:16px}.strategy-benefits{list-style:none;margin:25px 0;padding:0}.strategy-benefits li{margin:22px 0;color:var(--ink)}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center}.about-image{background:#1b353c;border-radius:12px;overflow:hidden;max-width:430px}.about-image img{width:100%}.about-copy h2{margin-bottom:26px}.about-copy p{font-size:17px}.quote-section{background:var(--blue-dark);text-align:center;color:white}.quote-section h2{max-width:1000px;margin:auto;font-size:clamp(30px,3vw,44px);line-height:1.4}.quote-section .button{margin-top:35px}.faq{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;gap:20px;justify-content:space-between;padding:24px 0;font-size:18px;font-weight:700;line-height:1.5}.faq summary span{flex-shrink:0}.faq details p{padding:0 32px 26px 0;font-size:16px}
.footer{background:#253653;color:white;padding:60px 0 24px}.footer-main{display:grid;grid-template-columns:.65fr 1.6fr .65fr;gap:60px;align-items:start;margin-bottom:55px}.footer-brand{max-width:140px}.footer-main p{color:#c9d2e3;font-size:16px}.email{font:clamp(20px,2.5vw,31px) 'PT Serif',serif;display:inline-block;margin-top:10px;overflow-wrap:anywhere}.footer-links{display:grid;gap:10px;font-size:15px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ffffff25;padding-top:24px;font-size:12px;color:#d6deec}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom button{background:none;color:inherit;padding:0;font-size:inherit}.legal{max-width:960px;padding-block:75px 110px}.legal h1{font-size:48px}.legal h2{margin:55px 0 30px}.legal section p{font-size:16px;overflow-wrap:anywhere;white-space:pre-line;margin:16px 0}.legal-nav{display:flex;flex-wrap:wrap;gap:24px;margin-top:35px;color:var(--blue);text-decoration:underline}.contact{display:grid;grid-template-columns:1fr 1fr;gap:85px;padding-block:85px 110px;align-items:start}.contact h1{font-size:46px;margin-bottom:28px}.contact-intro>p{font-size:17px}.preview-note{margin-top:35px;background:var(--blue-light);padding:22px;border-radius:8px;font-size:14px}.preview-note p{margin:8px 0}.preview-note a{text-decoration:underline}.form-card{padding:36px;background:#f4f6fa;border:1px solid var(--line);border-radius:12px}.form-card #form-progress{font-size:13px;letter-spacing:.06em;color:var(--blue);margin-bottom:25px}.form-card fieldset{border:0;padding:0;margin:0;min-width:0}.form-card legend{font:29px/1.3 'PT Serif',serif;margin-bottom:16px}.form-card fieldset>p{font-size:15px;margin-bottom:25px}.form-card label:not(.choice):not(.consent){display:block;margin-top:16px;font-size:15px}.form-card input:not([type=checkbox]),.form-card textarea{width:100%;min-height:48px;background:white;color:var(--ink);border:1px solid #aab6cb;border-radius:6px;padding:12px;margin-top:8px}.form-card textarea{resize:vertical}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px}.form-actions .button{margin-left:auto}.choices{display:grid;gap:14px}.choice{padding:15px;border:1px solid #b9c4d6;border-radius:6px;background:white;display:flex;gap:15px;align-items:center}.choice:has(:checked){border-color:var(--blue);background:#e5ebf5}.consent{display:block;font-size:13px;margin-top:20px}.consent input{margin-right:10px}.consent a{text-decoration:underline}.form-status{font-size:14px;margin-top:20px}.form-status:empty{display:none}[hidden]{display:none!important}
dialog{padding:0;border:0;border-radius:10px;width:min(1050px,94vw);max-height:92dvh;background:#f0f3f8;color:var(--ink)}dialog::backdrop{background:#152139d9}.viewer-close{position:sticky;top:0;display:block;width:100%;padding:15px 24px;text-align:right;background:white;border-bottom:1px solid var(--line);color:var(--ink);z-index:1}.viewer-content{padding:25px}.viewer-content img{width:100%;height:auto}.page-transition{position:fixed;inset:0;display:grid;place-items:center;background:#f8fafdee;z-index:30;visibility:hidden;opacity:0;pointer-events:none}.page-transition.visible{visibility:visible;opacity:1;pointer-events:auto}.signature{position:relative;width:185px}.signature img{width:100%}.signature-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#fff9d3 46%,transparent 62%);mask:url('/assets/60719f40-645d-4e3f-a9c1-7d00a7fd660e.png') center/contain no-repeat;-webkit-mask:url('/assets/60719f40-645d-4e3f-a9c1-7d00a7fd660e.png') center/contain no-repeat;opacity:0}.page-transition.visible .signature-shine{animation:signature-light .65s ease both}@keyframes signature-light{0%{opacity:0;transform:translateX(-30px)}35%{opacity:1}100%{opacity:0;transform:translateX(35px)}}
@media(prefers-reduced-motion:no-preference){html:not([data-motion=off]) .reveal.ready{opacity:0;transform:translateY(18px);transition:opacity .65s var(--ease),transform .65s var(--ease)}html:not([data-motion=off]) .reveal.ready.shown{opacity:1;transform:none}.hero-copy,.hero-visual{animation:hero-in .7s var(--ease) both}.hero-visual{animation-delay:.12s}@keyframes hero-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation:none!important;transition:none!important}html[data-motion=off] .reveal{opacity:1!important;transform:none!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
@media(min-width:1600px){.hero{padding-top:85px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:18px}.header nav a{font-size:13px}.nav-wrap{gap:20px}.hero{gap:25px;grid-template-columns:1.1fr 1fr}.hero h1{font-size:52px}.portrait-panel{height:470px}.hero-visual{padding-left:25px}.hero-work{width:145px}.hero-work button{height:165px}.hero-intro{font-size:16px}.case{gap:38px}.process-layout{gap:45px}.about{gap:45px}.contact{gap:40px}.hero-promise .checks{gap:16px}.footer-main{gap:35px}}
@media(max-width:900px){.menu-toggle{display:flex;align-items:center;gap:15px;background:#edf1f7;padding:10px 15px;border-radius:6px;color:var(--ink);font-size:15px;margin-left:auto}.header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:22px 32px;background:white;border-bottom:1px solid var(--line);margin:0}.header nav.open{display:grid;gap:20px}.header nav a{font-size:17px}.nav-wrap{min-height:88px}.brand img{height:68px;width:100px}.brand{width:100px}.hero{gap:30px;padding-top:45px}.hero h1{font-size:43px}.hero .button{font-size:14px;padding-inline:17px;gap:12px}.portrait-panel{height:415px;border-top-left-radius:85px}.portrait-caption{padding:10px 13px;right:12px;font-size:12px}.hero-work{width:120px}.hero-work button{height:140px}.hero-work>span{font-size:8px}.hero-promise .checks{grid-template-columns:1fr 1fr;gap:24px 40px}.section{padding-block:75px}.case{grid-template-columns:1fr 1fr;gap:30px}.case-visual{padding:16px}.case-visual .image-open{height:420px}.case-copy h3{font-size:24px}.case-copy p,.case-copy .checks li{font-size:14px}.portfolio-image{height:250px;padding:12px 12px 0}.portfolio-grid{gap:18px}.process-layout{grid-template-columns:.9fr 1.1fr;gap:35px}.process-heading h2{font-size:34px}.process-heading .button{font-size:14px;padding:13px}.strategy-layout{gap:40px}.strategy-intro{gap:40px}.faq{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:.6fr 1.4fr}.footer-links{grid-column:2;display:flex;flex-wrap:wrap;gap:25px}.footer-bottom{flex-direction:column}.contact{grid-template-columns:1fr 1.2fr;gap:30px}.contact h1{font-size:36px}.form-card{padding:25px}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}body{font-size:16px}.nav-wrap{min-height:79px;gap:14px}.brand,.brand img{width:85px}.brand img{height:60px}.nav-contact{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:40px;padding-bottom:28px}.hero h1{font-size:clamp(38px,10vw,52px)}.hero h1 br{display:none}.hero .eyebrow{margin-bottom:18px}.hero-intro{font-size:16px;line-height:1.75;margin:24px 0}.hero .button{font-size:15px;min-height:54px}.hero .text-link{margin-top:8px;font-size:14px}.hero-visual{max-width:440px;width:100%;margin:auto;padding-left:45px;padding-bottom:25px}.portrait-panel{height:370px;border-top-left-radius:90px}.hero-work{width:133px}.hero-work button{height:145px}.hero-work>span{font-size:8px}.hero-promise{padding-block:28px}.hero-promise .checks{gap:20px}.hero-promise .checks li{font-size:13px;padding-left:20px}.hero-statement{padding:15px 0 35px}.hero-statement p{font-size:19px}.section{padding-block:60px}.section-heading{margin-bottom:30px}h2{font-size:33px}.eyebrow{font-size:11px;margin-bottom:14px}.problem-grid{grid-template-columns:1fr}.problem summary{font-size:22px;padding-block:22px}.problem p{font-size:15px}.case,.case.reverse{grid-template-columns:1fr;gap:28px;margin-top:40px}.case+.case{margin-top:65px}.case.reverse .case-visual{order:0}.case-visual{padding:20px}.case-visual .image-open{height:400px}.case-copy h3{font-size:26px}.case-copy p,.case-copy .checks li{font-size:16px}.client-logo{height:45px;margin-bottom:23px}.review-grid{grid-template-columns:1fr;gap:18px}.review{padding:26px}.review blockquote{font-size:16px}.comparison{grid-template-columns:1fr;gap:18px}.comparison>div{padding:28px}.comparison h3{font-size:28px}.comparison-list li{font-size:16px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:14px}.portfolio-image{height:230px;padding:10px 10px 0}.portfolio-image>span{right:12px;bottom:12px;width:30px;height:30px}.process-layout{grid-template-columns:1fr;gap:35px}.process-heading{position:static}.process-step summary{font-size:23px;gap:18px}.process-step p{padding-left:53px;font-size:16px}.strategy-intro,.strategy-layout{grid-template-columns:1fr;gap:30px}.strategy-intro>p{padding:0;font-size:16px}.strategy-intro{margin-bottom:40px}.strategy-image{max-width:260px}.about{grid-template-columns:1fr;gap:32px}.about-image{max-width:360px;margin:auto;width:100%}.about-copy p{font-size:16px}.quote-section h2{font-size:30px}.quote-section .button{font-size:14px;gap:12px}.faq summary{font-size:16px}.footer{padding-top:45px}.footer-main{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.footer-brand{max-width:125px}.footer-links{grid-column:auto;font-size:14px;gap:20px}.footer-bottom{font-size:11px}.footer-bottom>div{gap:15px}.email{font-size:24px}.legal{padding-block:45px 70px}.legal h1{font-size:37px}.legal h2{font-size:30px}.legal section p{font-size:15px}.contact{grid-template-columns:1fr;padding-block:45px 70px;gap:35px}.contact h1{font-size:39px}.form-card{padding:25px 20px}.form-card legend{font-size:27px}.form-actions .button{font-size:14px;padding-inline:16px}.signature{width:145px}.viewer-content{padding:10px}}
