/* Balluch Webdesign — follows the supplied white / cobalt editorial reference. */
:root{--blue:#0756f5;--blue-dark:#0340c3;--ink:#131518;--muted:#656972;--line:#e9ebef;--soft:#f6f7f9;--white:#fff;--content:1320px;--radius:4px;--sans:Arial,Helvetica,sans-serif;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font:16px/1.65 var(--sans);background:#fff;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}p,h1,h2,h3{margin:0}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}input:focus-visible,textarea:focus-visible{outline:3px solid #a5c6ff;outline-offset:3px}.container{width:calc(100% - 112px);max-width:var(--content);margin-inline:auto}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;z-index:100;top:10px;left:10px;background:white;padding:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.eyebrow{font-size:11px;line-height:1.65;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#7b8390;margin-bottom:20px}h1,h2,h3{font-weight:700}h1{font-size:clamp(44px,4.8vw,76px);line-height:.99;letter-spacing:-.062em}h2{font-size:clamp(32px,3.15vw,49px);line-height:1.1;letter-spacing:-.048em}h3{font-size:21px;line-height:1.3;letter-spacing:-.028em}em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}.handwritten{font-family:'Segoe Print','Bradley Hand',var(--serif);font-style:italic;font-size:18px;line-height:1.4;letter-spacing:-.045em;color:#6e7685;transform:rotate(-6deg)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:49px;padding:13px 24px;border:1px solid var(--blue);border-radius:var(--radius);background:var(--blue);color:white;font-size:14px;line-height:1.35;font-weight:600;transition:background .18s,transform .18s,box-shadow .18s}.button:hover{background:var(--blue-dark);border-color:var(--blue-dark);box-shadow:0 6px 18px #0756f521;transform:translateY(-2px)}.button .icon{width:19px;height:19px}.button-small{font-size:13px;min-height:42px;padding:11px 18px;gap:20px}.button-outline{color:var(--ink);background:transparent;border-color:#bfc4cc}.button-outline:hover{background:#f1f4f9;border-color:#9ea9b8;box-shadow:none}.button-row{display:flex;flex-wrap:wrap;gap:12px}.text-link{display:inline-flex;align-items:center;gap:20px;color:var(--blue);font-size:13px;font-weight:600}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link span{font-size:20px}.site-header{height:90px;border-bottom:1px solid var(--line);background:#ffffffed;position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:32px}.brand{display:flex;flex-direction:column;flex-shrink:0}.brand strong{font-size:20px;letter-spacing:-.065em;line-height:1.12}.brand strong span{font-weight:500}.brand strong i{font-style:normal;color:var(--blue)}.brand small{font-size:10px;letter-spacing:.015em;color:var(--muted);margin-top:5px}.site-header nav{display:flex;align-items:center;gap:29px;font-size:12px}.site-header nav>a:not(.button){padding:12px 0}.site-header nav>a:not(.button):hover{color:var(--blue)}.site-header nav .button{margin-left:14px}.menu-toggle{display:none}
.hero{overflow:hidden;background:linear-gradient(105deg,#fff 30%,#fafbfc 100%);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:47% 53%;align-items:center;min-height:680px;gap:0}.hero-copy{padding:70px 0 55px;position:relative;z-index:2}.hero-copy .eyebrow{margin-bottom:30px}.hero-intro{font-size:16px;line-height:1.7;color:var(--muted);max-width:440px;margin:28px 0}.hero-note{display:inline-block;margin:28px 0 0 8px;font-size:16px;position:relative}.hero-note span{position:absolute;right:-57px;top:-11px;font-family:var(--serif);font-size:45px;font-weight:400}.hero-art{height:545px;position:relative;margin-right:-60px;isolation:isolate}.art-backdrop{position:absolute;inset:21px -20px 20px 68px;background:#eef0f3;z-index:-2}.art-square{position:absolute;width:155px;height:160px;background:#e2e6ec;top:0;left:5px;z-index:-1}.browser-frame{overflow:hidden;border:1px solid #dadde2;border-radius:7px;background:white;box-shadow:0 20px 36px -14px #152b4140}.browser-bar{height:28px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f2f3f5;color:#858b95;padding:0 10px;font-size:8px;line-height:1;border-bottom:1px solid #e7e9ed}.window-dots{display:inline-flex;gap:3px;align-items:center}.window-dots i{width:5px;height:5px;border-radius:50%;background:#f08e85}.window-dots i:nth-child(2){background:#ebc36c}.window-dots i:nth-child(3){background:#8dbb91}.browser-plus{font-size:13px}.hero-main{position:absolute;left:15px;right:0;top:54px;transform:rotate(-1.5deg);z-index:2}.hero-main img{width:100%}.hero-secondary{position:absolute;width:65%;bottom:20px;right:17px;transform:rotate(3deg);z-index:3}.hero-secondary img{width:100%}.art-caption{position:absolute;bottom:66px;left:0;display:flex;gap:11px;font-size:11px;line-height:1.5;color:#747d88;max-width:145px}.blue-line{width:23px;height:2px;background:var(--blue);margin-top:8px;flex-shrink:0}.art-note{position:absolute;right:8px;bottom:-32px;font-size:16px;z-index:4}.art-note span{display:inline-block;font-size:45px;margin-right:10px;vertical-align:top}
.section{padding:83px 0;border-bottom:1px solid var(--line)}.intro-section{padding:66px 0 44px}.intro-grid{display:grid;grid-template-columns:1.38fr 1fr 1fr;gap:48px;align-items:center}.intro-grid h2{font-size:39px}.intro-grid>p{color:var(--muted);font-size:14px;line-height:1.75}.intro-grid .eyebrow{margin-bottom:15px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:39px;padding-top:30px;border-top:1px solid var(--line)}.benefit{display:flex;gap:19px;align-items:flex-start}.icon-circle{background:#f2f4f7;border-radius:50%;width:58px;height:58px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-circle .icon{width:29px;height:29px}.benefit h3{font-size:16px;letter-spacing:-.02em;margin:3px 0 6px}.benefit p{font-size:13px;color:var(--muted);line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:55px;margin-bottom:45px}.section-heading>p{max-width:445px;font-size:15px;color:var(--muted);line-height:1.7;padding-bottom:4px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:62px}.service{display:flex;flex-direction:column;align-items:flex-start}.service h3{margin-bottom:16px}.service>p{font-size:15px;color:var(--muted);line-height:1.65}.check-list{list-style:none;padding:0;margin:23px 0;display:flex;flex-direction:column;gap:9px;font-size:13px;color:var(--muted)}.check-list li{padding-left:24px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;top:3px;color:white;background:var(--blue);font-size:9px;font-weight:700;line-height:15px;width:15px;height:15px;text-align:center;border-radius:50%}.service .text-link{margin-top:auto;padding-top:6px}.projects-section{background:linear-gradient(180deg,#fff,#fcfdff)}.projects-heading>p{max-width:375px}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:28px;row-gap:45px}.project{min-width:0}.project-preview{padding:0;display:block;width:100%;border:1px solid #e0e4ea;border-radius:5px;background:#f3f4f7;box-shadow:0 7px 18px #192b4610;overflow:hidden;position:relative;text-align:left;transition:transform .25s,box-shadow .25s}.project-preview img{width:100%;aspect-ratio:2/1;object-fit:cover;object-position:top;transition:transform .5s}.project-preview:hover{transform:translateY(-5px);box-shadow:0 15px 24px #192b4620}.project-preview:hover img{transform:scale(1.025)}.preview-hover{position:absolute;inset:auto 0 0;background:#0756f5eb;color:white;font-size:12px;padding:9px 14px;display:flex;justify-content:space-between;transform:translateY(100%);transition:transform .2s}.project-preview:hover .preview-hover,.project-preview:focus-visible .preview-hover{transform:translateY(0)}.project-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:7px;margin:18px 0 10px}.project-title h3{font-size:18px}.project-title>span{font-size:11px;color:#818894}.project>p{font-size:13px;line-height:1.65;color:var(--muted);min-height:65px}.project-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:14px}.tags{display:flex;flex-wrap:wrap;gap:5px}.tags span{padding:3px 8px;background:#eef0f4;color:#6c737f;font-size:10px;border-radius:3px}.project-open{width:32px;height:32px;border:1px solid #dce4f4;border-radius:50%;background:white;color:var(--blue);font-size:18px}.project-open:hover{color:white;background:var(--blue);border-color:var(--blue)}
.about-section{padding:70px 0}.about-grid{display:grid;grid-template-columns:1fr 1.6fr .73fr;gap:40px;align-items:center}.personal-card{position:relative;background:#eff2f7;min-height:405px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.personal-caption{color:#6b7380;font-size:10px;letter-spacing:.08em}.monogram{font-size:170px;letter-spacing:-.14em;font-weight:700;line-height:1;color:var(--blue);margin-left:-7px}.monogram>span{color:#a7bceb}.personal-card>div{display:flex;flex-direction:column}.personal-card>div>strong{font-size:17px}.personal-card>div>span{font-size:12px;color:var(--muted)}.personal-card .handwritten{position:absolute;right:18px;bottom:28px;font-size:13px;display:none}.personal-card.has-portrait{padding:0}.personal-card.has-portrait img{width:100%;height:405px;object-fit:cover}.about-copy h2{font-size:35px;line-height:1.16;margin-bottom:23px}.about-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:14px}.about-copy .text-link{margin-top:5px}.about-values>.handwritten{text-align:right;font-size:27px;margin:0 18px 44px 0}.about-values article{display:flex;align-items:flex-start;gap:13px;margin-top:23px}.about-values .icon{width:22px;height:22px;color:var(--blue)}.about-values h3{font-size:12px;letter-spacing:0;margin-bottom:4px}.about-values p:not(.handwritten){font-size:11px;color:var(--muted);line-height:1.65}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;margin-top:42px}.step-icon{display:flex;align-items:center;gap:20px;margin-bottom:18px}.step-icon .icon{width:30px;height:30px}.process-grid h3{font-size:17px;margin-bottom:15px}.process-grid article{display:flex;flex-direction:column}.process-grid p{font-size:13px;color:var(--muted);line-height:1.75}.process-grid .outcome{margin-top:auto;padding-top:22px;font-size:12px}.outcome strong{color:#525965}.collaboration-section{padding-top:70px}.collaboration-section .section-heading{margin-bottom:30px}.collaboration-section .section-heading>p{font-size:13px}.offers-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.offer{display:flex;align-items:flex-start;gap:22px;background:var(--soft);padding:30px}.offer>.icon-circle{background:#eceef2;width:65px;height:65px}.offer>div{flex:1}.offer h3{margin-bottom:14px}.offer p{font-size:13px;line-height:1.7;color:var(--muted)}.offer .check-list{font-size:12px;gap:7px;margin-top:20px;margin-bottom:25px}.offer .button{float:right}.faq-section .section-heading{align-items:center}.faq-section .section-heading>.text-link{white-space:nowrap;font-size:12px}.faq-section h2{font-size:38px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 50px}.faq-grid details{border-top:1px solid #dfe4ec;padding:22px 0}.faq-grid summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;font-size:14px;font-weight:600;line-height:1.5}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary>span{position:relative;width:12px;height:12px;flex-shrink:0;margin-top:4px}.faq-grid summary>span:before,.faq-grid summary>span:after{content:'';position:absolute;top:5px;left:1px;width:10px;height:1px;background:#576273}.faq-grid summary>span:after{transform:rotate(90deg)}.faq-grid details[open] summary>span:after{transform:rotate(0)}.faq-grid details>p{color:var(--muted);font-size:13px;line-height:1.75;margin-top:13px;max-width:96%}
.contact-section{padding:66px 0;background:var(--blue);color:white}.contact-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:90px;align-items:start}.contact-section .eyebrow{color:#c1d4ff;font-size:10px}.contact-section h2{font-size:39px;letter-spacing:-.04em}.contact-copy>p:not(.eyebrow):not(.handwritten){font-size:14px;line-height:1.8;color:#dce7ff;margin-top:23px;max-width:475px}.contact-copy .handwritten{color:#d2e1ff;margin-top:33px;font-size:20px;display:inline-block;transform:rotate(-7deg)}.contact-copy .handwritten>span{font-family:var(--serif);display:inline-block;margin-left:15px;font-size:38px}.contact-email{display:block;margin-top:18px;font-size:15px;text-decoration:underline;text-underline-offset:4px}.contact-email[hidden]{display:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;margin-bottom:6px;color:white}.field label>span{opacity:.65}.field input,.field textarea{width:100%;border:1px solid #ffffff60;border-radius:3px;background:white;padding:12px;color:var(--ink);font-size:14px;line-height:1.5}.field textarea{resize:vertical;min-height:110px;max-height:350px}.field input::placeholder,.field textarea::placeholder{color:#858b95;font-size:12px}.form-note{font-size:11px;line-height:1.6;color:#d7e5ff;margin:0 0 15px}.button-white{background:white;border-color:white;color:var(--ink);font-size:12px;min-height:42px}.button-white:hover{background:#eef4ff;border-color:#eef4ff;box-shadow:none}.contact-section a:focus-visible,.contact-section button:focus-visible{outline-color:white}.form-status{font-size:13px;line-height:1.6;color:white;margin-top:12px}.form-status:empty{display:none}.site-footer{padding:35px 0 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-top nav{display:flex;gap:26px;font-size:11px;color:#535b67}.legal-links{display:flex;gap:20px}.legal-links button{background:none;padding:8px 0;border:0;font-size:11px;color:#535b67}.legal-links button:hover,.footer-top nav a:hover{color:var(--blue)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;color:#9298a1}.footer-bottom small{font-size:10px}.footer-bottom .handwritten{font-size:14px}.footer-bottom>a{font-size:11px}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:20px}.dialog-header h2{font-size:27px}.dialog-header .eyebrow{margin-bottom:5px}.dialog-close{width:44px;height:44px;flex-shrink:0;background:#f2f4f8;border:0;border-radius:50%;font-size:30px;line-height:1}.dialog-close:hover{background:#e3ebfb;color:var(--blue)}dialog{border:0;border-radius:8px;padding:28px;box-shadow:0 25px 100px #0004;max-height:90dvh;color:var(--ink)}dialog::backdrop{background:#101b32b0;backdrop-filter:blur(6px)}.project-dialog{width:min(1120px,calc(100% - 32px))}.project-dialog>img{width:100%;border:1px solid var(--line);border-radius:4px}.project-dialog>p{margin:20px 0;color:var(--muted);font-size:14px}.dialog-footer{display:flex;align-items:center;gap:20px}.dialog-footer>span{font-size:12px;color:var(--muted)}.dialog-footer>div{display:flex;gap:8px}.dialog-footer>div button{width:42px;height:42px;border:1px solid #dae0ea;background:white;border-radius:50%;font-size:22px}.dialog-footer>a{margin-left:auto}.legal-dialog{width:min(620px,calc(100% - 32px))}.legal-dialog h3{font-size:18px;margin:24px 0 9px}.legal-dialog p{font-size:15px;line-height:1.75;margin:12px 0;color:var(--muted)}.legal-dialog a{color:var(--blue);text-decoration:underline}.legal-note{padding:15px;background:var(--soft);border-left:3px solid var(--blue)}
@media(min-width:1650px){.hero-grid{min-height:735px}.hero-art{margin-right:-40px;height:580px}.hero-secondary{bottom:45px}.hero-main{top:55px}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.site-header nav{gap:19px}.site-header nav .button{margin-left:0;padding:11px 12px}.brand strong{font-size:18px}.hero-grid{min-height:620px;grid-template-columns:49% 51%}.hero-art{height:460px;margin-right:-35px}.hero-main{top:45px;left:10px}.hero-secondary{width:76%;bottom:40px;right:0}.art-caption{bottom:4px;left:40px}.art-note{bottom:-43px;right:-5px;font-size:14px}.hero-intro{max-width:370px}.hero-copy .button{padding:12px 17px;gap:12px;font-size:12px}.intro-grid{gap:30px;grid-template-columns:1.2fr 1fr 1fr}.intro-grid h2{font-size:33px}.section{padding:65px 0}.benefits{gap:24px}.benefit{gap:13px}.icon-circle{width:47px;height:47px}.services-grid{gap:35px}.service h3{font-size:19px}.projects-grid{gap:36px 22px}.project-title{display:block}.project-title>span{display:block;margin-top:4px}.about-grid{grid-template-columns:.9fr 1.6fr;gap:35px}.about-values{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:25px}.about-values>.handwritten{margin:0;font-size:23px;text-align:left}.about-values article{margin:0}.about-values h3{font-size:13px}.about-values p:not(.handwritten){font-size:12px}.personal-card{min-height:385px}.process-grid{gap:26px}.offer{padding:25px;gap:17px}.offer>.icon-circle{width:46px;height:46px}.faq-section .section-heading{display:block}.faq-section .section-heading>.text-link{margin-top:19px}.contact-grid{gap:50px}.contact-section h2{font-size:33px}.footer-top nav{gap:18px}.footer-top{gap:20px}}
@media(max-width:900px){.site-header{height:78px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:1px solid #dce1e8;padding:10px 12px;border-radius:3px;font-size:12px;min-height:44px}.hamburger{width:18px;height:12px;position:relative;border-top:1.5px solid;border-bottom:1.5px solid}.hamburger:after{content:'';position:absolute;height:1.5px;top:4px;left:0;right:0;background:currentColor}.menu-toggle[aria-expanded=true] .hamburger{border-bottom:0;transform:rotate(45deg);height:1px}.menu-toggle[aria-expanded=true] .hamburger:after{top:-1.5px;transform:rotate(90deg)}.site-header nav{display:none;position:absolute;left:0;right:0;top:78px;padding:20px 36px 26px;background:white;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #192b4610;align-items:stretch;gap:0}.site-header nav.is-open{display:flex;flex-direction:column}.site-header nav>a:not(.button){padding:12px;font-size:15px}.site-header nav .button{margin-top:12px}.hero-grid{min-height:560px}.hero-copy{padding:48px 0}h1{font-size:clamp(42px,5.4vw,55px)}.hero-intro{font-size:14px}.hero-art{height:400px}.hero-secondary{bottom:46px}.hero-main{top:48px;left:15px}.hero-note{font-size:14px}.art-note{font-size:13px}.intro-grid{grid-template-columns:1fr 1fr;gap:25px}.intro-grid>div{grid-column:1/-1}.intro-grid h2 br{display:none}.intro-grid h2{font-size:37px}.benefits{gap:20px}.benefit{display:block}.benefit .icon-circle{margin-bottom:13px}.section-heading{gap:30px}.section-heading>p{max-width:340px;font-size:14px}.services-grid{gap:26px}.service h3{font-size:18px}.service>p{font-size:14px}.check-list{font-size:12px}.service .text-link{font-size:12px;gap:7px}.projects-grid{grid-template-columns:1fr 1fr}.project-title{display:flex}.project>p{min-height:auto}.about-copy h2{font-size:31px}.process-grid{grid-template-columns:1fr 1fr;gap:35px 40px}.process-grid p{font-size:14px}.offer{display:block}.offer>.icon-circle{margin-bottom:18px}.offer .button{float:none}.offers-grid{gap:18px}.faq-grid{gap:0 30px}.contact-grid{gap:32px;grid-template-columns:1fr 1.08fr}.contact-section h2{font-size:31px}.form-row{gap:10px}.footer-top{flex-wrap:wrap}.footer-top .brand{width:100%;margin-bottom:5px}.footer-bottom .handwritten{display:none}}
@media(max-width:650px){html{scroll-padding-top:95px}.container{width:calc(100% - 40px)}.site-header{height:73px}.site-header nav{top:73px;padding:15px 20px 24px}.brand strong{font-size:18px}.brand small{font-size:9px}.menu-toggle{padding:9px 10px}.hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:48px 0 18px}.hero-copy .eyebrow{font-size:10px;margin-bottom:23px}.hero-copy h1{font-size:clamp(42px,9.9vw,66px);line-height:1.03;letter-spacing:-.057em}.hero-intro{max-width:470px;font-size:15px;margin:25px 0}.hero-copy .button{font-size:12px;min-height:47px;padding:12px 16px}.hero-note{margin-top:24px;font-size:14px}.hero-art{margin:0 0 62px;height:clamp(305px,80vw,445px)}.art-backdrop{inset:25px -20px 4px 36px}.art-square{width:100px;height:100px;left:0;top:16px}.hero-main{left:4px;right:-4px;top:43px}.hero-secondary{width:70%;right:2px;bottom:9px}.art-note{bottom:-42px;right:10px}.art-caption{left:0;bottom:23px;font-size:9px;gap:6px;max-width:95px}.blue-line{width:13px}.art-note span{font-size:30px;margin-right:5px}.section{padding:48px 0}.eyebrow{font-size:9px;margin-bottom:15px}h2{font-size:32px;letter-spacing:-.043em}h3{font-size:20px}.intro-grid{grid-template-columns:1fr;gap:19px}.intro-grid>div{grid-column:auto}.intro-grid h2{font-size:33px}.intro-grid h2 br{display:initial}.intro-grid>p{font-size:14px}.benefits{grid-template-columns:1fr;gap:23px;margin-top:28px;padding-top:26px}.benefit{display:flex;gap:17px}.benefit .icon-circle{margin:0;width:48px;height:48px}.benefit h3{font-size:15px}.benefit p{font-size:13px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px;max-width:none;font-size:14px}.services-grid{grid-template-columns:1fr;gap:34px}.service{border-bottom:1px solid var(--line);padding-bottom:27px}.service:last-child{border:0;padding:0}.service h3{font-size:21px;margin-bottom:12px}.service>p{font-size:14px;max-width:500px}.check-list{font-size:13px;gap:8px;margin:19px 0}.service .text-link{font-size:13px}.projects-grid{grid-template-columns:1fr;gap:33px}.project-title{margin-top:17px;display:flex}.project-title h3{font-size:19px}.project>p{font-size:14px}.project .browser-bar{height:26px}.tags span{font-size:11px}.project-open{width:42px;height:42px}.project-bottom{margin-top:10px}.about-grid{grid-template-columns:1fr;gap:30px}.personal-card{min-height:300px;padding:26px}.monogram{font-size:130px;line-height:.95}.personal-card .handwritten{display:block;font-size:15px;right:25px;bottom:29px}.personal-card.has-portrait img{height:380px}.personal-caption{font-size:10px}.about-copy h2{font-size:32px}.about-copy h2 br:last-child{display:none}.about-copy>p:not(.eyebrow){font-size:14px}.about-values{display:grid;grid-template-columns:1fr;gap:22px;padding-top:4px}.about-values>.handwritten{display:none}.about-values article{gap:15px}.about-values h3{font-size:14px}.about-values p:not(.handwritten){font-size:13px}.about-values .icon{width:25px;height:25px}.process-grid{grid-template-columns:1fr;gap:29px;margin-top:32px}.process-grid article{position:relative;padding-left:64px;min-height:125px}.step-icon{position:absolute;left:0;top:0;display:flex;flex-direction:column;gap:8px}.step-icon .icon{width:24px;height:24px}.process-grid h3{font-size:18px;margin-bottom:11px}.process-grid p{font-size:13px}.process-grid .outcome{font-size:12px;padding-top:12px}.offers-grid{grid-template-columns:1fr;gap:20px}.offer{padding:25px;display:block}.offer>.icon-circle{width:50px;height:50px}.offer h3{font-size:21px}.offer p{font-size:14px}.offer .check-list{font-size:13px}.offer .button{min-height:44px}.faq-section h2{font-size:32px}.faq-section .section-heading>.text-link{font-size:12px;white-space:normal;gap:13px}.faq-grid{grid-template-columns:1fr}.faq-grid details{padding:20px 0}.faq-grid summary{font-size:14px;min-height:24px}.faq-grid details>p{font-size:13px}.contact-section{padding:48px 0}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-section h2{font-size:34px}.contact-copy>p:not(.eyebrow):not(.handwritten){font-size:14px;margin-top:18px}.contact-copy .handwritten{display:none}.field label{font-size:12px}.field input,.field textarea{font-size:16px}.contact-section .button{width:100%;font-size:13px}.form-note{font-size:11px}.site-footer{padding:31px 0 22px}.footer-top{gap:23px}.footer-top .brand{margin-bottom:0}.footer-top nav{gap:22px;flex-wrap:wrap;font-size:12px}.legal-links{gap:22px}.legal-links button{font-size:12px}.footer-bottom{margin-top:18px;align-items:flex-start}.footer-bottom small{font-size:10px;max-width:205px}.footer-bottom>a{font-size:10px;white-space:nowrap}dialog{padding:18px;border-radius:6px}.dialog-header{gap:12px}.dialog-header h2{font-size:22px}.dialog-close{width:40px;height:40px}.project-dialog>p{font-size:13px}.dialog-footer{flex-wrap:wrap;gap:12px}.dialog-footer>a{width:100%;margin-left:0}.project-dialog{width:calc(100% - 24px)}.legal-dialog p{font-size:14px}}
.art-note{white-space:nowrap;right:25px;bottom:-38px}.art-note span{position:absolute;left:-40px;top:-12px;margin:0}.art-note{padding-left:0}@media(max-width:650px){.art-note{right:15px;bottom:-40px}.art-note span{left:-29px;top:-8px}}
/* Personal branding and paired desktop / mobile project preview. */
.brand{flex-direction:row;align-items:center;gap:11px;min-width:175px}.brand-sign{position:relative;display:block;width:62px;height:44px;overflow:hidden;flex-shrink:0}.brand-sign img{position:absolute;width:161px;max-width:none;height:auto;left:-5px;top:-8px}.brand-wordmark{display:flex;flex-direction:column;line-height:1.02}.brand .brand-wordmark strong{font-size:26px;letter-spacing:-.055em}.brand-wordmark>span{font-size:17px;letter-spacing:-.045em;margin-top:3px}.hero{background:#fff}.hero-art{margin-right:0;height:545px}.hero-main{left:76px;right:-20px;top:63px;transform:rotate(-1deg)}.art-note{right:28px;bottom:5px}.phone-preview{position:absolute;left:4px;bottom:20px;width:192px;padding:7px;background:#151619;border-radius:31px;z-index:5;box-shadow:0 18px 36px -10px #17263c50,0 0 0 1px #636a72;transform:rotate(-3deg)}.phone-screen{position:relative;background:#fff2e7;border-radius:25px;overflow:hidden;color:#3e2716}.phone-status{height:27px;padding:6px 11px 0;display:flex;justify-content:space-between;align-items:flex-start;background:#fffcf7;font-size:8px;line-height:1;position:relative;font-weight:600}.phone-island{position:absolute;top:5px;left:50%;transform:translateX(-50%);width:55px;height:13px;border-radius:10px;background:#151619}.phone-nav{height:49px;display:flex;align-items:center;justify-content:space-between;padding:5px 13px;background:#fffcf7}.phone-nav strong{font-family:var(--serif);font-size:12px;font-style:italic;line-height:1.05;letter-spacing:-.02em}.phone-nav strong em{font-weight:700;letter-spacing:0}.phone-nav>span{font-size:14px}.phone-photo{height:135px;overflow:hidden;position:relative}.phone-photo img{position:absolute;width:220%;max-width:none;height:auto;left:-110%;top:-14px}.phone-copy{padding:13px 13px 16px}.phone-copy>span:first-child{font-size:7px;color:#936b48;letter-spacing:.06em;text-transform:uppercase}.phone-copy h3{font-family:var(--serif);font-style:italic;font-weight:700;font-size:20px;line-height:1.07;letter-spacing:-.04em;margin:7px 0}.phone-copy p{font-size:8px;line-height:1.65;margin:8px 0 11px;color:#405b61}.phone-cta{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f3657a;border-radius:20px;font-size:8px;font-weight:700}.phone-home{width:52px;height:3px;background:#3e2716;border-radius:4px;margin:0 auto 6px}.service-icon{display:flex;align-items:center;color:var(--blue);margin:0 0 23px;height:56px}.service-icon .icon{width:48px;height:48px;stroke-width:1.35}.step-icon{height:43px;color:var(--blue)}.step-icon .icon{width:34px;height:34px}.personal-card.has-portrait{background:#f2f4f7;min-height:405px;display:flex;align-items:center;justify-content:flex-end}.personal-card.has-portrait img{width:100%;height:405px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 15px #1b293015)}
@media(min-width:1650px){.hero-art{height:580px}.hero-main{top:70px}.phone-preview{bottom:36px;width:205px}.phone-photo{height:150px}}
@media(max-width:1150px){.brand{min-width:157px;gap:8px}.brand-sign{width:54px;height:40px}.brand-sign img{width:143px;left:-4px;top:-6px}.brand .brand-wordmark strong{font-size:23px}.brand-wordmark>span{font-size:15px}.hero-art{height:460px;margin-right:0}.hero-main{left:55px;right:-25px;top:55px}.phone-preview{width:165px;left:0;bottom:3px;border-radius:27px;padding:6px}.phone-screen{border-radius:22px}.phone-photo{height:111px}.phone-copy h3{font-size:18px}.phone-nav{height:41px}.phone-copy{padding:11px 11px 12px}.art-note{bottom:-43px;right:10px}}
@media(max-width:900px){.hero-art{height:420px}.hero-main{left:30px;right:-20px;top:38px}.phone-preview{width:152px;bottom:2px;left:0}.phone-photo{height:100px}.phone-copy h3{font-size:16px}.phone-copy p{font-size:7px}.phone-copy>span:first-child{font-size:6px}.phone-cta{font-size:7px;padding:7px 10px}.phone-nav{height:37px}.phone-nav strong{font-size:10px}.phone-copy{padding:8px 10px 11px}.phone-status{height:24px}.art-note{right:0;bottom:-42px}.personal-card.has-portrait img{height:385px}}
@media(max-width:650px){.brand{gap:8px;min-width:0}.brand-sign{width:52px;height:38px}.brand-sign img{width:138px;top:-6px;left:-4px}.brand .brand-wordmark strong{font-size:23px}.brand-wordmark>span{font-size:15px}.hero-art{height:380px;margin:4px 0 58px}.hero-main{left:46px;right:0;top:40px;transform:rotate(-1.5deg)}.phone-preview{left:5px;bottom:3px;width:151px;transform:rotate(-3deg)}.art-note{right:2px;bottom:-32px;font-size:13px}.art-note span{left:-26px;top:-8px}.personal-card.has-portrait{height:410px;min-height:0}.personal-card.has-portrait img{height:410px;width:100%;object-fit:contain}.service-icon{margin-bottom:18px;height:50px}.service-icon .icon{width:45px;height:45px}.step-icon{height:38px}.step-icon .icon{width:30px;height:30px}}
@media(max-width:360px){.hero-main{left:36px;right:-4px}.hero-art{height:365px}.phone-preview{width:144px}.phone-photo{height:92px}.brand-sign{width:46px;height:35px}.brand-sign img{width:124px;top:-5px}.brand .brand-wordmark strong{font-size:21px}.brand-wordmark>span{font-size:14px}}
.hero-art.laptop-art{height:620px;margin-right:-45px;isolation:isolate}.laptop-stage{position:absolute;inset:-18px -20px 30px -25px;overflow:hidden}.laptop-stage canvas{display:block;width:100%;height:100%;opacity:0}.laptop-stage.is-ready canvas{opacity:1}.laptop-fallback{position:absolute;left:9%;top:22%;width:85%;border:9px solid #202126;border-radius:12px;box-shadow:0 25px 40px -18px #21314b40}.laptop-stage.is-ready .laptop-fallback{display:none}.laptop-controls{position:absolute;left:50%;bottom:27px;transform:translateX(-50%);display:flex;align-items:center;white-space:nowrap;gap:12px;color:#7a828f}.laptop-controls[hidden]{display:none}.laptop-controls button{background:none;border:0;padding:9px 3px;min-height:44px;color:#697380;font-size:11px}.laptop-controls button:hover{color:var(--blue)}.laptop-controls button[hidden]{display:none}.laptop-controls:has(button[hidden])>span{display:none}.laptop-controls button>span{font-size:17px;margin-left:5px}.laptop-art .art-note{right:15px;bottom:20px;font-size:15px}.laptop-art .art-note>span{left:-32px;font-size:32px}
@media(max-width:1150px){.hero-art.laptop-art{height:535px;margin-right:-25px}.laptop-stage{inset:-15px -15px 15px -30px}.laptop-art .art-note{bottom:14px;font-size:13px}.laptop-controls{bottom:7px}}
@media(max-width:900px){.hero-art.laptop-art{height:465px;margin-right:-10px}.laptop-stage{inset:0 -10px 0 -30px}.laptop-art .art-note{bottom:20px;right:0}.laptop-controls{bottom:-5px}}
@media(max-width:650px){.hero-art.laptop-art{height:405px;margin:0 0 45px}.laptop-stage{inset:-22px -20px 2px -20px}.laptop-art .art-note{bottom:65px;right:4px;font-size:12px}.laptop-controls{bottom:1px}.laptop-controls button{font-size:10px}.laptop-fallback{top:26%}}
.phone-hint{display:block;font-size:11px;line-height:1.5;margin-top:5px;color:#d7e5ff}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover,.project-preview:hover{transform:none}}


/* Persistent success state, with one brief animation and a reduced-motion fallback. */
.contact-success{--success-green:#15803d;background:#fff;color:#172033;border:1px solid #dcfce7;border-radius:20px;padding:38px 28px;text-align:center;box-shadow:0 18px 60px #002a7526;animation:success-arrive .4s ease-out both}
.contact-success[hidden],#contact-form[hidden]{display:none}
.success-mark{width:128px;height:128px;margin:0 auto 22px;background:#f0fdf4;border-radius:50%;animation:success-pop .65s cubic-bezier(.2,.8,.2,1) both}
.success-mark svg{width:100%;height:100%;stroke:var(--success-green);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.success-ring,.success-tick{stroke-dasharray:1;stroke-dashoffset:0}
.success-ring{animation:success-draw .55s ease-out both}.success-tick{stroke-width:8;animation:success-draw .4s .35s ease-out both}
.contact-success .success-eyebrow{color:#166534;font-size:10px;font-weight:700;letter-spacing:.12em;margin:0 0 12px}
.contact-success h3{font-size:clamp(24px,3vw,30px);line-height:1.2;letter-spacing:-.035em;margin:0 0 16px}
.contact-success p{font-size:15px;line-height:1.7;color:#475569;overflow-wrap:anywhere}
.contact-success .success-receipt{font-size:13px;background:#f1f5f9;border-radius:10px;padding:12px 14px;margin:20px 0}
.contact-success .button{min-height:44px;margin-top:4px}
.contact-success:focus-visible,.contact-success button:focus-visible{outline:3px solid #86efac;outline-offset:5px}
#submit-button:disabled{opacity:.75;cursor:wait}
@keyframes success-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes success-pop{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.05);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes success-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(max-width:480px){.contact-success{padding:28px 20px}.success-mark{width:112px;height:112px}}
@media(prefers-reduced-motion:reduce){.contact-success,.success-mark,.success-ring,.success-tick{animation:none!important}}

/* Contact card and readable desktop navigation. */
@media(min-width:901px){.site-header nav{font-size:16px;gap:clamp(14px,1.6vw,28px)}.site-header nav>a:not(.button){padding-block:12px}.site-header nav .button{font-size:15px}.footer-top nav,.legal-links a,.legal-links button{font-size:16px}.footer-top nav a,.legal-links a{padding-block:10px}.footer-top{flex-wrap:wrap}.footer-bottom small,.footer-bottom>a{font-size:13px}}
@media(min-width:901px) and (max-width:1080px){.site-header nav{font-size:14px;gap:13px}.site-header nav .button{font-size:13px;padding-inline:12px}}
#contact-form{background:#fff;color:#172033;border:1px solid #e3e9f3;border-radius:18px;padding:clamp(22px,3vw,40px);box-shadow:0 22px 65px #00215a24}
.form-heading{margin-bottom:28px}.form-kicker{display:block;color:#0756f5;font-size:11px;letter-spacing:.12em;font-weight:700;margin-bottom:10px}.form-heading h3{font-size:clamp(23px,2.2vw,29px);line-height:1.2;letter-spacing:-.04em}.form-heading p{font-size:14px;color:#536176;margin-top:10px}
#contact-form .field{margin-bottom:22px;min-width:0}#contact-form .form-row{gap:18px}#contact-form label{color:#25334a;font-size:14px;font-weight:600;margin-bottom:8px}#contact-form label>span{color:#0756f5}#contact-form input,#contact-form textarea{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#172033;font-size:16px;padding:13px 14px;width:100%;transition:border-color .18s,box-shadow .18s}#contact-form input{min-height:50px}#contact-form textarea{min-height:150px;resize:vertical}#contact-form input::placeholder,#contact-form textarea::placeholder{color:#65748a;opacity:1}#contact-form input:focus,#contact-form textarea:focus{background:#fff;border-color:#0756f5;box-shadow:0 0 0 3px #0756f512}
#contact-form .phone-hint,.field-meta{font-size:12px;color:#526277;line-height:1.6;margin-top:7px;display:block}.field-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.field-meta small{font-size:inherit}#message-count{white-space:nowrap}.field-error{display:block;color:#b42318;font-size:13px;line-height:1.5;margin-top:7px}.field-error[hidden],.form-errors[hidden]{display:none}#contact-form [aria-invalid=true]{border-color:#b42318;background:#fffafa}.form-errors{border:1px solid #f3b4ad;background:#fff5f4;border-radius:8px;padding:15px 18px;margin-bottom:24px;color:#8d2019;font-size:14px}.form-errors ul{padding-left:18px;margin:8px 0 0}.form-errors a{text-decoration:underline}.form-errors:focus{outline:3px solid #0756f5;outline-offset:4px}
#contact-form .form-note{font-size:12px;color:#536176;line-height:1.7;margin:0 0 20px}#contact-form .form-note a{text-decoration:underline;text-underline-offset:3px}#contact-form #submit-button{background:#0756f5;color:#fff;border-color:#0756f5;border-radius:8px;min-height:52px;width:100%;font-size:15px;justify-content:space-between;padding-inline:20px}#contact-form #submit-button:hover{background:#0340c3}#contact-form #submit-button:disabled{opacity:.7;transform:none}.form-assurance{text-align:center;font-size:12px;color:#526277;margin-top:12px}#contact-form .form-status{color:#25334a;font-size:14px;margin-top:12px}#contact-form .form-status:empty{display:none}
.legal-links a{font-size:13px;color:#656972}.legal-links a:hover{color:#0756f5}.legal-page{max-width:820px;margin:0 auto;padding:64px 24px 88px}.legal-page h1{font-size:clamp(35px,5vw,56px);margin:25px 0}.legal-page h2{font-size:23px;letter-spacing:-.025em;margin:36px 0 13px;line-height:1.35}.legal-page p,.legal-page li{font-size:16px;line-height:1.8;color:#364152}.legal-page p{margin:12px 0}.legal-page a{color:#0756f5;text-decoration:underline;overflow-wrap:anywhere}.legal-page address{font-style:normal;line-height:1.8}.legal-page .legal-back{font-size:14px}.legal-page .legal-meta{font-size:13px;color:#65748a}.legal-page .legal-contact{padding:24px;background:#f4f7fc;border-left:3px solid #0756f5;border-radius:0 10px 10px 0}.legal-page footer{border-top:1px solid #dce3ed;margin-top:40px;padding-top:20px;display:flex;gap:24px;flex-wrap:wrap}
@media(min-width:901px){.legal-links a{font-size:16px}}
@media(max-width:650px){#contact-form .form-row{grid-template-columns:1fr;gap:0}#contact-form{padding:24px 20px}.contact-grid{gap:30px}.form-heading{margin-bottom:24px}.form-assurance{font-size:11px}}
.legal-page>a.brand{color:var(--ink);text-decoration:none}.legal-contact>h2:first-child{margin-top:0}
