@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink:#123344;--blue:#295c70;--muted:#6b7980;--line:#dae1e4;--paper:#f8fafb;--sun:#ffbd76}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{color:var(--ink);background:#fff;margin:0;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible){outline-offset:5px;outline:3px solid #e69837}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;font-family:Manrope,sans-serif;line-height:1.15}button{color:inherit}header.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:108px;padding:0 5%;display:flex}.brand{letter-spacing:-.045em;flex-shrink:0;align-items:center;gap:13px;font-family:Manrope,sans-serif;font-size:17px;font-weight:800;line-height:1.1;display:flex}.brand-dot{color:#de873f}nav{gap:36px;font-size:14px;font-weight:600;display:flex}nav a:hover,footer a:hover{color:var(--blue)}.header-place{letter-spacing:.13em;align-items:center;gap:8px;font-size:12px;display:flex}.hero{color:#fff;height:530px;margin:0 20px;position:relative;overflow:hidden}.hero>img{object-fit:cover;object-position:center 58%;width:100%;height:100%}.hero-shade{background:linear-gradient(90deg,#051f2cc2,#041c2a24 65%),linear-gradient(#0000 75%,#03151e75);position:absolute;inset:0}.hero-copy{position:absolute;top:48px;left:5%}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.5}.hero h1{letter-spacing:-.065em;margin:18px 0 23px;font-size:clamp(55px,6vw,84px);font-weight:800;line-height:1.01}.hero h1 em{color:#ffcd96;font-style:normal}.hero p{opacity:.94;font-size:17px;line-height:1.5}.cream-button{color:var(--ink);background:#fff;border-radius:3px;align-items:center;gap:28px;margin-top:25px;padding:12px 19px;font-size:14px;font-weight:700;display:inline-flex}.hero-foot{letter-spacing:.13em;justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:22px;left:5%;right:5%}.gallery-section{min-height:440px;padding:68px 6.5% 75px}.section-title{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:30px;display:flex}.section-title .eyebrow{color:var(--blue);margin-bottom:12px}.section-title h2{font-size:39px}.section-title p{color:var(--muted);font-size:15px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:22px;display:flex}.tabs button{white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:3px;padding:9px 16px;font-size:14px}.tabs button.active{background:var(--ink);color:#fff}.tabs button:not(.active):hover{background:#eaf0f3}.session-count{color:var(--muted);margin-left:auto;font-size:13px}.empty{text-align:center;background:var(--paper);border:1px solid #e6ecee;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:260px;margin-top:26px;padding:45px 20px;display:flex}.empty svg{color:#7394a4}.empty h3{font-size:24px}.empty p{color:var(--muted);max-width:490px;font-size:15px}.empty>span{letter-spacing:.18em;color:#637d89;margin-top:8px;font-size:11px}.about{background:#eaf0f3;grid-template-columns:1fr 2fr;gap:80px;padding:64px 12%;display:grid}.about-label{color:var(--blue);flex-direction:column;justify-content:space-between;align-items:flex-start;display:flex}.about h2{margin-bottom:25px;font-size:39px}.about p{color:#4a6471;max-width:625px;margin-bottom:15px;font-size:16px}.signature{margin-top:28px;font-size:16px;font-style:italic;display:block}footer{justify-content:space-between;align-items:center;gap:25px;padding:43px 5% 30px;font-size:13px;display:flex}footer span{color:var(--muted);font-size:12px}footer>a{font-size:12px}.credit{color:#7a858a;padding:0 5% 20px;font-size:11px}.credit a{text-decoration:underline}.album-grid{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:30px;display:grid}.album-card{text-align:left;background:0 0;border:0;padding:0}.album-image{aspect-ratio:4/3;background:#eaf0f3;position:relative;overflow:hidden}.album-image img{object-fit:cover;width:100%;height:100%;transition:transform .25s}.album-image>span{background:#fff;border-radius:2px;padding:3px 10px;font-size:12px;position:absolute;bottom:12px;right:12px}.album-meta{text-transform:uppercase;letter-spacing:.06em;color:var(--blue);justify-content:space-between;gap:8px;margin:16px 0 8px;font-size:11px;display:flex}.album-card h3{font-size:23px}.album-card p{color:var(--muted);align-items:center;gap:4px;margin-top:10px;font-size:13px;display:flex}.back{background:0 0;border:0;align-items:center;margin-bottom:25px;padding:0;font-size:14px;display:flex}.photo-tile{break-inside:avoid;background:#eaf0f3;border:0;width:100%;margin:0 0 18px;padding:0;display:block;position:relative}.photo-tile img{width:100%;height:auto;display:block}.photo-tile span{color:#fff;opacity:0;background:linear-gradient(#0000,#0009);justify-content:space-between;padding:15px;display:flex;position:absolute;bottom:0;left:0;right:0}:is(.photo-tile:hover span,.photo-tile:focus-visible span){opacity:1}.lightbox{color:#fff;background:#081c27;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:22px;inset:0}.lightbox-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.lightbox-top>div{align-items:center;gap:20px;display:flex}.lightbox button{color:#fff;background:0 0;border:0;padding:10px;display:flex}.lightbox small{color:#a8bcc7;margin-left:15px}.download{align-items:center;gap:8px;font-size:14px;display:flex}.lightbox-image{justify-content:space-between;align-items:center;gap:15px;height:calc(100% - 115px);display:flex}.lightbox-image img{object-fit:contain;max-width:calc(100% - 115px);max-height:100%}.lightbox>p{text-align:center;color:#a8bcc7;margin-top:15px;font-size:13px}.manage{max-width:1200px;margin:auto;padding:55px 30px}.manage h1{margin:12px 0 18px;font-size:42px}.manage h2{margin-bottom:22px;font-size:24px}.manage>p{color:var(--muted)}.manage-columns{grid-template-columns:1fr 1fr;gap:25px;margin:30px 0 45px;display:grid}.panel{border:1px solid var(--line);background:var(--paper);padding:28px}label{flex-direction:column;gap:7px;margin-bottom:17px;font-size:14px;font-weight:600;display:flex}input,select{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #c4d0d7;border-radius:3px;padding:11px 12px;font-size:16px}.form-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.primary{background:var(--ink);color:#fff;border:0;border-radius:3px;padding:11px 19px;font-size:14px;font-weight:600}.primary:hover{background:var(--blue)}.upload-zone{background:#fff;border:1px dashed #9ab0bc;margin-top:20px;padding:20px}.upload-zone input{border:0;padding:8px 0;font-size:13px}.upload-zone small{color:var(--muted);font-size:12px;font-weight:400}.publish-row{align-items:center;gap:20px;margin-top:26px;display:flex}.danger{color:#a23a36;background:0 0;border:0;padding:8px;font-size:13px}.muted{color:var(--muted);font-size:14px}.panel>.muted{margin-top:18px}.error{color:#a03b31;white-space:pre-wrap;background:#fff0ed;margin:16px 0;padding:16px;font-size:14px}.error button{margin-left:10px}.notice{background:#e8f1eb;padding:14px;color:#315c42!important}.admin-photos{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.admin-photos img{aspect-ratio:4/3;object-fit:cover;width:100%}.admin-photos span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.admin-photos button{padding-left:0}@media (min-width:1600px){body{max-width:1800px;margin:auto}.hero{height:600px}.hero-copy{top:70px}}@media (max-width:800px){header.site-header{height:88px;padding:0 6%}.header-place{display:none}nav{gap:20px}.hero{height:505px;margin:0 12px}.hero-copy{top:45px;left:7%}.hero>img{object-position:60% center}.hero h1{font-size:66px}.hero-shade{background:linear-gradient(90deg,#051f2cbf,#041c4220),linear-gradient(#0000 75%,#03151e70)}.hero-foot span:last-child{display:none}.gallery-section{padding:45px 6%}.section-title h2{font-size:32px}.section-title>p{max-width:180px}.album-grid{grid-template-columns:repeat(2,1fr)}.photo-grid{columns:2}.about{grid-template-columns:1fr 3fr;gap:30px;padding:45px 7%}.about h2{font-size:32px}.about-label .eyebrow{font-size:10px}footer{flex-wrap:wrap}.manage-columns{grid-template-columns:1fr}.admin-photos{grid-template-columns:repeat(3,1fr)}}@media (max-width:500px){nav a:last-child{display:none}.brand{gap:8px;font-size:15px}.hero{height:490px}.hero h1{font-size:60px}.hero .eyebrow{font-size:10px}.section-title{display:block}.section-title>p{max-width:none;margin-top:17px}.tabs{gap:4px}.tabs button{padding:8px 10px;font-size:13px}.session-count{display:none}.empty{padding:35px 20px}.empty h3{font-size:21px}.album-grid{grid-template-columns:1fr}.photo-grid{columns:2;column-gap:10px}.photo-tile{margin-bottom:10px}.about{display:block}.about-label svg{display:none}.about h2{margin-top:20px}.about p{font-size:15px}footer{display:block}footer>div{margin:24px 0 15px}.lightbox{padding:14px}.lightbox-top>span{font-size:13px}.lightbox-top small{margin-left:0;display:block}.lightbox-top>div{gap:4px}.download{font-size:12px}.lightbox-image{gap:0}.lightbox-image button{padding:6px}.lightbox-image img{max-width:calc(100% - 70px)}.manage{padding:35px 18px}.manage h1{font-size:33px}.panel{padding:20px}.admin-photos{grid-template-columns:repeat(2,1fr)}.form-pair{grid-template-columns:1fr}.publish-row{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}:root{--ink:#202020;--blue:#444;--muted:#777;--paper:#fafafa;--line:#e7e7e7}body{font-family:DM Sans,Arial,sans-serif}.brand{letter-spacing:-.04em;font-family:Manrope,Arial,sans-serif;font-size:30px;font-weight:700;line-height:1.25}.portfolio-header{text-align:center;padding:42px 5% 48px}.portfolio-header .brand{display:inline-block}.portfolio-header nav{letter-spacing:.025em;flex-wrap:wrap;justify-content:center;gap:34px;margin-top:29px;font-size:13px;font-weight:400}.portfolio-header nav a{color:#6a6a6a;padding:4px 0}.portfolio-header nav a:hover,.portfolio-header nav a[aria-current]{color:#111}.gallery-section{padding:12px 5% 65px}.section-title{margin-bottom:25px}.section-title h2{letter-spacing:-.025em;font-size:29px;font-weight:500}.section-title .eyebrow{letter-spacing:.15em;color:#999;margin-bottom:9px;font-size:10px}.section-title p{font-size:13px;line-height:1.7}.tabs{border:0;gap:18px;padding-bottom:14px}.tabs button{color:#777;border-radius:0;padding:5px 0;font-size:12px}.tabs button.active{color:#111;background:0 0;border-bottom:1px solid #111}.tabs button:not(.active):hover{color:#111;background:0 0}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 7.5%;margin-top:20px}.album-image{aspect-ratio:auto;background:0 0}.album-image img{object-fit:contain;height:auto;display:block}.album-card:hover img{transform:none}.album-image>span{background:#ffffffed}.album-meta{color:#777;font-size:11px}.album-card h3{font-size:20px;font-weight:500}.photo-grid{columns:2;column-gap:7.5%}.photo-tile{background:0 0;margin-bottom:65px}.empty{background:#fafafa;border:0;min-height:270px;margin-top:10px}.empty>svg{color:#aaa}.empty h3{font-size:22px;font-weight:500}.empty>span{color:#999}.about{border-top:1px solid var(--line);background:#fff;grid-template-columns:1fr 3fr;gap:50px;padding:55px 12%}.about h2{font-size:30px;font-weight:500}.about p{color:#666}.about-label{color:#777}.signature{color:#777;font-size:14px}footer{border-top:1px solid var(--line);padding:25px 5%;font-size:12px}.lightbox{background:#121212}.lightbox::backdrop{background:#121212}.lightbox>p,.lightbox small{color:#aaa}.lightbox-top>div{flex-wrap:wrap;justify-content:flex-end}.shop{min-height:55vh;padding:0 5% 70px}.collection-title{text-align:center;margin:4px 0 35px}.collection-title h1{font-size:31px;font-weight:500}.collection-title p{color:#777;margin-top:15px;font-size:14px}.shop .empty h2{font-size:23px;font-weight:500}.shop-note{color:#777;font-size:14px}.shop-photo{width:100%;height:auto;display:block}.shop article h2{margin-top:20px;font-size:21px;font-weight:500}.shop article p{color:#777;font-size:13px}.print-link{border-bottom:1px solid #222;padding:8px 0;font-size:14px;display:inline-block}.original-link{margin:10px 0;font-size:12px;text-decoration:underline;display:block}.admin-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-photos form{margin:16px 0}.admin-photos label{font-size:12px}.admin-photos input{font-size:13px}.check{flex-direction:row;align-items:center;font-weight:400}.check input{width:auto}.admin-photos>.muted{margin-bottom:20px}.manage .brand{font-size:24px}@media (max-width:800px){.portfolio-header{padding:30px 5% 35px}.portfolio-header nav{gap:18px}.brand{font-size:26px}.photo-grid{column-gap:5%}.photo-tile{margin-bottom:30px}.album-grid{gap:40px 5%}.admin-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header .brand{font-size:21px}}@media (max-width:500px){.brand{font-size:24px}.portfolio-header nav{gap:9px 20px;margin-top:22px}.portfolio-header nav a:last-child{display:block}.gallery-section{padding:8px 5% 40px}.section-title h2{font-size:27px}.section-title>p{margin-top:12px}.tabs{gap:12px}.tabs button{font-size:11px}.album-grid{grid-template-columns:1fr}.photo-grid{columns:1}.photo-tile{margin-bottom:30px}.about{padding:35px 7%}.about h2{margin-top:15px}footer{font-size:11px;display:flex}.admin-photos{grid-template-columns:1fr}.lightbox-top{align-items:flex-start}.lightbox-top>div{gap:4px 12px;max-width:200px}.lightbox .download{font-size:11px}.shop .collection-title{margin-top:15px}}.album-image .latest-photos{color:#fff;letter-spacing:.02em;background:#123344;border-radius:2px;padding:7px 12px;font-size:14px;font-weight:600;line-height:1.3;position:absolute;top:14px;left:14px}.cover-button{color:#fff;background:#123344;border:0;border-radius:2px;margin:12px 0 6px;padding:8px 12px;font-size:14px;display:block}.cover-button:disabled{cursor:default;color:#123344;opacity:1;background:#eaf0f3}
