:root{--ink:#132c3a;--ink-soft:#43606b;--cream:#f7f5ef;--paper:#fffefd;--blue:#096a82;--teal:#008e8b;--orange:#ef8d52;--line:#dce4e2;--dark:#102a39;--shadow:0 22px 60px rgba(17,48,61,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.6}.container{width:min(1140px,calc(100% - 48px));margin:auto}.skip-link{position:fixed;z-index:99;left:20px;top:-60px;background:#fff;color:var(--ink);padding:10px 16px;border-radius:6px;transition:.2s}.skip-link:focus{top:16px}.header{position:sticky;z-index:20;top:0;background:rgba(247,245,239,.9);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.25s}.header.scrolled{border-color:var(--line)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font-family:Manrope,sans-serif;line-height:1.15}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--blue);border-radius:50%;color:#fff}.brand-mark svg{width:22px;fill:currentColor}.brand strong{display:block;font-size:14px;letter-spacing:.075em}.brand small{display:block;font-size:10px;margin-top:3px;text-transform:uppercase;color:var(--ink-soft);letter-spacing:.08em}.primary-nav{display:flex;align-items:center;gap:30px}.primary-nav a{font-weight:700;font-size:14px;color:var(--ink);text-decoration:none}.primary-nav a:not(.nav-contact):hover{color:var(--teal)}.nav-contact{background:var(--ink);color:#fff!important;padding:10px 18px;border-radius:2px}.menu-button{display:none;background:none;border:0;padding:8px}.menu-button span:not(.sr-only){display:block;width:24px;height:2px;margin:4px;background:var(--ink)}.hero{padding:76px 0 98px;overflow:hidden;background:linear-gradient(120deg,#f7f5ef 52%,#e4efec 52%)}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:72px}.eyebrow{margin:0 0 16px;color:var(--teal);font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;display:flex;align-items:center;gap:9px}.eyebrow span{width:27px;height:2px;background:currentColor}.hero h1,.section h2,.contact h2{font:800 clamp(44px,5vw,70px)/1.04 Manrope,sans-serif;letter-spacing:-.06em;margin:0}.hero h1 em,.section h2 em,.contact h2 em{font-style:normal;color:var(--teal)}.hero-copy{font-size:18px;color:var(--ink-soft);max-width:560px;margin:26px 0 31px}.hero-actions{display:flex;align-items:center;gap:25px}.button{font:700 14px "DM Sans",sans-serif;cursor:pointer;border:0;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:15px 20px;transition:.2s}.button-primary{color:#fff;background:var(--blue);box-shadow:0 10px 20px rgba(9,106,130,.16)}.button-primary:hover{background:var(--teal);transform:translateY(-2px)}.button-link{color:var(--ink);padding-left:0}.button-link:hover{color:var(--teal)}.hero-note{margin-top:37px;color:var(--ink-soft);font-size:13px;display:flex;align-items:center;gap:8px}.availability-dot{background:#69ae55;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 4px rgba(105,174,85,.13)}.hero-image-wrap{height:510px;position:relative}.hero-shape{position:absolute;width:83%;height:91%;right:0;bottom:0;background:var(--blue)}.hero-image{height:89%;width:83%;object-fit:cover;position:absolute;left:0;top:0;filter:saturate(.85)}.experience-card{position:absolute;right:0;top:12%;background:var(--orange);color:#fff;display:flex;align-items:center;gap:10px;padding:17px 20px}.experience-card strong{font:800 30px/1 Manrope}.experience-card span{font-size:12px;line-height:1.25;font-weight:600}.section{padding:112px 0}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.section-heading h2{font-size:44px}.section-heading>p{max-width:350px;color:var(--ink-soft);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);background:var(--paper);min-height:354px;padding:32px;position:relative}.service-card.featured{background:var(--ink);color:#fff;border-color:var(--ink)}.service-icon{height:48px;width:48px;display:grid;place-items:center;color:var(--teal);background:#e5f2ef;margin-bottom:30px}.featured .service-icon{background:#1d4556;color:#96d6c5}.service-icon svg{height:26px;width:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font:800 21px Manrope;margin:0 0 9px;letter-spacing:-.03em}.service-card p{font-size:14px;color:var(--ink-soft);margin:0 0 17px;line-height:1.55}.featured p{color:#bed0d5}.service-card ul{padding:0;list-style:none;margin:0}.service-card li{font-size:13px;margin:4px 0}.service-card li:before{content:"↗";color:var(--teal);margin-right:9px}.card-label{position:absolute;right:22px;top:23px;color:#fff;background:var(--orange);font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.08em;padding:5px 8px}.about{background:#e5eeeb}.about-grid{display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:12%;}.about-photo{height:510px;position:relative}.about-photo img{width:87%;height:100%;object-fit:cover}.photo-caption{position:absolute;bottom:0;right:0;background:var(--paper);padding:17px 20px;width:57%;font-weight:700;font-size:13px;line-height:1.3}.photo-caption span{display:block;color:var(--teal);font:700 12px Manrope;margin-bottom:5px}.about-content h2{font-size:45px;margin-bottom:24px}.about-content>p{color:var(--ink-soft);margin:0 0 13px;max-width:490px}.values{display:flex;gap:0;margin:31px 0}.values>div{padding-right:26px;margin-right:26px;border-right:1px solid #c3d2cd}.values>div:last-child{border:0}.values strong{display:block;color:var(--teal);font:800 24px Manrope}.values span{font-size:12px;line-height:1.25;display:block;font-weight:600}.text-link{display:inline-flex;gap:10px;align-items:center;color:var(--ink);font-weight:700;font-size:14px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:5px}.text-link span{color:var(--teal);font-size:18px}.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:1.06fr .94fr .94fr;grid-template-rows:210px 210px;gap:13px}.gallery-item{border:0;padding:0;cursor:pointer;overflow:hidden;position:relative;background:var(--dark);text-align:left}.gallery-item img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .5s,opacity .4s}.gallery-item:hover img{transform:scale(1.06);opacity:.82}.gallery-item span{position:absolute;bottom:0;left:0;right:0;transform:translateY(100%);transition:.3s;background:linear-gradient(transparent,rgba(5,20,28,.85));padding:36px 19px 15px;color:#fff;font-weight:700;font-size:13px}.gallery-item:hover span{transform:translateY(0)}.gallery-item i{float:right;font-style:normal;font-size:18px}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.contact{background:var(--dark);padding:100px 0;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr .87fr;gap:13%;align-items:center}.eyebrow-light{color:#a4d3c7}.contact h2{font-size:51px}.contact h2 em{color:#80c8bb}.contact-intro{color:#b6cbd2;max-width:470px;margin:25px 0}.phone{font:800 30px Manrope;letter-spacing:-.04em;color:#fff;display:block;text-decoration:none;margin-bottom:1px}.email{font-size:15px;color:#9fcfc3}.contact-card{background:#fff;color:var(--ink);padding:34px 37px}.contact-card h3{font:800 26px Manrope;margin:0 0 20px;letter-spacing:-.04em}.contact-card label{font-size:12px;font-weight:700;margin:12px 0;display:block}.contact-card input,.contact-card textarea{font:400 14px "DM Sans";width:100%;border:0;border-bottom:1px solid #cfd9d8;padding:8px 0;outline-color:var(--teal);resize:vertical}.contact-card textarea{min-height:73px}.contact-card .button{width:100%;margin-top:15px}.form-note{font-size:12px;color:var(--teal);margin:8px 0 0;min-height:18px}footer{background:#0b202c;color:#8aa1aa;padding:22px 0;font-size:12px}.footer-inner{display:flex;justify-content:space-between;gap:20px}.lightbox{border:0;padding:0;background:rgba(5,19,27,.96);width:min(100vw,1100px);height:min(100vh,780px)}.lightbox::backdrop{background:rgba(5,19,27,.75)}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox-close{position:absolute;right:15px;top:10px;color:#fff;background:rgba(0,0,0,.45);border:0;font-size:32px;width:42px;height:42px;border-radius:50%;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:760px){.container{width:min(100% - 36px,580px)}.nav{height:72px}.menu-button{display:block;z-index:2}.primary-nav{display:none;position:absolute;left:0;right:0;top:72px;padding:24px 18px;background:var(--cream);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:14px}.primary-nav.open{display:flex}.nav-contact{text-align:center}.hero{padding:48px 0 63px;background:linear-gradient(120deg,#f7f5ef 60%,#e4efec 60%)}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:42px}.hero h1{font-size:47px}.hero-copy{font-size:16px;margin:21px 0 25px}.hero-image-wrap{height:380px}.hero-image{height:88%;width:88%}.hero-shape{height:90%;width:80%}.experience-card{top:auto;bottom:14px}.section{padding:72px 0}.section-heading{display:block;margin-bottom:34px}.section-heading h2,.about-content h2{font-size:35px}.section-heading>p{margin-top:18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:28px}.about-photo{height:390px}.about-photo img{width:90%}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.gallery-item span{transform:translateY(0);padding:33px 12px 10px;font-size:12px}.contact{padding:72px 0}.contact h2{font-size:39px}.contact-card{padding:27px 22px}.footer-inner{display:block}.footer-inner span{display:block;margin:4px 0}.values>div{padding-right:16px;margin-right:16px}.hero-actions{gap:15px;flex-wrap:wrap}}@media(max-width:380px){.hero-actions .button-primary{width:100%}.hero-image-wrap{height:340px}.values{gap:0}.values>div{padding-right:11px;margin-right:11px}}
