@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--navy:#102b43;--deep:#0b2236;--gold:#d7b579;--gold-light:#e7ce9d;--ink:#183248;--muted:#61717b;--cream:#faf8f3;--line:#e5e7e5;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.7 'DM Sans',Arial,sans-serif;background:#fff}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.025em}h2{font-size:clamp(35px,4vw,54px)}h2 em,h1 em{font-weight:500;color:#b88c4b}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.section{padding:108px 0}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;z-index:1000;background:white;padding:10px}.header{height:90px;background:var(--deep);color:#fff;position:relative;z-index:20;border-bottom:1px solid #ffffff20}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;line-height:1.15;flex-shrink:0}.brand-mark{width:45px;height:45px;border:1.5px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:Georgia,serif;font-size:30px;position:relative}.wave{position:absolute;font-size:19px;bottom:0;right:4px}.brand strong{font-size:14px;letter-spacing:.12em;display:block;color:#fff}.brand strong em{font-style:normal;color:var(--gold)}.brand small{font-size:8px;letter-spacing:.22em;color:#c9d0d6;display:block;margin-top:7px}.navlinks{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.navlinks>a:hover{color:var(--gold)}.nav-contact{border:1px solid #bdc6cb6e;padding:11px 16px;border-radius:3px}.nav-contact span{margin-left:12px;color:var(--gold)}.menu-toggle{display:none}.hero{background:radial-gradient(circle at 76% 40%,#254963 0,#102b43 45%,#0b2236 100%);color:#fff;position:relative;overflow:hidden}.hero-noise{position:absolute;inset:0;background-image:radial-gradient(#fff2 .6px,transparent .6px);background-size:23px 23px;opacity:.2;pointer-events:none}.hero-layout{min-height:600px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:25px;position:relative}.hero-copy{padding:72px 0 90px;z-index:2}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:.21em;color:#b98f52}.eyebrow{color:var(--gold-light);display:flex;align-items:center;gap:13px}.eyebrow-line{width:30px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(46px,5.5vw,76px);line-height:1.1;max-width:660px;margin:26px 0}.hero h1 em{color:var(--gold-light)}.gold-dot{color:var(--gold)}.hero-lead{font-size:17px;color:#d3dde5;max-width:500px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:34px}.btn{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 22px;font-weight:700;font-size:13px;border-radius:3px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#182b39}.btn-gold:hover{background:#edcc90}.text-link{font-size:13px;font-weight:600;color:#fff}.text-link span{color:var(--gold);margin-left:10px}.hero-proof{font-size:12px;color:#b7c7d1;display:flex;align-items:center;gap:14px;margin-top:62px}.proof-line{width:33px;height:1px;background:var(--gold)}.hero-art{height:500px;position:relative;min-width:0}.orbit{border:1px solid #ffffff1a;border-radius:50%;position:absolute;left:0;top:10%;width:490px;height:490px}.orbit-two{left:55px;top:17%;width:360px;height:360px}.desktop-mock{position:absolute;left:0;top:90px;width:94%;max-width:470px;background:#f7f5ef;border:7px solid #f2f4f5;border-radius:11px;box-shadow:0 25px 75px #0006;overflow:hidden;transform:rotate(-3deg)}.mock-top{height:35px;display:flex;align-items:center;justify-content:space-between;background:#fff;padding:0 13px;color:#8794a0;font-size:10px}.dots{display:flex;gap:4px}.dots i{height:7px;width:7px;background:#d2d8dc;border-radius:50%}.mock-visual{height:240px;display:grid;grid-template-columns:48% 52%;padding:17px;gap:14px}.mock-photo{background:linear-gradient(#a5c4d0 0 48%,#678a85 48% 52%,#527b85 52%);position:relative;overflow:hidden;border-radius:2px}.mock-sun,.phone-sun{position:absolute;top:27px;right:25px;width:38px;height:38px;background:#f7ddab;border-radius:50%}.mock-mountain{position:absolute;width:190px;height:150px;transform:rotate(45deg);background:#3b6470;bottom:-85px;left:-60px}.mock-mountain.two{background:#72918b;left:75px;bottom:-100px}.mock-content{padding:25px 8px}.mock-overline{width:55px;height:5px;background:#cfad72;margin-bottom:18px}.mock-title{height:13px;background:#19384b;width:94%;margin-bottom:9px}.mock-title.short{width:70%}.mock-paragraph{height:5px;background:#c7d0d0;margin-top:20px;width:95%}.mock-paragraph.mid{margin-top:8px;width:75%}.mock-button{width:100px;height:22px;background:#d7b579;margin-top:24px}.phone-mock{position:absolute;right:0;top:210px;width:140px;height:257px;border:6px solid #e8ebeb;border-radius:22px;background:#faf9f4;box-shadow:0 20px 40px #0007;transform:rotate(6deg);overflow:hidden}.phone-notch{height:11px;width:56px;border-radius:0 0 9px 9px;background:#e8ebeb;position:absolute;top:0;left:36px;z-index:2}.phone-photo{height:125px;background:linear-gradient(#b7cbd0 0 52%,#547e85 52%);position:relative;overflow:hidden}.phone-sun{width:20px;height:20px;top:30px;right:18px}.phone-hill{width:150px;height:120px;position:absolute;background:#4a6e73;transform:rotate(45deg);bottom:-90px;left:-40px}.phone-line{height:9px;background:#264558;margin:22px 12px 0}.phone-line.small{width:60%;height:7px;margin-top:8px}.phone-cta{width:78px;height:19px;background:var(--gold);margin:22px 12px}.floating-chip{position:absolute;left:-20px;bottom:25px;display:flex;gap:12px;align-items:center;background:white;color:var(--ink);border-radius:7px;padding:14px 17px;box-shadow:0 15px 30px #0004;transform:rotate(2deg)}.chip-icon{background:#e5f0e7;color:#36754b;border-radius:50%;height:30px;width:30px;display:grid;place-items:center;font-weight:700}.floating-chip strong{display:block;font-size:12px}.floating-chip small{display:block;color:#7b8b93;font-size:10px}.hero-bottom{border-top:1px solid #ffffff25;display:flex;align-items:center;justify-content:center;gap:40px;padding:20px 0;color:#c6d1d7;font-size:10px;letter-spacing:.18em;font-weight:700}.mini-star{color:var(--gold)}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro h2{margin:17px 0 0;max-width:510px}.intro-right{padding-top:36px}.intro-right p,.expertise-copy>p,.about-grid>div>p{color:var(--muted);line-height:1.95}.inline-link{display:inline-block;margin-top:18px;padding-bottom:8px;border-bottom:1px solid var(--gold);font-size:13px;font-weight:700}.inline-link span{margin-left:18px;color:#b98f52}.services{background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:55px;margin-bottom:43px}.section-heading h2{max-width:640px;margin:15px 0 0}.section-heading>p{color:var(--muted);max-width:310px;margin:0 0 7px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{background:white;border:1px solid #ebe8e1;padding:29px 23px 25px;position:relative;min-height:365px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #1c314012}.service-icon{width:49px;height:49px;color:#b78c50;margin-bottom:32px}.service-icon svg{width:100%;height:100%}.service-num{position:absolute;right:22px;top:28px;color:#a9b2b4;font-size:11px}.service-card h3{font-size:20px;font-family:'Playfair Display',Georgia,serif;line-height:1.25;font-weight:600;min-height:50px}.service-card p{font-size:13px;line-height:1.8;color:var(--muted)}.service-tags{font-size:10px;letter-spacing:.02em;color:#a07b46;border-top:1px solid #e8e7e2;padding-top:15px;margin-top:auto}.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.expertise-art{position:relative}.coast-scene{height:470px;background:linear-gradient(#a9c4c9 0%,#d9e1d6 48%,#7d9da0 49%,#4b7581 100%);overflow:hidden;position:relative}.coast-sun{position:absolute;width:105px;height:105px;border-radius:50%;background:#f3ddac;right:75px;top:65px;box-shadow:0 0 60px #f7e5b855}.coast-cliff{position:absolute;width:390px;height:330px;transform:rotate(30deg);background:#718d7c;bottom:-185px;left:-95px}.coast-cliff.back{background:#92a596;bottom:-175px;left:140px}.coast-cliff.front{z-index:2}.coast-water{position:absolute;bottom:0;height:135px;width:100%;background:linear-gradient(#668e91aa,#2d6675);z-index:3}.coast-label{position:absolute;z-index:4;bottom:27px;left:25px;color:#fff;font-size:12px;letter-spacing:.08em}.expertise-badge{position:absolute;right:-20px;top:25px;background:var(--gold);padding:14px 17px;font-size:10px;letter-spacing:.13em;font-weight:700;box-shadow:0 10px 25px #0002}.expertise-badge span{margin-left:10px;font-size:18px}.expertise-copy h2{margin:15px 0 26px}.note{display:flex;gap:15px;background:#f8f6f1;padding:16px 19px;margin:23px 0}.note p{font-size:12px;line-height:1.8;margin:0;color:#526572}.note-symbol{color:#a77c40;font-weight:700}.work{background:#f6f7f6}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.work-card{background:#fff;border:1px solid #e7e9e7}.work-image{height:230px;position:relative;overflow:hidden}.image-caption{position:absolute;top:17px;left:17px;z-index:4;font-size:9px;letter-spacing:.16em;font-weight:700;color:white;background:#102b43aa;padding:7px 10px}.image-bayview{background:linear-gradient(#a6c6d1 0 55%,#628b8c 55% 64%,#d4c8ae 64%)}.image-lissadell{background:linear-gradient(#b8cad0 0 60%,#91a48d 60%)}.image-craigtown{background:linear-gradient(145deg,#a8bfc1,#c7d3c8)}.illustration-house{position:absolute;bottom:26px;left:25%;width:54%;height:110px}.house-roof{height:40px;background:#344e58;clip-path:polygon(0 100%,50% 0,100% 100%)}.house-body{height:78px;background:#f5f0e6;display:flex;justify-content:space-around;align-items:center;padding:8px}.house-body i{background:#5b8291;width:16%;height:45px;border:5px solid #e3ded2}.illustration-villa{position:absolute;bottom:20px;left:15%;width:70%}.villa-roof{height:35px;background:#475d54;clip-path:polygon(0 100%,50% 0,100% 100%)}.villa-body{height:98px;background:#e8e4d8;display:flex;justify-content:space-around;align-items:center;padding:10px}.villa-body i{height:60px;width:21%;background:#67878b;border:6px solid #f9f7f0}.illustration-listing{position:absolute;width:66%;height:170px;top:38px;left:17%;background:#fff;border-radius:7px;box-shadow:0 10px 30px #29435535;padding:12px}.listing-top{height:8px;width:45%;background:#233e52;margin-bottom:12px}.listing-pic{height:76px;background:linear-gradient(#94bbc4 0 50%,#668f78 50%);border-radius:3px}.listing-lines i{display:block;height:6px;background:#d6ddde;margin-top:9px}.listing-lines i:nth-child(2){width:75%}.listing-lines i:nth-child(3){width:45%;background:#d7b579}.work-content{padding:26px}.work-category{font-size:10px;letter-spacing:.13em;color:#a57a43;font-weight:700}.work-content h3{font-family:'Playfair Display',Georgia,serif;font-size:25px;font-weight:600;margin:10px 0 13px}.work-content>p:last-child{font-size:13px;color:var(--muted);line-height:1.85;margin:0}.portfolio-note{font-size:11px;color:#829097;margin:17px 0 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about h2{margin-top:17px}.values{margin-top:25px}.values>div{padding:13px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:14px}.values span{color:#b88c4b;margin-right:20px;font-size:11px}.contact{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:start}.section-kicker.light{color:var(--gold)}.contact h2{font-size:clamp(42px,5vw,65px);margin:18px 0 25px}.contact h2 em{color:var(--gold)}.contact-grid>div>p:not(.section-kicker){color:#cbd7df;line-height:1.9}.contact-email{font-family:'Playfair Display',Georgia,serif;font-size:clamp(19px,2.4vw,27px);display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:12px;margin-top:40px}.contact-email span{color:var(--gold);margin-left:14px}.contact-panel{background:#fff;color:var(--ink);padding:36px 38px;border-radius:3px}.contact-panel h3{font-family:'Playfair Display',Georgia,serif;font-size:29px;font-weight:600;margin:0 0 8px}.contact-panel>p{color:var(--muted);font-size:13px}.contact-panel form{display:flex;flex-direction:column;gap:7px;margin-top:22px}.contact-panel label{font-size:12px;font-weight:700;margin-top:8px}.contact-panel input,.contact-panel select,.contact-panel textarea{border:1px solid #dfe4e5;background:#fbfbfa;border-radius:2px;padding:12px 13px;outline:none;width:100%;color:var(--ink);font-size:13px}.contact-panel input:focus,.contact-panel select:focus,.contact-panel textarea:focus{border-color:#b48b50;box-shadow:0 0 0 2px #d7b57933}.contact-panel textarea{resize:vertical}.submit{width:100%;margin-top:13px}.form-disclaimer{font-size:10px;color:#7a858c;line-height:1.7;margin-top:7px}.form-disclaimer a{text-decoration:underline}.hidden{position:absolute;left:-9999px}.footer{background:#081d2e;color:white;padding:43px 0 20px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-links{display:flex;flex-wrap:wrap;gap:25px;font-size:12px;color:#c6d1d7}.footer-links a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #ffffff24;margin-top:35px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#a8b9c4;font-size:10px}.simple-page{background:var(--deep);min-height:100vh;padding:35px max(24px,calc((100vw - 900px)/2));}.simple-card{background:white;margin-top:55px;padding:60px;max-width:850px}.simple-card h1{font-size:clamp(35px,5vw,55px)}.simple-card p{color:var(--muted)}.simple-card .btn{margin-top:20px}.privacy-card h2{font-family:'DM Sans',sans-serif;font-size:20px;margin:28px 0 8px}.privacy-card a:not(.inline-link){text-decoration:underline}
@media(max-width:1050px){.navlinks{gap:18px}.hero-layout{grid-template-columns:1fr .8fr}.desktop-mock{top:120px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:300px}.expertise-grid,.contact-grid{gap:45px}}
@media(max-width:760px){.container{width:min(100% - 36px,560px)}.header{height:76px}.brand strong{font-size:12px}.brand small{font-size:7px}.brand-mark{width:39px;height:39px;font-size:25px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px}.menu-toggle span{width:23px;height:2px;background:white}.navlinks{display:none;position:absolute;top:76px;left:0;right:0;background:#0b2236;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 22px;box-shadow:0 15px 20px #0003}.navlinks.open{display:flex}.navlinks a{padding:13px 7px;border-bottom:1px solid #ffffff18}.navlinks .nav-contact{margin-top:10px;text-align:center;border:1px solid #ffffff55}.hero-layout{grid-template-columns:1fr;min-height:0;gap:0}.hero-copy{padding:68px 0 0}.hero h1{font-size:clamp(44px,9vw,66px);margin:22px 0}.hero-lead{font-size:15px}.hero-proof{margin-top:34px}.hero-art{height:360px;max-width:480px;width:100%;margin:auto}.desktop-mock{top:40px;left:5%;width:80%}.mock-visual{height:195px}.phone-mock{top:140px;right:1%;transform:rotate(5deg) scale(.85);transform-origin:top right}.floating-chip{bottom:13px;left:0;transform:scale(.85);transform-origin:bottom left}.orbit{top:0}.hero-bottom{gap:12px;flex-wrap:wrap;font-size:8px;text-align:center;padding:18px 0}.section{padding:72px 0}.intro-grid,.expertise-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.intro-right{padding-top:0}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card{padding:23px 18px;min-height:320px}.service-card h3{font-size:19px}.service-icon{margin-bottom:25px}.expertise-art{max-width:500px}.coast-scene{height:330px}.expertise-badge{right:0}.work-grid{grid-template-columns:1fr}.work-image{height:260px}.contact-panel{padding:27px 24px}.footer-main,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-links{gap:16px}.simple-card{padding:30px 24px}}
@media(max-width:460px){.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card h3{min-height:0}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-art{height:300px}.desktop-mock{width:86%;left:0;top:35px}.mock-visual{height:160px}.mock-content{padding:10px 0}.phone-mock{top:115px;right:0;transform:rotate(5deg) scale(.68)}.floating-chip{bottom:0;left:0;transform:scale(.75)}.coast-scene{height:300px}.contact-email{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Four-project responsive portfolio */
@media(min-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.image-origin{background:linear-gradient(135deg,#133e30,#1d7050 62%,#7aa94e);position:relative;overflow:hidden}
.origin-visual{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;text-align:center;padding:22px}
.origin-brand{font-size:clamp(23px,3vw,39px);font-weight:800;letter-spacing:.07em}.origin-brand b{color:#d7ee90}
.origin-tag{font-size:13px;letter-spacing:.04em}.origin-bars{display:flex;gap:8px;margin-top:6px}.origin-bars i{width:46px;height:7px;border-radius:8px;background:#b5d77d;opacity:.85}

/* Client portfolio images: add named JPG files to /assets to display. */
.work-image { position: relative; overflow: hidden; }
.work-image .project-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 2; }
.work-image .image-caption { position: relative; z-index: 3; }

/* Real project and Donegal photography */
.coast-scene {background:linear-gradient(180deg,rgba(10,35,50,.02),rgba(10,35,50,.28)),url('donegal.jpg') center 48% / cover no-repeat;}
.coast-scene .coast-sun,.coast-scene .coast-cliff,.coast-scene .coast-water {display:none;}
.work-image:has(.project-photo) .illustration-house,.work-image:has(.project-photo) .illustration-villa {display:none;}
.work-image .project-photo{display:block;object-fit:cover;}
.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:760px){.work-grid{grid-template-columns:1fr;}}

/* Refined presentation: simpler editorial rhythm, fewer decorative effects */
.hero{background:#102b43}
.hero h1{font-size:clamp(44px,5.1vw,70px);letter-spacing:-.035em}
.hero-proof{margin-top:46px}
.hero-art .desktop-mock{transform:none;box-shadow:0 18px 50px #0003}
.hero-art .phone-mock{transform:none;box-shadow:0 15px 32px #0004}
.hero-bottom{letter-spacing:.09em;font-size:11px;justify-content:flex-start}
.service-card{border-radius:2px}
.section{padding-top:90px;padding-bottom:90px}
.expertise-badge{letter-spacing:.09em}
.work-image img.project-photo{object-fit:cover}
@media(max-width:700px){.section{padding-top:66px;padding-bottom:66px}.hero-bottom{justify-content:center;text-align:center;line-height:1.8}}

/* Selected projects: subtle interactive image overlays */
.work-image .project-photo { transition: transform .45s ease; }
.work-card:hover .project-photo, .work-card:focus-within .project-photo { transform: scale(1.045); }
.project-reveal { position:absolute; inset:0; z-index:5; display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start; gap:9px; padding:28px; background:linear-gradient(180deg,rgba(10,31,49,.08) 5%,rgba(10,31,49,.96) 92%); color:#fff; opacity:0; transform:translateY(10px); transition:opacity .25s ease,transform .25s ease; pointer-events:none; }
.work-card:hover .project-reveal,.work-card:focus-within .project-reveal {opacity:1;transform:translateY(0);pointer-events:auto}
.project-reveal p {margin:0}.reveal-eyebrow {color:#e2bd79;font-size:10px;letter-spacing:.14em;font-weight:700}.reveal-text {font-size:14px;line-height:1.55;max-width:410px}.reveal-link {display:inline-flex;align-items:center;gap:8px;color:#f2cd8d!important;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;font-size:13px;font-weight:700}.reveal-link:hover,.reveal-link:focus-visible{color:#fff!important}.reveal-note {font-size:12px;color:#e2bd79}
.project-hint {position:absolute;right:15px;bottom:15px;z-index:4;color:#fff;background:rgba(16,43,67,.9);padding:8px 11px;font-size:11px;font-weight:600;letter-spacing:.02em;transition:opacity .2s ease}.work-card:hover .project-hint,.work-card:focus-within .project-hint{opacity:0}
@media(hover:none), (pointer:coarse) {.project-reveal{position:relative;inset:auto;opacity:1;transform:none;pointer-events:auto;background:#102b43;padding:18px 20px;gap:7px}.project-hint{display:none}.work-image{height:auto!important}.work-image .project-photo{position:relative!important;height:210px!important;display:block}.work-image .image-caption{position:absolute;top:17px;left:17px}.reveal-text{font-size:13px}}
@media(prefers-reduced-motion:reduce){.project-reveal,.project-photo,.project-hint{transition:none!important}}

/* ATLANTIC BOOKING | Slate / Ivory / Muted Blue design refresh */
:root{--navy:#334155;--deep:#263548;--gold:#5E8CB8;--gold-light:#7FA6CC;--ink:#334155;--muted:#657387;--cream:#FAFAF7;--line:#E2E8F0;--white:#fff}
body{background:#FAFAF7;color:#334155;font-family:'DM Sans',Arial,sans-serif}
h1,h2,h3{font-family:'DM Sans',Arial,sans-serif;font-style:normal;letter-spacing:-.045em;font-weight:700}
h1 em,h2 em{font-family:inherit;font-style:normal;font-weight:inherit;color:#5E8CB8}
h2{font-size:clamp(32px,3.8vw,48px)}
.header{background:#FAFAF7;color:#334155;border-bottom:1px solid #E2E8F0;height:82px}
.brand strong,.footer .brand strong{color:#334155}.brand strong em{color:#5E8CB8}.brand small{color:#66778b}.brand-mark{color:#5E8CB8;border-color:#5E8CB8}
.navlinks>a:hover,.nav-contact span{color:#426F9A}.nav-contact{border-color:#CBD5E1}
.hero{background:#FAFAF7;color:#334155;overflow:hidden}
.hero-layout{min-height:570px;grid-template-columns:1.03fr 1fr;gap:52px}
.hero-copy{padding:78px 0 74px}
.hero h1{font-size:clamp(43px,4.6vw,65px);line-height:1.12;margin:25px 0;max-width:580px;letter-spacing:-.052em}
.hero h1 em,.hero .gold-dot{color:#5E8CB8}
.hero-lead{color:#526377;font-size:17px;line-height:1.75;max-width:500px}
.eyebrow,.section-kicker{color:#4B7FAF;letter-spacing:.15em}
.hero-proof{color:#6A7788;margin-top:42px}
.hero-bottom{border-top:1px solid #DDE4EB;color:#718095;justify-content:flex-start;letter-spacing:.07em;font-size:11px}
.hero-art{height:auto;min-height:0;display:flex;align-items:center;justify-content:center}
.site-showcase{width:100%;background:#fff;border:1px solid #DAE1E8;border-radius:12px;box-shadow:0 24px 60px rgba(38,53,72,.12);overflow:hidden;transform:rotate(-1deg)}
.showcase-top{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;background:#F1F4F7;border-bottom:1px solid #DDE4EA;font-size:11px;color:#68788B}
.showcase-dots{display:flex;gap:5px}.showcase-dots i{display:block;width:7px;height:7px;background:#B9C5D0;border-radius:50%}
.showcase-address{font-size:11px;letter-spacing:.01em}.showcase-open{font-size:15px}
.site-showcase>img{display:block;width:100%;height:auto;aspect-ratio:1330/762;object-fit:cover;object-position:center top}
.showcase-footer{padding:13px 17px;display:flex;align-items:center;gap:9px;color:#64748B;font-size:10px;letter-spacing:.08em;font-weight:700}
.showcase-indicator{width:7px;height:7px;border-radius:50%;background:#5E8CB8}.showcase-footer a{margin-left:auto;color:#416F9C;white-space:nowrap;letter-spacing:0;font-size:12px}.showcase-footer a:hover{text-decoration:underline}
.btn-gold,.btn.btn-gold{background:#5E8CB8!important;color:white!important;border-color:#5E8CB8!important}.btn-gold:hover{background:#4779A8!important}
.text-link{color:#334155}.text-link span,.inline-link span{color:#5E8CB8}
.intro,.about{background:#fff}.services,.work{background:#F2F5F7}.expertise{background:#fff}
.service-card,.work-card,.contact-panel{border-color:#DEE5EC}.service-card:hover{border-color:#A9C0D7}
.work-category,.service-num,.service-tags,.values span,.reveal-eyebrow,.reveal-note{color:#4D7EAC}
.project-reveal{background:linear-gradient(180deg,rgba(38,53,72,.06) 5%,rgba(38,53,72,.97) 92%)}
.reveal-eyebrow,.reveal-link,.reveal-note{color:#B9D7F3!important}.project-hint{background:#334155}
.contact,.footer{background:#263548}.contact .section-kicker{color:#A9C9E6}.contact .btn-gold{background:#5E8CB8!important}
.footer .brand strong{color:#fff}.footer .brand small{color:#CBD5E1}
@media(max-width:900px){.hero-layout{grid-template-columns:1fr;gap:10px;min-height:0}.hero-copy{padding:65px 0 15px}.hero-art{max-width:660px;width:100%;margin:0 auto 45px}.hero h1{max-width:680px}.site-showcase{transform:none}}
@media(max-width:700px){.header{height:74px}.hero-copy{padding:52px 0 12px}.hero h1{font-size:clamp(39px,9vw,55px)}.hero-art{margin-bottom:30px}.showcase-footer{font-size:8px;padding:10px}.showcase-footer a{font-size:10px}.showcase-top{height:32px}.hero-bottom{padding:16px 0}.navlinks{background:#FAFAF7;color:#334155}.project-reveal{background:#334155}}
@media(prefers-reduced-motion:reduce){.site-showcase{transform:none}}

/* Straight desktop + mobile devices: Atlantic Booking portfolio hero */
.hero-art .device-stage{position:relative;width:100%;max-width:610px;padding:28px 38px 54px 0;isolation:isolate}
.desktop-device{position:relative;width:90%;filter:drop-shadow(0 20px 24px rgba(38,53,72,.12))}
.desktop-bezel{background:#283443;border:7px solid #283443;border-radius:13px 13px 7px 7px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.desktop-toolbar{height:27px;background:#F0F3F6;display:flex;justify-content:space-between;align-items:center;padding:0 11px;color:#64748B;font-size:9px;letter-spacing:.01em}
.device-dots{display:flex;gap:4px}.device-dots i{width:5px;height:5px;border-radius:50%;background:#B7C2CE;display:block}
.desktop-bezel>img{display:block;width:100%;height:auto;aspect-ratio:1330/762;object-fit:contain}
.desktop-base{height:11px;width:107%;margin-left:-3.5%;border-radius:2px 2px 45% 45%;background:linear-gradient(#AAB4C0 0%,#D5DDE4 42%,#7B8998 100%);box-shadow:0 5px 6px rgba(31,41,55,.14)}
.mobile-device{position:absolute;z-index:2;width:24%;aspect-ratio:9/18.5;right:1%;bottom:11px;background:#202A36;border:5px solid #202A36;border-radius:23px;box-shadow:0 16px 27px rgba(31,41,55,.2);overflow:hidden}
.mobile-notch{position:absolute;z-index:4;top:0;left:28%;width:44%;height:10px;background:#202A36;border-radius:0 0 10px 10px}
.mobile-screen{height:100%;background:#fff;display:flex;flex-direction:column;overflow:hidden;border-radius:18px}
.mobile-site-top{height:16%;min-height:28px;display:flex;align-items:center;justify-content:space-between;padding:12px 7px 5px;color:#172A43;background:#fff}
.mobile-logo{font:700 clamp(8px,1vw,13px) Georgia,serif;white-space:nowrap}.mobile-logo span{font-style:italic;color:#6CA5BA;font-weight:400}.mobile-menu{font-size:11px;color:#172A43}
.mobile-site-bar{background:#052347;color:#E4B45D;text-align:center;font-size:clamp(4px,.45vw,6px);letter-spacing:.05em;padding:8px 2px}
.mobile-photo{position:relative;flex:1;background:linear-gradient(180deg,rgba(4,20,39,.18),rgba(4,20,39,.83)),url('bayview-actual-website.jpg') center 48% / auto 100% no-repeat;display:flex;align-items:flex-end}
.mobile-photo-copy{padding:0 8px 15px;display:flex;flex-direction:column;gap:12px;color:white}
.mobile-photo-copy strong{font:400 clamp(11px,1.5vw,20px)/1.1 Georgia,serif}.mobile-photo-copy em{color:#E1B45E}
.mobile-photo-copy>span{background:#D7AD62;color:#172A43;padding:7px 4px;border-radius:18px;font-size:clamp(5px,.58vw,8px);font-weight:700;text-align:center}
@media(max-width:900px){.hero-art .device-stage{max-width:650px;margin:auto}}
@media(max-width:700px){.hero-art .device-stage{padding:12px 25px 44px 0}.desktop-bezel{border-width:5px;border-radius:9px}.desktop-toolbar{height:22px;font-size:8px}.mobile-device{border-width:4px;border-radius:18px;bottom:9px}.mobile-screen{border-radius:14px}.mobile-photo-copy{padding:0 5px 8px;gap:5px}.mobile-site-top{padding:8px 5px 4px}.mobile-photo-copy strong{font-size:clamp(10px,2.8vw,16px)}.mobile-photo-copy>span{font-size:6px;padding:5px 2px}}

/* Actual mobile screenshot inside the existing phone frame */
.mobile-screen{display:block;overflow:hidden}
.mobile-actual-screenshot{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}

/* Final approved responsive-device presentation: preserve full width of the actual mobile screenshot. */
.hero-art .device-stage{max-width:660px;padding:24px 42px 46px 0}
.desktop-device{width:91%}
.mobile-device{width:27%;aspect-ratio:484/990;right:0;bottom:5px;border-width:5px;border-radius:23px}
.mobile-screen{width:100%;height:100%;border-radius:17px;overflow:hidden;background:#f8f5ef}
.mobile-actual-screenshot{display:block;width:100%;height:100%;object-fit:fill;object-position:top center}
@media(max-width:700px){.hero-art .device-stage{padding:12px 26px 38px 0}.mobile-device{border-width:3px;border-radius:16px;bottom:7px}.mobile-screen{border-radius:13px}}


/* Approved light coastal depth: layered blue gradients and understated flowing shapes.
   The actual laptop and mobile HTML mockups remain untouched. */
.header{background:#fcfbf8}
.hero{
  background:
    radial-gradient(ellipse 54% 75% at 100% 10%,rgba(140,181,212,.48),transparent 79%),
    radial-gradient(ellipse 45% 58% at 0% 100%,rgba(131,175,209,.30),transparent 82%),
    linear-gradient(117deg,#fcfbf8 0%,#fafaf7 40%,#e9f2f8 77%,#dcebf5 100%);
  position:relative;isolation:isolate;overflow:hidden;
}
.hero::before,.hero::after{content:"";position:absolute;pointer-events:none;z-index:0}
.hero::before{
  width:90%;height:70%;left:-30%;bottom:-47%;
  border-radius:50%;transform:rotate(-9deg);
  background:linear-gradient(180deg,rgba(184,211,231,.16),rgba(113,164,203,.25));
}
.hero::after{
  width:62%;height:65%;right:-37%;top:-39%;
  border-radius:50%;transform:rotate(-23deg);
  background:linear-gradient(135deg,rgba(139,184,215,.07),rgba(113,163,203,.24));
}
.hero-layout,.hero-bottom{position:relative;z-index:1}
.hero-bottom{border-top-color:rgba(112,141,170,.22)}
.intro{background:linear-gradient(180deg,#fffefa 0%,#fff 100%)}
.services{background:#f2f6f9}
.work{background:#f5f7f8}
@media(max-width:900px){
 .hero{background:radial-gradient(ellipse at 100% 52%,rgba(160,196,222,.29),transparent 67%),linear-gradient(140deg,#fcfbf8,#edf4f9)}
 .hero::before{width:135%;left:-65%;bottom:-35%;height:48%}
 .hero::after{width:80%;right:-50%;top:-20%;height:35%}
}
@media(max-width:600px){
 .hero::before{opacity:.65;bottom:-18%}
 .hero::after{opacity:.55}
}

/* Refinement: smaller, softer coastal shapes. All content and devices unchanged. */
.hero{background:radial-gradient(ellipse 38% 65% at 100% 20%,rgba(156,192,217,.20),transparent 85%),linear-gradient(112deg,#fcfbf8 0%,#fafaf7 52%,#f0f6fa 100%)}
.hero::before{width:52%;height:24%;left:-18%;bottom:-15%;transform:rotate(-4deg);background:linear-gradient(180deg,rgba(184,211,231,.07),rgba(139,181,211,.10));opacity:.65}
.hero::after{width:32%;height:32%;right:-23%;top:-23%;transform:rotate(-12deg);background:linear-gradient(135deg,rgba(139,184,215,.04),rgba(113,163,203,.10));opacity:.65}
@media(max-width:900px){.hero{background:linear-gradient(130deg,#fcfbf8 0%,#f9faf9 55%,#edf4f9 100%)}.hero::before{width:60%;height:20%;left:-23%;bottom:-12%}.hero::after{width:38%;height:25%;right:-25%;top:-16%}}
@media(max-width:600px){.hero::before,.hero::after{opacity:.3}}

/* Final homepage polish: clean coastal gradient, slightly stronger devices and tighter flow. */
.hero{
  background:linear-gradient(110deg,#fcfbf8 0%,#fafaf7 47%,#f2f7fa 75%,#e8f2f8 100%);
}
.hero::before,.hero::after{display:none!important;}
@media(min-width:901px){
  .hero-layout{min-height:545px;gap:34px;}
  .hero-copy{padding-top:65px;padding-bottom:56px;}
  .hero-art .device-stage{width:106%;max-width:none;transform:translateX(1%);}
}
.hero-bottom{color:#526982;font-size:11px;letter-spacing:.075em;font-weight:700;padding-top:16px;padding-bottom:16px;}
.intro.section{padding-top:72px;}
@media(max-width:900px){
  .hero{background:linear-gradient(145deg,#fcfbf8 0%,#f9faf9 50%,#eaf3f9 100%);}
  .hero-art .device-stage{transform:none;}
  .intro.section{padding-top:64px;}
}
@media(max-width:600px){
  .hero-bottom{font-size:10px;letter-spacing:.03em;}
  .intro.section{padding-top:56px;}
}


/* Consistent secondary pages — Atlantic Booking slate / ivory / muted blue */
.simple-page{
  min-height:100vh;
  background:linear-gradient(115deg,#fcfbf8 0%,#fafaf7 52%,#eaf3f9 100%);
  padding:48px max(24px,calc((100vw - 900px)/2)) 80px;
}
.simple-page .brand strong{color:#334155!important}
.simple-page .brand small{color:#61758d!important}
.simple-page .brand-mark{color:#5e8cb8!important;border-color:#5e8cb8!important}
.simple-page .simple-card{
  background:#fff;
  border:1px solid #e1e8ef;
  border-radius:12px;
  box-shadow:0 18px 55px rgba(38,58,79,.09);
  margin-top:48px;
  padding:clamp(30px,5vw,60px);
}
.simple-page .simple-card h1{color:#334155}
.simple-page .simple-card .section-kicker{color:#5e8cb8!important}
.simple-page .simple-card p{color:#61758d}
.simple-page .simple-card .btn-gold{background:#5e8cb8!important;color:#fff!important}
.simple-page .simple-card .btn-gold:hover{background:#4779a8!important}
@media(max-width:600px){
 .simple-page{padding:28px 18px 55px}
 .simple-page .simple-card{margin-top:35px;padding:30px 24px}
 .simple-page .brand strong{font-size:12px}
 .simple-page .brand small{font-size:8px}
}
