
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f6f4ee;--surface:#fffefa;--surface-2:#ece9df;--text:#1b211f;--muted:#626b65;--line:#d9d8d0;--accent:#142c5e;--accent-2:#264a8e;--warm:#967953;--shadow:0 24px 70px rgba(21,27,28,.09);--radius:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.68 'DM Sans',Arial,sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}
h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.03;letter-spacing:-.045em;color:#172421;margin:0 0 24px}h1{font-size:clamp(3.7rem,7.5vw,8.4rem)}h2{font-size:clamp(2.5rem,4.8vw,5.1rem)}h3{font-size:clamp(1.5rem,2.35vw,2.3rem)}p{margin:0 0 20px;color:var(--muted)}.shell{width:min(1300px,calc(100% - 56px));margin:auto}.lead{font-size:clamp(1.02rem,1.25vw,1.2rem);max-width:64ch}.kicker{display:inline-block;color:var(--accent);font:700 .7rem/1.3 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.22em;margin-bottom:24px}.section{padding:115px 0}.section.alt,.section.soft{background:#ebe9e1}
.site-header{position:sticky;top:0;z-index:60;background:rgba(248,247,243,.97);backdrop-filter:blur(15px);border-bottom:1px solid rgba(22,39,32,.12)}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:flex;align-items:center;flex:0 0 auto}.wordmark img{width:225px;height:auto}.nav{display:flex;align-items:center;justify-content:flex-end;gap:27px;flex-wrap:wrap}.nav>a:not(.btn){font:600 .83rem 'Manrope',sans-serif;letter-spacing:.02em;color:#23352e}.nav>a:not(.btn):hover,.nav>a[aria-current='page']{color:var(--accent)!important}.mobile-toggle{display:none;border:1px solid var(--line);background:transparent;padding:10px 15px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:52px;padding:14px 25px;background:#142c5e;border:1px solid #142c5e;color:#fff!important;border-radius:3px;font:700 .81rem 'Manrope',sans-serif;letter-spacing:.04em;text-transform:uppercase;transition:background .2s,transform .2s}.btn:hover{background:#263f76;transform:translateY(-2px)}.btn.light,.btn.outline{color:var(--text)!important;background:transparent;border-color:#a6aaa2}.btn.light:hover,.btn.outline:hover{background:#e8e8df}.btn.whatsapp{background:#142c5e;border-color:#142c5e}.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:31px}
.hero{min-height:calc(100vh - 96px);padding:0;background:#eae9e2;overflow:hidden}.hero-grid{width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:0;min-height:760px}.hero-copy{padding:clamp(65px,8vw,145px) clamp(34px,6vw,112px);align-self:center}.hero-copy h1{font-size:clamp(4.1rem,6.65vw,7.9rem);margin-bottom:24px}.hero-copy h1 span{display:inline;color:var(--accent)}.hero-copy .lead{max-width:46ch}.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:31px}.hero-badges span{padding:8px 13px;border:1px solid #bcbfb6;font:600 .7rem 'Manrope',sans-serif;letter-spacing:.07em;text-transform:uppercase}.hero-media{position:relative;display:block;min-height:760px;background:#122329}.hero-card{padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden;position:absolute;inset:0}.hero-card>img{width:100%;height:100%;object-fit:cover;border-radius:0;min-height:0;filter:saturate(.87)}.hero-stack{position:absolute;inset:auto 0 0 auto;width:39%;height:33%;padding:12px;background:#f5f3ed;display:grid;grid-template-columns:1fr;gap:0;box-shadow:-18px -18px 50px rgba(0,0,0,.06)}.hero-stack .hero-card{position:relative}.hero-stack .hero-card:nth-child(2){display:none}.hero-stack .hero-card img{border-radius:0}.hero-statbar{display:none}
.trust-strip{background:#1b2a28;padding:27px 0}.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.trust-item{border-right:1px solid rgba(255,255,255,.2);padding:5px 22px 5px 0;color:#ced6d1;font-size:.78rem}.trust-item strong{display:block;color:#fff;font:700 .8rem 'Manrope',sans-serif;margin-bottom:7px;letter-spacing:.08em;text-transform:uppercase}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:47px}.section-head h2{max-width:740px}.section-head p{max-width:335px}.service-grid,.feature-grid,.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.service-card{background:var(--surface);overflow:hidden;display:block;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:saturate(.85)}.service-label{padding:25px}.service-label span{color:var(--warm);font:700 .69rem 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.14em}.service-label h3{margin:9px 0 0}.service-label p{font-size:.91rem;margin:10px 0 0}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.gallery-item{appearance:none;display:block;width:100%;padding:0;border:0;background:#e8e5dc;overflow:hidden;cursor:zoom-in}.gallery-item img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .35s,filter .35s;filter:saturate(.85)}.gallery-item:hover img{transform:scale(1.045);filter:saturate(1)}.gallery-grid>.gallery-item:first-child:nth-last-child(n+4){grid-row:span 2}.gallery-grid>.gallery-item:first-child:nth-last-child(n+4) img{height:100%;aspect-ratio:auto}
.benefit-card,.contact-card,.feature-card{background:#fffefa;padding:29px;border:1px solid #e8e4da}.benefit-card .body,.contact-card .body,.feature-card .body{padding:0}.benefit-card h3{font-size:1.9rem}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stats>div{padding:22px;border-top:1px solid var(--warm);border-bottom:1px solid var(--line)}.stats strong{display:block;color:#162e2c;font:700 clamp(1.2rem,1.8vw,1.8rem) 'Manrope',sans-serif;overflow-wrap:anywhere}.stats span{display:block;color:var(--muted);font-size:.85rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.split>img,.service-hero-card img{width:100%;max-height:720px;object-fit:cover}.split .stats{grid-template-columns:1fr;gap:0}
.page-banner{padding:118px 0 83px;background:#eae9e2}.page-banner h1{max-width:1030px;font-size:clamp(3.4rem,6.2vw,7rem)}.page-banner p{max-width:680px}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.chip{border:1px solid #aaa99f;background:transparent;color:#343d38;padding:11px 16px;font:600 .75rem 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.chip.active,.chip:hover{border-color:var(--accent);background:var(--accent);color:#fff}.category{padding:25px 0 50px;border-top:1px solid var(--line);margin-bottom:28px}.category-title{font-size:clamp(2rem,3vw,3.4rem)}.package-intro{margin-bottom:23px}.packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.package{padding:32px;background:#fffefa;border:1px solid #e2dfd4}.package .tag{color:var(--accent);font:700 .7rem 'Manrope',sans-serif;letter-spacing:.12em;text-transform:uppercase}.package h3{font-size:1.9rem;margin-top:17px;margin-bottom:13px}.price{color:#1c2b29;font:700 1.8rem 'Manrope',sans-serif;margin-bottom:15px}.features{color:#616965;padding-left:19px;margin:0 0 25px}.features li{margin:0 0 10px}.disclaimer{font-size:.9rem;color:#66716a;margin-top:25px}.service-hero-card{background:#eae9e2;padding:17px}.service-hero-card small{color:#596560;display:block;margin-top:7px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:block;color:#26352d;font-weight:700;margin-bottom:18px}.field input,.field textarea,.field select{width:100%;margin-top:8px;padding:14px 15px;background:#fff;border:1px solid #ccc9c0;color:#14231e;border-radius:2px}.field textarea{min-height:150px;resize:vertical}.faq details{padding:23px 0;border-bottom:1px solid #cacbc5}.faq summary{font-weight:700;cursor:pointer}.faq summary::after{content:'+';float:right}.faq details[open] summary::after{content:'−'}.empty-note{padding:45px;background:#eae9e2;border-left:3px solid var(--warm)}
footer{background:#152523;color:#f8f7ee;padding:86px 0 25px}footer h2{color:#fff}footer p{color:#c3cdc9}footer .kicker{color:#d1bd98}footer .btn.light{border-color:#899a93;color:#fff!important}footer .btn.light:hover{background:#273e39}.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:17px;margin-top:54px;padding-top:25px;border-top:1px solid #40544e;font-size:.85rem;color:#bccbc5}.social-links{display:flex;flex-wrap:wrap;gap:15px}.social-links a:hover{color:#fff}.lightbox{display:none;position:fixed;inset:0;z-index:200;background:rgba(8,15,15,.91);align-items:center;justify-content:center;padding:55px 22px}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.lightbox #close-lightbox{position:absolute;top:15px;right:15px;background:transparent;border:0;color:#fff;font-size:2rem}.whatsapp-float{position:fixed;right:22px;bottom:23px;width:57px;height:57px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:#fff;font-size:1.5rem;z-index:80;box-shadow:0 10px 30px rgba(20,60,30,.3)}
@media(max-width:1050px){.header-inner{gap:14px}.nav{gap:14px}.wordmark img{width:185px}.hero-grid{min-height:650px}.hero-media{min-height:650px}.service-grid,.benefit-grid,.packages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.shell{width:min(100% - 32px,1300px)}.header-inner{min-height:80px}.wordmark img{width:174px}.mobile-toggle{display:block}.nav{display:none;position:absolute;top:79px;left:16px;right:16px;padding:24px;background:#faf9f5;flex-direction:column;align-items:stretch;box-shadow:var(--shadow);border:1px solid var(--line)}.nav.show{display:flex}.hero-grid{display:flex;flex-direction:column-reverse;min-height:0}.hero-media{min-height:490px;width:100%}.hero-copy{padding:50px 24px 66px}.hero-copy h1{font-size:clamp(3.35rem,14vw,5.6rem)}.hero-stack{width:37%;height:31%;padding:8px}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-item{padding:12px 8px;border-right:0}.section{padding:75px 0}.section-head,.split,.contact-grid{display:block}.section-head p{max-width:none}.split>img{margin-top:33px}.service-grid,.benefit-grid,.packages,.stats{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery-grid>.gallery-item:first-child:nth-last-child(n+4){grid-row:auto}.gallery-grid>.gallery-item:first-child:nth-last-child(n+4) img{height:100%;aspect-ratio:3/4}.page-banner{padding:70px 0 60px}.contact-card+form{margin-top:20px}.foot{display:block}.foot>*{display:block;margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* 2026 premium redesign: never crop people in display photography. */
.nav>a:not(.btn),.nav>a[aria-current='page']:not(.btn){color:#20332d!important}
.nav>a[aria-current='page']:not(.btn){border-bottom:2px solid #142c5e;padding-bottom:5px}
.nav>a:not(.btn):hover{color:#142c5e!important}
.hero-media{background:linear-gradient(145deg,#14243f,#233b51 65%,#354d58)}
.hero-slider{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 50%,#384854,#14243f)}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 950ms ease;display:flex;align-items:center;justify-content:center;pointer-events:none}
.hero-slide.is-active{opacity:1;z-index:1;pointer-events:auto}
.hero-slide img{width:100%;height:100%;object-fit:contain;object-position:center center;filter:none}
.slide-caption{position:absolute;left:24px;bottom:24px;color:white;background:rgba(11,23,37,.8);font:700 .72rem 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.17em;padding:12px 16px}
.slider-arrow,.slider-dots{position:absolute;z-index:3}
.slider-arrow{top:50%;transform:translateY(-50%);height:46px;width:46px;border-radius:50%;border:1px solid #ffffff66;background:#10243bb3;color:#fff;font-size:32px;line-height:1}
.slider-prev{left:12px}.slider-next{right:12px}.slider-arrow:hover{background:#142c5e}
.slider-dots{right:20px;bottom:30px;display:flex;gap:9px}.slider-dots button{height:10px;width:10px;padding:0;border-radius:50%;border:1px solid white;background:transparent}.slider-dots button[aria-current='true']{background:white}
.service-card img{object-fit:contain;object-position:center;background:#dddcd7;padding:0;filter:none}
.gallery-item{background:#e9e8e2}.gallery-item img,.gallery-grid>.gallery-item:first-child:nth-last-child(n+4) img{object-fit:contain;object-position:center;background:#e9e8e2;filter:none}
.gallery-item:hover img{transform:none;filter:none}
.split>img,.service-hero-card img{object-fit:contain;object-position:center;background:#eeeae3}
.service-placeholder{aspect-ratio:4/5;min-height:220px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:14px;padding:28px;background:linear-gradient(145deg,#e4e1d6,#c9ced2);color:#142c5e}
.service-placeholder span{font:700 .75rem 'Manrope',sans-serif;letter-spacing:.18em}.service-placeholder strong{font:400 clamp(1.9rem,2.5vw,3rem)/1.13 Georgia,serif;max-width:14ch}.service-placeholder.tall{min-height:480px;aspect-ratio:auto;justify-content:center}.service-placeholder p{max-width:35ch}
@media(max-width:760px){.hero-slider{position:absolute}.hero-media{min-height:490px}.hero-slide img{object-fit:contain}.slider-arrow{height:40px;width:40px}.slide-caption{bottom:20px;left:16px;max-width:58%;font-size:.6rem}.slider-dots{right:14px;bottom:32px}.service-card img{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Graduation images: preserve entire subject and graduation cap */
.graduation-feature{display:block;width:100%;height:auto;max-height:690px;object-fit:contain;background:#eeeae4}
.service-card-image{width:100%;height:300px;display:block;object-fit:contain;background:#f1eee9}
.gallery-grid img{object-fit:contain!important;background:#f0ede8}

/* Editorial photo wall: preserve each original aspect ratio without blank letterboxing. */
.gallery-grid{display:block;columns:4 220px;column-gap:14px}
.gallery-grid>.gallery-item,.gallery-grid>.gallery-item:first-child:nth-last-child(n+4){display:inline-block;vertical-align:top;width:100%;margin:0 0 14px;break-inside:avoid;page-break-inside:avoid;line-height:0;background:transparent;grid-row:auto}
.gallery-grid>.gallery-item img,.gallery-grid>.gallery-item:first-child:nth-last-child(n+4) img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;background:transparent!important;transition:filter .25s ease,transform .25s ease}
.gallery-grid>.gallery-item:hover img{filter:brightness(.93)!important;transform:none}
@media(max-width:900px){.gallery-grid{columns:3 180px;column-gap:10px}.gallery-grid>.gallery-item{margin-bottom:10px}}
@media(max-width:540px){.gallery-grid{columns:2 140px;column-gap:8px}.gallery-grid>.gallery-item{margin-bottom:8px}}
/* Full-bleed cinematic carousel with a soft ambient photographic background. */
.hero{height:min(790px,calc(100svh - 88px));min-height:620px;position:relative;background:#0e1926}
.hero>.hero-grid{position:relative;display:block;min-height:100%;height:100%;width:100%;max-width:none}
.hero-media{position:absolute;inset:0;min-height:0;height:100%;width:100%;background:#0e1926}
.hero-slider{position:absolute;inset:0;background:#0e1926}
.hero-slide{overflow:hidden;justify-content:flex-end}
.hero-slide::before{content:'';position:absolute;inset:-40px;background-image:var(--slide-photo);background-size:cover;background-position:center;filter:blur(35px) brightness(.50);transform:scale(1.1);opacity:.7}
.hero-slide::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,24,.97) 0%,rgba(8,18,31,.89) 28%,rgba(8,18,31,.50) 50%,rgba(8,18,31,.06) 82%);pointer-events:none}
.hero-slide img{position:relative;width:68%;height:100%;max-width:unset;object-fit:contain;object-position:center center;filter:none}
.hero-copy{position:absolute;z-index:5;top:50%;left:max(5.5vw,25px);transform:translateY(-50%);width:min(650px,50vw);padding:25px 0;color:white;pointer-events:none}
.hero-copy h1{font-size:clamp(3.3rem,6.1vw,7rem);line-height:1.03;color:white;text-shadow:0 3px 24px rgba(0,0,0,.2)}
.hero-copy h1 span{color:#e8cba2}
.hero-copy .kicker{color:#ebcda3}
.hero-copy .lead{color:#e1e3e6;max-width:41ch}
.hero-copy .button-row,.hero-copy .button-row a{pointer-events:auto}
.hero-copy .btn.light{color:white!important;border-color:#c1c4c9;background:#ffffff12}
.hero-copy .btn.light:hover{background:#ffffff35}
.hero-badges span{color:#eef0f3;border-color:#ffffff65;background:#ffffff08}
.slide-caption{z-index:3;bottom:38px;right:6%;left:auto;background:#07121a9e}
.slider-arrow{z-index:7;top:auto;bottom:21px;transform:none}
.slider-prev{left:auto;right:120px}.slider-next{right:65px}
.slider-dots{z-index:7;left:6%;right:auto;bottom:37px}
@media(max-width:760px){.hero{height:720px;min-height:0}.hero>.hero-grid{display:block;height:100%;min-height:0}.hero-media{position:absolute;inset:0;width:100%;height:100%;min-height:0}.hero-slide img{width:100%;height:78%;align-self:flex-start;object-position:center 12%}.hero-slide::after{background:linear-gradient(0deg,rgba(5,13,24,.97),rgba(5,13,24,.77) 35%,rgba(5,13,24,.08) 78%)}.hero-copy{left:24px;right:24px;top:auto;bottom:85px;width:auto;transform:none;padding:0}.hero-copy h1{font-size:clamp(3rem,10.5vw,5rem);margin-bottom:12px}.hero-copy .lead{font-size:.95rem}.hero-badges{display:none}.hero-copy .button-row{margin-top:20px}.hero-copy .button-row .btn{min-height:45px;padding:10px 14px;font-size:.65rem}.slide-caption{display:none}.slider-dots{left:24px;bottom:30px}.slider-arrow{bottom:15px}.slider-prev{right:73px}.slider-next{right:20px}}
@media(max-width:420px){.hero{height:680px}.hero-copy{bottom:89px}.hero-copy h1{font-size:2.8rem}.hero-copy .lead{line-height:1.5}}


/* 2026 homepage editorial refresh: full bleed photographs, no hard vertical split */
.hero{position:relative;height:clamp(660px,82svh,920px);min-height:660px;background:#0a1422;overflow:hidden}
.hero>.hero-grid{display:block;position:relative;width:100%;max-width:none;min-height:100%;height:100%}
.hero-media,.hero-slider{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:#0b1420}
.hero-slide{position:absolute;inset:0;display:block;overflow:hidden}
.hero-slide::before{content:none!important}
.hero-slide img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 42%!important;display:block;filter:none!important}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,19,.91) 0%,rgba(4,10,19,.78) 24%,rgba(4,10,19,.36) 48%,rgba(4,10,19,.04) 76%),linear-gradient(0deg,rgba(3,9,16,.26),transparent 40%);z-index:2}
.hero-copy{position:absolute;z-index:5;top:50%;left:clamp(24px,6vw,112px);transform:translateY(-50%);width:min(680px,52vw);padding:0;color:#fff;pointer-events:none}
.hero-copy h1{font-size:clamp(3.7rem,6.2vw,7.5rem);line-height:1.05;color:#fff}
.hero-copy .lead{max-width:38ch;color:#f2f0eb}
.hero-copy .button-row,.hero-copy .button-row a{pointer-events:auto}
.slide-caption{z-index:4;right:40px;bottom:28px;left:auto}
/* Mixed aspect-ratio image wall; images define tile height and never crop. */
.gallery-grid.homepage-masonry{display:block!important;columns:4 215px!important;column-gap:14px!important;line-height:0}
.gallery-grid.homepage-masonry>.gallery-item{display:inline-block!important;width:100%!important;height:auto!important;break-inside:avoid!important;page-break-inside:avoid!important;margin:0 0 14px!important;padding:0!important;border:0!important;background:transparent!important;vertical-align:top}
.gallery-grid.homepage-masonry>.gallery-item img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;background:transparent!important}
@media(max-width:1050px){.gallery-grid.homepage-masonry{columns:3 180px!important}}
@media(max-width:760px){.hero{height:750px;min-height:0}.hero-slide img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 38%!important}.hero-slide::after{background:linear-gradient(0deg,rgba(4,10,19,.96) 0%,rgba(4,10,19,.83) 35%,rgba(4,10,19,.18) 77%)}.hero-copy{top:auto;bottom:105px;left:24px;right:24px;width:auto;transform:none}.hero-copy h1{font-size:clamp(3.1rem,11vw,5rem)}.gallery-grid.homepage-masonry{columns:2 145px!important;column-gap:9px!important}.gallery-grid.homepage-masonry>.gallery-item{margin-bottom:9px!important}}
@media(max-width:420px){.hero{height:710px}.hero-copy{bottom:99px}}
