@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{--green:#142f28;--paper:#f7f6f0;--ink:#20392f;--muted:#617067;--line:#d7ddd5;--gold:#e8d7a6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c59548;outline-offset:5px}img{display:block;width:100%;object-fit:cover}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.04}h1 em,h2 em{font-weight:400}h2{font-size:clamp(2.6rem,5.2vw,5.6rem);margin-bottom:28px}h3{line-height:1.25}p{margin-bottom:24px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.18em;line-height:1.5;margin-bottom:28px}.section{padding:110px max(5.5vw,24px)}.header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:28px 5.5vw;color:white;border-bottom:1px solid #ffffff30}.brand{font-family:'Manrope',Arial,sans-serif;letter-spacing:.12em;font-size:20px;font-weight:700;line-height:1.2}.brand span{display:block;font-size:10px;letter-spacing:.28em;margin-top:7px;font-weight:500}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a{padding:8px 0}.nav-contact{border:1px solid #ffffff70;padding:11px 20px}.menu-toggle{display:none}.hero{min-height:780px;height:100svh;max-height:1150px;position:relative;color:#fff;background:#203d2c;display:flex;align-items:center}.hero video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(5,23,14,.65),rgba(5,23,14,.08) 90%),linear-gradient(0deg,#06190d80,transparent 25%,transparent 75%,#06190d60)}.hero-copy{position:relative;padding:150px 5.5vw 115px;max-width:1050px}.hero h1{font-size:clamp(3.4rem,6.8vw,7.3rem);margin:0 0 26px}.hero h1 em{color:var(--gold)}.hero-description{font-size:18px;line-height:1.6;color:#ffffffe0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button{border:1px solid var(--green);background:var(--green);color:white;display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px);background:#254c3f}.button.light{background:var(--paper);border-color:var(--paper);color:var(--green)}.button.light:hover{background:white}.text-link{font-size:14px;border-bottom:1px solid #ffffff70;padding:8px 0}.hero-bottom{position:absolute;bottom:25px;left:5.5vw;right:5.5vw;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.12em}.hero-bottom button{border:1px solid #ffffff50;background:#ffffff10;color:white;border-radius:30px;padding:8px 16px;font-size:12px;letter-spacing:0}.hero-bottom button span{margin-left:12px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.intro-grid>div{max-width:520px}.large{font-size:23px;line-height:1.5}.intro-grid p:not(.large){color:var(--muted)}.underlined{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:14px}.films{border-top:1px solid var(--line);padding-top:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:360px;color:var(--muted);margin-bottom:6px}.hole-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.skip{position:fixed;left:10px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}@media(min-width:1700px){.section{padding-left:max(5.5vw,calc((100vw - 1500px)/2));padding-right:max(5.5vw,calc((100vw - 1500px)/2))}}@media(max-width:760px){.header{padding:22px 24px}.brand{font-size:17px}.menu-toggle{display:block;border:1px solid #ffffff70;background:none;color:white;padding:7px 13px;font-size:14px}.header nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--green);padding:24px;align-items:stretch;gap:12px}.header nav.open{display:flex;flex-direction:column}.hero{height:94svh;min-height:710px}.hero-copy{padding:135px 24px 130px}.hero h1{font-size:clamp(3.15rem,10vw,5rem)}.hero-description{font-size:16px}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.hero-actions{gap:20px;flex-wrap:wrap}.hero-bottom{left:24px;right:24px;font-size:9px;gap:15px}.hero-index{display:none}.section{padding:72px 24px}.intro-grid{grid-template-columns:1fr;gap:14px}.large{font-size:21px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:24px}.hole-grid{grid-template-columns:1fr;gap:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.wide-photo{margin:0;position:relative;height:min(60vw,660px);min-height:320px;overflow:hidden}.wide-photo img{height:100%;object-position:center 53%}.wide-photo figcaption{position:absolute;bottom:25px;left:5.5vw;color:#fff;font-size:11px;letter-spacing:.16em;text-shadow:0 1px 6px #000}.film-thumb{position:relative;display:block;width:100%;padding:0;border:0;background:#193d27;overflow:hidden;aspect-ratio:16/10;color:white}.film-thumb:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#071e1bb0)}.film-thumb img{height:100%;transition:transform .6s}.film-thumb:hover img{transform:scale(1.04)}.play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #fff9;border-radius:50%;width:62px;height:62px;display:grid;place-items:center;font-size:31px;background:#152d2533;backdrop-filter:blur(4px);z-index:1}.film-label{position:absolute;left:22px;bottom:18px;font-size:11px;letter-spacing:.15em;z-index:1}.hole-caption{display:flex;align-items:center;justify-content:space-between;padding-top:18px;gap:10px}.hole-caption h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0}.hole-caption>span{font-size:12px;color:var(--muted)}.section-footnote{display:flex;justify-content:space-between;align-items:center;margin-top:40px;gap:20px}.section-footnote>span{font-size:11px;letter-spacing:.12em;color:var(--muted)}.process{background:var(--green);color:var(--paper)}.process-top>p:last-child{color:#c0cfc5;max-width:540px}.process-top h2{font-size:clamp(2.5rem,4.7vw,5rem)}.process-top h2 em{color:#c9d3b4}.process-grid{display:grid;grid-template-columns: .85fr 1fr;gap:9vw;margin-top:70px}.process-image{margin:0;position:relative;align-self:start}.process-image img{height:720px;max-height:75vw;object-position:center}.process-image figcaption{font-size:10px;letter-spacing:.13em;padding-top:18px;color:#c0cfc5}.steps{list-style:none;padding:0;margin:0}.steps li{display:grid;grid-template-columns:44px 1fr;gap:24px;padding:25px 0;border-top:1px solid #ffffff25}.steps li:first-child{padding-top:0;border-top:0}.steps li:last-child{padding-bottom:0}.step-number{color:#bbc7a1;font-size:13px;padding-top:3px}.steps h3{font-size:22px;font-weight:500;margin-bottom:12px;letter-spacing:-.02em}.steps p{font-size:15px;color:#c0cfc5;margin:0;line-height:1.7;max-width:450px}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.gallery-item{border:0;padding:0;position:relative;overflow:hidden;background:#25442e;min-height:290px}.gallery-item img{height:100%;transition:transform .6s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item span{position:absolute;left:22px;bottom:18px;color:#fff;z-index:1;font-size:14px}.gallery-item:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#091f1c88)}.gallery-wide{grid-column:span 2;height:440px}.gallery-tall{grid-row:span 2}.gallery-tall img{object-position:50%}.gallery-credit{text-align:right;font-size:12px;color:var(--muted);margin:20px 0 0}.packages{background:#e9ede5}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.package{border:1px solid #c7d0c6;padding:32px;display:flex;flex-direction:column}.package-number{font-size:10px;letter-spacing:.12em;margin-bottom:36px;display:block;color:#526756}.package h3{font-family:Georgia,serif;font-weight:400;font-size:37px;letter-spacing:-.03em;margin-bottom:17px}.package>p{color:var(--muted);font-size:15px;min-height:50px}.package ul{list-style:none;margin:10px 0 35px;padding:0;font-size:14px;flex:1}.package li{padding:13px 0;border-bottom:1px solid #ccd5c8}.package li:before{content:'✓';margin-right:12px;color:#50674b}.package .button{width:100%;font-size:14px}.button.outline{background:transparent;color:var(--ink);border-color:#849782}.button.outline:hover{background:#d8e0d3}.package.featured{background:var(--green);color:white;border-color:var(--green)}.featured .package-number,.featured>p{color:#c0cfc5}.featured li{border-color:#ffffff25}.featured li:before{color:#ccd7b6}.package-note{font-size:13px;color:var(--muted);max-width:720px;margin:28px 0 0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--green);color:var(--paper);border-bottom:1px solid #ffffff25}.contact h2 em{color:#c9d3b4}.contact-copy>p:not(.eyebrow){max-width:380px;color:#c0cfc5}.contact-email{font-size:clamp(1.1rem,2vw,1.5rem);border-bottom:1px solid #ffffff70;padding-bottom:5px;overflow-wrap:anywhere}.contact form{max-width:540px;width:100%;padding-top:5px}.contact label{display:block;font-size:14px;margin-bottom:9px}.contact label span{color:#adbeb2;font-size:12px}.contact input,.contact select,.contact textarea{border:1px solid #ffffff45;background:#ffffff05;color:var(--paper);padding:13px 15px;width:100%;border-radius:0;margin-bottom:24px;min-height:50px;font-size:16px}.contact input::placeholder,.contact textarea::placeholder{color:#adbbb0}.contact select option{background:var(--green);color:white}.contact textarea{resize:vertical}.form-note{font-size:12px;color:#adbbb0;margin:15px 0 0}.contact #form-status{font-size:14px;margin-top:12px}.contact .button{width:100%}footer{background:var(--green);color:var(--paper);padding:36px 5.5vw;display:flex;align-items:center;gap:36px;flex-wrap:wrap}footer p{color:#adbbb0;margin:0 auto;font-size:13px}footer>a:not(.brand){font-size:13px}dialog{border:0;padding:18px;background:#10241e;color:white;max-width:1200px;width:90vw;max-height:93svh;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#07100dec;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:15px}.dialog-head h2{font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.4;letter-spacing:0;margin:0}.dialog-head button{color:white;background:none;border:1px solid #ffffff50;padding:8px 14px;font-size:14px}dialog video{width:100%;max-height:78svh;display:block;background:#000}dialog img{width:100%;height:auto;max-height:78svh;object-fit:contain}[hidden]{display:none!important}@media(min-width:1700px){.process-image img{height:800px;max-height:none}}@media(max-width:1000px){.package{padding:24px}.package h3{font-size:31px}.process-grid{gap:5vw}.gallery-wide{height:340px}.gallery-item{min-height:240px}.contact{gap:6vw}}@media(max-width:760px){.wide-photo{height:430px}.wide-photo img{object-position:65% center}.wide-photo figcaption{left:24px;right:24px;font-size:10px}.section-footnote{align-items:start;flex-direction:column}.process-grid{grid-template-columns:1fr;gap:44px;margin-top:38px}.process-image img{height:420px;max-height:none;object-position:center 55%}.steps li{gap:12px;grid-template-columns:32px 1fr;padding:23px 0}.steps h3{font-size:21px}.steps p{font-size:16px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery-wide{grid-column:span 2;height:300px}.gallery-tall{grid-row:span 2}.gallery-item{min-height:200px}.gallery-item span{font-size:12px;left:14px;bottom:14px}.gallery-credit{text-align:left}.package-grid{grid-template-columns:1fr}.package{padding:30px}.package-number{margin-bottom:24px}.package h3{font-size:36px}.package>p{min-height:0}.package li{font-size:16px}.package ul{margin-bottom:28px}.contact{grid-template-columns:1fr;gap:40px}footer{padding:30px 24px;gap:24px;justify-content:space-between}footer p{width:100%;order:3;margin:0}dialog{width:96vw;padding:12px}.hero-bottom>span:first-child{max-width:160px}.gallery-section .section-heading>p{max-width:100%}}@media(max-width:390px){.hero h1{font-size:2.9rem}.hero-actions{gap:12px}.hero .button{padding:13px 18px}.gallery{display:block}.gallery-item{display:block;width:100%;height:290px;margin-bottom:14px}}
.film-thumb{aspect-ratio:9/16;max-height:590px}.film-thumb img{object-fit:contain}.film-thumb .film-label{top:20px;bottom:auto}.hole-grid{max-width:1080px;margin-left:auto;margin-right:auto;gap:34px}.film-thumb .play-icon{top:44%}@media(max-width:760px){.hole-grid{grid-template-columns:repeat(3,minmax(230px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 20px;gap:18px}.hole{scroll-snap-align:start}.film-thumb{max-height:470px}.hole-caption{display:block}.hole-caption>span{display:block;margin-top:5px}}
.course-example{padding-top:0;display:grid;grid-template-columns:.75fr 1.25fr;gap:6vw;align-items:center}.course-example h2{font-size:clamp(2.5rem,4.1vw,4.6rem)}.course-example-copy>p:not(.eyebrow){color:var(--muted);max-width:410px}.course-example .example-note{font-size:14px}.course-thumb{aspect-ratio:16/9;max-height:none}.course-thumb img{object-fit:cover}.course-thumb .play-icon{top:50%}.package-price{font-family:Georgia,serif;font-size:clamp(1.65rem,2.4vw,2.5rem);line-height:1.3;letter-spacing:-.035em;margin-bottom:24px;white-space:nowrap}.package-price span{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:12px;letter-spacing:0;font-weight:400;margin-top:7px;color:var(--muted)}.featured .package-price span{color:#c0cfc5}.weather-note{margin-top:44px;padding-top:32px;border-top:1px solid #c7d0c6;display:grid;grid-template-columns:1fr 2fr;gap:48px}.weather-note h3{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.2}.weather-note p{font-size:14px;color:var(--muted);max-width:680px}.weather-note p:last-child{margin-bottom:0}@media(max-width:760px){.course-example{grid-template-columns:1fr;gap:30px;padding-top:0}.course-example-copy>p:not(.eyebrow){max-width:none}.weather-note{grid-template-columns:1fr;gap:4px}.package-price{font-size:32px}.weather-note p{font-size:16px}}
/* Full-frame photographic collage */
.collage-heading{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0;font-size:11px;letter-spacing:.13em;color:var(--muted)}.photo-collage{columns:3;column-gap:18px}.collage-photo{display:block;width:100%;position:relative;border:0;padding:0;margin:0 0 18px;break-inside:avoid;background:transparent;cursor:zoom-in;overflow:hidden}.collage-photo img{width:100%;height:auto;object-fit:contain;transition:filter .25s}.collage-photo:hover img{filter:brightness(.92)}.photo-enlarge{position:absolute;right:14px;bottom:14px;background:#102b23da;color:white;padding:7px 12px;font-size:12px;letter-spacing:.04em;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;pointer-events:none}.collage-photo:hover .photo-enlarge,.collage-photo:focus-visible .photo-enlarge{opacity:1;transform:none}dialog.photo-mode{width:min(96vw,1500px);max-width:1500px;max-height:96svh;padding:20px 24px 16px;background:#10231f;border:1px solid #ffffff20;border-radius:6px}dialog.photo-mode .dialog-head{padding:0 0 14px;margin:0;border-bottom:1px solid #ffffff20}dialog.photo-mode .dialog-head h2{font-size:16px}dialog.photo-mode #modal-image{height:calc(94svh - 150px);max-height:calc(94svh - 150px);width:100%;object-fit:contain;padding:16px 0;touch-action:pan-y;user-select:none}.photo-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #ffffff20;padding-top:14px}.photo-navigation button{font-size:14px;border:1px solid #ffffff35;color:white;background:transparent;padding:8px 18px;min-height:44px}.photo-navigation button:hover{background:#ffffff12}#photo-counter{font-size:13px;color:#ced8cd;font-variant-numeric:tabular-nums;letter-spacing:.12em}.gallery-section .gallery-credit{margin-top:12px}@media(max-width:1050px){.photo-collage{columns:2}}@media(max-width:600px){.photo-collage{columns:1}.collage-heading{font-size:10px;flex-wrap:wrap;gap:8px}.collage-photo{margin-bottom:16px}.photo-enlarge{opacity:1;transform:none;font-size:11px;padding:5px 9px}dialog.photo-mode{width:96vw;padding:14px 12px 12px}dialog.photo-mode .dialog-head h2{font-size:14px;max-width:70%}dialog.photo-mode #modal-image{height:calc(90svh - 155px);max-height:calc(90svh - 155px)}.photo-navigation button{padding:8px 14px}.photo-navigation{gap:10px}}
.compact-collage{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;columns:unset;height:clamp(300px,36vw,520px)}.compact-collage .collage-photo{margin:0;min-width:0;min-height:0;background:#ebece4}.compact-collage .collage-photo:first-child{grid-row:span 2}.compact-collage .collage-photo img{width:100%;height:100%;object-fit:contain}.gallery-actions{display:flex;justify-content:center;margin:26px 0}.gallery-actions .button{min-height:48px}@media(max-width:650px){.compact-collage{grid-template-columns:repeat(4,1fr);grid-template-rows:minmax(0,1fr) minmax(0,.38fr);height:clamp(240px,80vw,420px);gap:8px}.compact-collage .collage-photo:first-child{grid-column:1/-1;grid-row:1}.compact-collage .photo-enlarge{display:none}.compact-collage .collage-photo:first-child .photo-enlarge{display:block}.gallery-actions{margin:22px 0}}
