:root{--navy:#071e2f;--navy-2:#0b2b42;--blue:#176bdb;--blue-light:#e8f1ff;--ink:#102538;--muted:#637484;--cream:#f8f8f4;--line:#dce3e7;--white:#fff;--green:#42c58a;color:var(--ink);background:var(--cream);font-synthesis:none;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{background:var(--cream);min-width:320px;margin:0}body.modal-open{overflow:hidden}body,input,select,textarea,button{font-family:DM Sans,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(1160px,100% - 40px);margin:0 auto}.section{opacity:0;padding:82px 0;transition:opacity .65s,transform .65s;transform:translateY(18px)}.section.visible{opacity:1;transform:none}h1,h2,h3,.logo{font-family:Manrope,sans-serif}h1,h2,h3,p{margin-top:0}h2{letter-spacing:-.045em;color:var(--navy);margin-bottom:20px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.12}h2 span{color:var(--blue)}p{color:var(--muted);line-height:1.72}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.15em;align-items:center;gap:7px;margin-bottom:18px;font-size:.75rem;font-weight:800;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:20px;height:2px}.section-heading{max-width:670px;margin-bottom:36px}.section-heading p{max-width:610px;font-size:1.04rem}.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}.section-heading.center p{margin-left:auto;margin-right:auto}.section-heading.center .eyebrow:after{content:"";background:currentColor;width:20px;height:2px}.button{border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 23px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.button:hover{background:#0f5fc8;transform:translateY(-2px);box-shadow:0 10px 24px #176bdb33}.button-secondary{color:var(--navy);background:0 0;border-color:#bcc9d1}.button-secondary:hover{background:#fff;box-shadow:0 10px 24px #071e2f14}header{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f8f4eb;border-bottom:1px solid #0000;height:78px;transition:border-color .2s,box-shadow .2s;position:fixed;top:0;left:0;right:0}header.scrolled{border-color:var(--line);box-shadow:0 6px 22px #071e2f0f}.nav-wrap{justify-content:space-between;align-items:center;height:100%;display:flex}.logo{color:var(--navy);align-items:center;gap:11px;font-size:1.02rem;font-weight:800;line-height:1;display:flex}.logo small{letter-spacing:.24em;color:var(--blue);font:700 .52rem/1.5 DM Sans;display:block}.logo-mark{background:var(--navy);border-radius:9px;place-items:center;width:36px;height:36px;display:grid;position:relative;overflow:hidden}.logo-mark:before,.logo-mark:after,.logo-mark span{content:"";background:#fff;border-radius:1px 1px 0 0;width:5px;position:absolute;bottom:8px}.logo-mark:before{height:10px;left:9px}.logo-mark span{height:15px;left:16px}.logo-mark:after{background:var(--green);height:21px;left:23px}nav{align-items:center;gap:28px;display:flex}nav>a:not(.button){color:#425463;font-size:.9rem;font-weight:600}nav>a:not(.button):hover{color:var(--blue)}.nav-cta{min-height:42px;margin-left:4px;padding:0 17px;font-size:.84rem}.menu-button{color:var(--navy);background:0 0;border:0;display:none}.hero{background:var(--cream);min-height:735px;padding:154px 0 0;position:relative;overflow:hidden}.hero:before{content:"";clip-path:polygon(17% 0,100% 0,100% 100%,0 100%);background:#edf1f2;width:46%;height:100%;position:absolute;top:0;right:0}.hero-grid{grid-template-columns:1.03fr .97fr;align-items:center;gap:72px;padding-bottom:88px;display:grid;position:relative}.hero-copy{z-index:2;position:relative}.local-pill{background:var(--blue-light);color:var(--blue);border-radius:999px;align-items:center;gap:7px;margin-bottom:25px;padding:8px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.hero h1{color:var(--navy);letter-spacing:-.058em;margin-bottom:25px;font-size:clamp(3rem,5.5vw,4.6rem);line-height:1.03}.hero h1 em{color:var(--blue);font-style:normal}.hero-copy>p{max-width:620px;margin-bottom:32px;font-size:1.12rem}.hero-actions{gap:12px;margin-bottom:28px;display:flex}.hero-trust{color:#587080;flex-wrap:wrap;gap:18px;font-size:.8rem;font-weight:600;display:flex}.hero-trust span{align-items:center;gap:6px;display:flex}.hero-trust svg{color:var(--green)}.hero-visual{z-index:2;position:relative}.preview-label{z-index:4;background:var(--navy);color:#fff;letter-spacing:.04em;border-radius:7px;align-items:center;padding:8px 12px;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;top:-18px;left:24px;box-shadow:0 8px 22px #071e2f2e}.browser-frame{background:#fff;border:1px solid #d7e0e5;border-radius:16px;padding:10px;transform:perspective(1000px)rotateY(-3deg)rotateX(1deg);box-shadow:0 30px 70px #071e2f2e}.browser-bar{align-items:center;gap:5px;height:32px;padding:0 5px;display:flex}.browser-bar i{background:#d4dde2;border-radius:50%;width:7px;height:7px}.browser-bar span{text-align:center;color:#9aa8af;background:#f2f4f5;border-radius:4px;width:46%;margin:auto;padding:4px;font-size:.44rem}.mock-site{background:#f5f3ec;min-height:365px;overflow:hidden}.mock-nav{color:#17374a;background:#fff;justify-content:space-between;align-items:center;height:52px;padding:0 24px;font-size:.56rem;display:flex}.mock-nav span{color:#758890;font-size:.48rem}.mock-hero{color:#fff;background:linear-gradient(90deg,#08222df5,#08222d9e),url(/images/portfolio-contact-sheet.png) 0 0/300% 200%;grid-template-columns:1.2fr .8fr;align-items:center;gap:22px;height:240px;padding:30px;display:grid}.mock-hero small{color:#8ddbb1;letter-spacing:.15em;font-size:.47rem;font-weight:700}.mock-hero strong{margin:10px 0;font:800 1.78rem/1.06 Manrope;display:block}.mock-hero p{color:#c7d4dc;max-width:300px;margin:0;font-size:.55rem;line-height:1.55}.mock-hero button{color:#08222d;background:#51c98c;border:0;border-radius:4px;margin-top:14px;padding:9px 14px;font-size:.5rem;font-weight:800}.mock-panel{color:var(--navy);background:#fffffff0;border-radius:10px;align-self:stretch;gap:7px;padding:15px;display:grid;box-shadow:0 15px 35px #0000002e}.mock-panel span{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:.47rem;font-weight:800}.mock-panel b{background:#eef4f8;border-radius:6px;align-items:center;min-height:30px;padding:0 10px;font-size:.58rem;display:flex}.mock-features{background:#fff;justify-content:space-evenly;align-items:center;height:73px;display:flex}.mock-features span{color:#86959c;flex-direction:column;font-size:.43rem;display:flex}.mock-features b{color:var(--navy);font:800 .78rem Manrope}.float-card{z-index:3;background:#fff;border-radius:10px;flex-direction:column;padding:12px 16px;display:flex;position:absolute;box-shadow:0 12px 35px #071e2f29}.float-card span{color:var(--navy);align-items:center;gap:6px;font-size:.78rem;font-weight:800;display:flex}.float-card small{color:var(--muted);margin-top:3px;font-size:.62rem}.float-rating{top:65px;right:-23px}.float-rating span{color:#dd9b20}.float-lead{bottom:52px;left:-28px}.float-lead svg{color:var(--green)}.hero-bottom{z-index:2;background:#ffffff80;border-top:1px solid #dbe2e5;position:relative}.hero-bottom .container{justify-content:space-between;align-items:center;gap:20px;min-height:76px;display:flex}.hero-bottom span{color:var(--muted);font-size:.72rem}.hero-bottom b{color:#819098;letter-spacing:.07em;font-size:.69rem}.problems{background:#fff}.split{grid-template-columns:.82fr 1.18fr;align-items:center;gap:100px;display:grid}.problems .section-heading{margin-bottom:27px}.problem-list{border-top:1px solid var(--line)}.problem-row{border-bottom:1px solid var(--line);grid-template-columns:50px 1fr 32px;align-items:center;min-height:69px;display:grid}.problem-row>span{color:#a6b0b6;font-size:.7rem;font-weight:700}.problem-row p{color:var(--ink);margin:0;font-size:.95rem;font-weight:600}.problem-row svg{color:#fff;background:var(--navy);border-radius:50%;width:26px;height:26px;padding:6px}.why-us{background:var(--navy)}.why-us h2,.why-us h3{color:#fff}.why-us p{color:#aab8c1}.why-intro{justify-content:space-between;align-items:center;gap:40px;display:flex}.why-intro .section-heading{margin-bottom:58px}.ireland-badge{color:var(--green);border:1px solid #2a4659;border-radius:12px;flex:none;align-items:center;gap:14px;padding:17px 22px;display:flex}.ireland-badge span{color:#fff;font-weight:700}.ireland-badge small{color:#8da0ac;font-weight:400;display:block}.benefit-grid{border-top:1px solid #294255;border-left:1px solid #294255;grid-template-columns:repeat(3,1fr);display:grid}.benefit-grid article{border-bottom:1px solid #294255;border-right:1px solid #294255;padding:35px}.benefit-grid svg{color:var(--green);margin-bottom:24px}.benefit-grid h3{font-size:1.05rem}.benefit-grid p{margin-bottom:0;font-size:.86rem}.portfolio{background:#fff}.portfolio-head{justify-content:space-between;align-items:center;gap:40px;display:flex}.project-grid{grid-template-columns:repeat(3,1fr);gap:42px 20px;display:grid}.project-card{min-width:0}.project-image{filter:saturate(.92);background-image:url(/images/portfolio-contact-sheet.png);background-size:300% 200%;border-radius:12px;width:100%;height:260px;margin-bottom:19px;display:block;position:relative;overflow:hidden}.project-image:after{content:"";background:linear-gradient(#0000 50%,#051b2838);position:absolute;inset:0}.project-card>small{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:800}.project-card h3{margin:7px 0;font-size:1.25rem}.project-card p{max-width:480px;margin:0;font-size:.86rem}.process{background:var(--navy)}.process h2,.process h3{color:#fff}.process p{color:#b7c5cd}.process .section-heading .eyebrow{color:var(--green)}.process-grid{grid-template-columns:repeat(4,1fr);gap:0;margin-top:54px;display:grid}.process-grid article{padding:0 27px;position:relative}.process-num{z-index:2;background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;margin-bottom:26px;font:800 .78rem Manrope;display:grid;position:relative;box-shadow:0 0 0 7px #176bdb24}.process-grid article:first-child{padding-left:0}.process-grid article:last-child{padding-right:0}.process-line{background:#315064;height:1px;position:absolute;top:26px;left:78px;right:0}.process-grid h3{font-size:1.08rem}.process-grid p{font-size:.84rem}.process-cta{color:var(--navy);background:#fff;border-radius:14px;align-items:center;gap:18px;margin-top:54px;padding:24px 28px;display:flex;box-shadow:0 18px 45px #0000002e}.process-cta>svg{color:var(--blue)}.process-cta div{flex-direction:column;display:flex}.process-cta span{color:var(--muted);font-size:.85rem}.process-cta .button{margin-left:auto}.process-cta span{color:var(--muted)}.pricing{background:#fff}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:18px;max-width:800px;margin:52px auto 0;display:grid}.price-card{border:1px solid var(--line);border-radius:14px;padding:34px;position:relative}.price-card.featured{background:var(--navy);color:#fff;padding-top:46px;padding-bottom:46px;box-shadow:0 20px 50px #071e2f2e}.price-card h3{margin-bottom:9px;font-size:1.17rem}.price-card.featured h3{color:#fff}.price-card>p{min-height:48px;font-size:.83rem}.popular{background:var(--green);color:var(--navy);letter-spacing:.1em;border-radius:0 0 7px 7px;padding:7px 12px;font-size:.58rem;font-weight:800;position:absolute;top:0;right:25px}.price{border-bottom:1px solid var(--line);margin-bottom:24px;padding:18px 0 24px}.featured .price{border-color:#294255}.price small{color:var(--muted);display:block}.price strong{letter-spacing:-.05em;font:800 2.6rem Manrope}.price-card ul{min-height:176px;margin:0 0 30px;padding:0;list-style:none}.price-card li{color:#4d6170;align-items:center;gap:10px;margin-bottom:13px;font-size:.84rem;display:flex}.featured li{color:#c2cdd3}.price-card li svg{color:var(--green);flex:none}.price-card .button{width:100%}.featured .button{color:#fff}.pricing-note{text-align:center;margin:30px 0 0;font-size:.87rem}.pricing-note a{color:var(--blue);font-weight:700;text-decoration:underline}.about{background:var(--cream)}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:110px;display:grid}.about-visual{background:var(--navy);border-radius:12px;min-height:490px;position:relative;overflow:hidden}.about-shape{border:1px solid #365365;border-radius:48% 52% 44% 56%;place-items:center;width:340px;height:430px;display:grid;position:absolute;top:40px;left:40px;transform:rotate(-8deg)}.about-shape:before,.about-shape:after{content:"";border-radius:inherit;border:1px solid #2d4a5c;position:absolute;inset:25px;transform:rotate(16deg)}.about-shape:after{border-color:#3c6b75;inset:60px;transform:rotate(-13deg)}.about-shape span{color:var(--green);letter-spacing:-.08em;font:800 5rem Manrope}.about-note{background:#fff;width:215px;padding:22px 25px;position:absolute;bottom:32px;right:0;box-shadow:0 15px 35px #0000002e}.about-note strong{color:var(--navy);font:800 1.1rem/1.25 Manrope;display:block}.about-note small{color:var(--blue)}.about .section-heading{margin-bottom:22px}.about-lead{color:var(--ink);font-size:1.09rem;font-weight:600}.about-grid>div:last-child>p{font-size:.94rem}.about-grid .button{margin-top:9px}.contact{background:var(--navy)}.contact-grid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:100px;display:grid}.contact-copy h2{color:#fff;font-size:clamp(2.3rem,4vw,3.45rem)}.contact-copy>p{color:#aab8c1}.contact-points{gap:17px;margin:35px 0;display:grid}.contact-points>*{color:#fff;align-items:center;gap:15px;display:flex}.contact-points svg{width:37px;height:37px;color:var(--green);background:#13364d;border-radius:8px;padding:9px}.contact-points span{font-size:.9rem}.contact-points small{color:#8195a2;margin-bottom:2px;font-size:.68rem;display:block}form{background:#fff;border-radius:15px;min-height:620px;padding:40px}#enquiry-form{scroll-margin-top:96px}.form-head>span{color:var(--blue);text-transform:uppercase;letter-spacing:.15em;font-size:.69rem;font-weight:800}.form-head h3{color:var(--navy);margin:8px 0 5px;font-size:1.6rem}.form-head p{margin-bottom:27px;font-size:.8rem}.form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.form-grid label{color:#425665;font-size:.74rem;font-weight:700;position:relative}.form-grid .full{grid-column:1/-1}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d7dfe3;border-radius:7px;outline:0;margin-top:7px;padding:12px 13px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #176bdb1a}select{appearance:none}.form-grid label>svg{color:#89979f;pointer-events:none;width:15px;position:absolute;bottom:12px;right:12px}textarea{resize:vertical}.submit-button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:50px;margin-top:19px;font-weight:800;display:flex}.submit-button:hover{background:#0f5fc8}.submit-button:disabled{cursor:not-allowed;opacity:.72}.form-error{color:#9f2d2d;background:#fff5f5;border:1px solid #f1b9b9;border-radius:8px;margin:17px 0 -2px;padding:12px 14px;font-size:.82rem;line-height:1.5}.privacy{color:#87969e;justify-content:center;align-items:center;gap:5px;margin-top:12px;display:flex}.form-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:540px;display:flex}.form-success svg{width:54px;height:54px;color:var(--green)}.form-success h3{margin:20px 0 8px;font-size:1.5rem}.form-success p{max-width:390px}.form-success button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-weight:700}footer{background:var(--cream);color:var(--navy);border-top:1px solid var(--line);padding:36px 0 24px}.logo-light{color:var(--navy)}.logo-light .logo-mark{background:var(--navy)}.logo-light small{color:var(--blue)}.footer-simple{grid-template-columns:1fr auto;align-items:center;gap:26px 40px;display:grid}.footer-simple p{max-width:430px;color:var(--muted);margin:12px 0 0;font-size:.82rem}.footer-contact{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px;display:flex}.footer-contact a{color:var(--navy);font-size:.82rem;font-weight:700}.footer-contact a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;gap:16px;padding-top:20px;font-size:.7rem;display:flex}@media (width<=980px){nav{gap:16px}nav>a:not(.button){display:none}.hero{padding-top:135px}.hero-grid{grid-template-columns:1fr;gap:58px}.hero-copy{max-width:760px}.hero-visual{width:82%;margin:auto}.hero:before{clip-path:none;width:100%;height:48%;top:auto;bottom:0}.hero-bottom b:nth-last-child(-n+2){display:none}.split,.contact-grid{gap:55px}.project-grid{grid-template-columns:repeat(2,1fr)}.project-image{height:280px}.about-grid{gap:60px}.benefit-grid{grid-template-columns:repeat(2,1fr)}.footer-simple{grid-template-columns:1fr}.footer-contact{justify-content:flex-start}}@media (width<=720px){html{scroll-padding-top:82px}.container{width:min(100% - 28px,1160px)}.section{padding:58px 0}header{height:68px}.menu-button{display:block}nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;padding:22px;display:none;position:absolute;top:68px;left:0;right:0;box-shadow:0 12px 25px #071e2f1a}nav.open{display:flex}nav>a:not(.button){padding:5px;display:block}.nav-cta{margin:5px 0 0}.hero{padding-top:108px}.hero-grid{gap:38px;padding-bottom:62px}.hero h1{font-size:2.75rem}.hero-copy>p{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-trust{flex-direction:column;gap:8px}.hero-visual{width:95%}.float-rating{top:30px;right:-7px}.float-lead{bottom:28px;left:-7px}.mock-site{min-height:285px}.mock-hero{grid-template-columns:1fr;height:220px;padding:25px 22px}.mock-hero strong{font-size:1.38rem}.mock-panel{display:none}.mock-features{height:58px}.hero-bottom .container{justify-content:flex-start;overflow:hidden}.hero-bottom span{min-width:max-content}.hero-bottom b:nth-last-child(-n+4){display:none}.split,.about-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.section-heading{margin-bottom:30px}.problem-row{grid-template-columns:38px 1fr 30px}.why-intro{display:block}.ireland-badge{width:max-content;margin-bottom:45px}.benefit-grid{grid-template-columns:1fr}.portfolio-head{margin-bottom:40px;display:block}.portfolio-head .section-heading{margin-bottom:20px}.project-grid{grid-template-columns:1fr}.project-image{height:280px}.process-grid{grid-template-columns:1fr;gap:34px;margin-top:42px}.process-grid article{min-height:98px;padding:0 0 0 72px}.process-grid article:first-child{padding-left:72px}.process-grid article:last-child{padding-right:0}.process-num{position:absolute;top:0;left:0}.process-line{width:1px;height:calc(100% + 34px);top:52px;left:26px;right:auto}.process-grid h3{margin-bottom:8px;padding-top:4px}.process-grid p{margin-bottom:0}.process-cta{flex-direction:column;align-items:flex-start;gap:14px;margin-top:42px;padding:22px 18px}.process-cta>svg{flex:none}.process-cta div{gap:3px}.process-cta .button{width:100%;margin:3px 0 0}.pricing-grid{grid-template-columns:1fr}.price-card.featured{order:-1}.price-card ul{min-height:auto}.about-visual{min-height:420px}.about-shape{width:290px;height:360px;left:15px}.about-note{bottom:20px}#enquiry-form{scroll-margin-top:82px}form{padding:28px 20px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.section{opacity:1;transform:none}}
