
:root{--bg:#101b27;--surface:#152536;--ink:#f1f4ef;--muted:#b8c7d0;--accent:#c8ff64;--light:#eff1ed;--max:1380px;--serif:Georgia,"Times New Roman",serif;--sans:Arial,"Helvetica Neue",sans-serif;--hair:rgba(128,128,128,.26)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--light);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button,input,textarea,select{min-width:0}p{margin:0 0 1.1em}h1,h2,h3,h4{line-height:1.12;font-weight:400;letter-spacing:-.035em;margin:0}h1,h2{font-family:var(--serif)}h1{font-size:clamp(3.5rem,6.4vw,7.5rem)}h2{font-size:clamp(2.4rem,4.3vw,5.2rem)}h3{font-size:clamp(1.25rem,2vw,2rem)}em{font-weight:400}.wrap{width:min(calc(100% - 88px),var(--max));margin:auto}.skip{position:absolute;top:-200px;background:var(--accent);padding:12px;z-index:50}.skip:focus{top:10px}.fine{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700}.announcement{background:#111c25;color:#f2f2ee;font-size:10px;letter-spacing:.18em;display:flex;align-items:center;justify-content:space-between;padding:10px max(44px,calc((100vw - var(--max))/2));gap:12px}.announcement span:last-child{color:#b9c8be}.header{position:relative;z-index:20;background:var(--light);border-bottom:1px solid var(--hair)}.headerbar{height:98px;display:flex;align-items:center;gap:24px}.wordmark{font-size:clamp(1.75rem,2.4vw,2.65rem);font-weight:800;letter-spacing:-.09em;line-height:1;white-space:nowrap}.wordmark i{font-style:normal;color:var(--accent)}.wordmark small{font-size:8px;letter-spacing:.26em;display:block;font-weight:700;padding-top:8px}.nav{display:flex;align-items:center;gap:28px;margin-left:auto}.nav a{font-size:12px;letter-spacing:.06em;white-space:nowrap}.nav a:hover{color:var(--accent)}.header-cta,.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;background:var(--ink);color:var(--light);text-transform:uppercase;font-size:11px;letter-spacing:.1em;font-weight:700;transition:.22s}.header-cta:hover,.button:hover{background:var(--accent);color:#142125}.button.light{background:var(--light);color:var(--ink)}.button.outline{border-color:currentColor;background:transparent;color:inherit}.menu-button{display:none;border:0;background:transparent;padding:12px;font-size:25px}.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:680px;background:var(--bg);color:var(--ink)}.hero-copy{padding:clamp(50px,6vw,110px) clamp(25px,6vw,115px) 65px max(44px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center;gap:29px}.hero .eyebrow{color:var(--accent)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.23em;font-weight:800}.hero h1{max-width:800px}.hero h1 em{font-style:italic;opacity:.84}.hero p{font-size:clamp(16px,1.25vw,19px);max-width:470px;opacity:.82}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:23px}.textlink{display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:6px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700}.hero-meta{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:40px;border-top:1px solid currentColor;padding-top:22px;opacity:.74;font-size:10px;letter-spacing:.16em}.hero-art{position:relative;overflow:hidden;min-height:500px}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-stamp{position:absolute;bottom:30px;left:30px;padding:14px 19px;background:rgba(255,255,255,.85);color:#202c30;font-size:10px;letter-spacing:.18em}.marquee{background:var(--ink);color:var(--light);padding:19px 0}.marquee .wrap{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.marquee span{font-size:10px;letter-spacing:.2em;text-transform:uppercase}.section{padding-top:clamp(70px,10vw,145px);padding-bottom:clamp(70px,10vw,145px)}.section-heading{display:flex;gap:30px;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading p{max-width:355px;color:var(--muted);font-size:14px}.section-heading h2{margin-top:13px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{min-width:0}.card-media{display:block;overflow:hidden;background:var(--bg);aspect-ratio:1.23}.card-media img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.card:hover img{transform:scale(1.035)}.card-info{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--hair)}.card h3{font-family:var(--serif);font-size:clamp(23px,2.1vw,32px)}.card p{font-size:13px;color:var(--muted);margin:9px 0}.card-tag{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.arrow{font-size:24px;align-self:center}.story{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);color:var(--ink)}.story-art{min-height:500px}.story-art img{height:100%;width:100%;object-fit:cover}.story-copy{padding:clamp(55px,8vw,140px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:26px}.story-copy h2{max-width:720px}.story-copy p{max-width:550px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.step{border-top:1px solid var(--hair);padding-top:20px}.step .number{font-family:var(--serif);font-size:38px;color:var(--accent)}.step h3{font-size:23px;margin:20px 0 12px}.step p{font-size:13px;color:var(--muted)}.darkband{background:var(--bg);color:var(--ink);padding:85px 0}.darkband h2{max-width:900px}.bandrow{display:flex;align-items:end;justify-content:space-between;gap:45px}.bandrow .button{flex-shrink:0}.journal{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.journal article{border-top:1px solid var(--hair);padding-top:26px}.journal h3{font-family:var(--serif);font-size:clamp(26px,2.4vw,40px);margin:15px 0}.journal p{font-size:13px;color:var(--muted)}.footer{background:#142028;color:#eaf1ec;padding:85px 0 26px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.footer h2{font-size:clamp(35px,4vw,68px)}.footer a{display:block;margin-bottom:11px;color:#d8e4df;font-size:13px}.footer .eyebrow{color:#aabbbe}.footer-meta{border-top:1px solid #ffffff25;margin-top:70px;padding-top:24px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#b8c3c1;font-size:11px}.page-intro{background:var(--bg);color:var(--ink);padding:90px 0 100px;position:relative}.page-intro .wrap{display:grid;grid-template-columns:2fr 1fr;gap:60px;align-items:end}.page-intro h1{font-size:clamp(3.4rem,6vw,6.3rem);margin:23px 0 0}.page-intro p{color:var(--muted);max-width:410px;font-size:17px}.breadcrumbs{font-size:11px;letter-spacing:.1em;text-transform:uppercase;display:flex;gap:12px;opacity:.76}.content-area{padding-top:75px;padding-bottom:110px;min-height:380px}.lead{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.8rem);line-height:1.34;max-width:850px;margin-bottom:45px}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{width:100%;aspect-ratio:1.25;object-fit:cover}.split p{color:var(--muted)}.split ul{padding-left:22px}.feature-tags{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.feature-tags span{border:1px solid var(--hair);padding:9px 14px;font-size:11px;letter-spacing:.06em}.filterbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:36px}.filterbar input{border:1px solid var(--hair);padding:16px;min-width:220px;flex:1;background:var(--surface);color:#253b40}.chip{border:1px solid var(--hair);background:none;color:var(--ink);padding:11px 17px;font-size:12px}.chip[aria-pressed=true]{background:var(--ink);color:var(--light)}[hidden]{display:none!important}.empty{border:1px dashed var(--hair);padding:20px}.feature-panel{background:var(--bg);padding:35px}.feature-panel p{color:var(--muted)}.details{border-top:1px solid var(--hair);margin:35px 0}.details details{border-bottom:1px solid var(--hair);padding:17px 0}.details summary{cursor:pointer;font-weight:650;list-style:none}.details summary:after{content:'+';float:right}.details details[open] summary:after{content:'−'}.details p{padding-top:14px;color:var(--muted)}.input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.formbox{background:var(--bg);padding:38px;max-width:890px}.formbox label{display:grid;gap:8px;margin:0 0 17px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:700}.formbox input,.formbox select,.formbox textarea{border:1px solid var(--hair);background:var(--light);padding:16px;width:100%;color:#1e3133;font-size:15px;letter-spacing:normal;text-transform:none}.formbox textarea{min-height:135px;resize:vertical}.form-feedback{background:var(--light);padding:17px;border-left:4px solid var(--accent);font-size:14px;margin-top:20px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery img{width:100%;aspect-ratio:1;object-fit:cover}.gallery button{padding:0;border:0;background:transparent;text-align:left}.gallery figcaption{font-size:13px;padding-top:13px}.lightbox{position:fixed;inset:0;z-index:100;background:#0a1019ed;display:grid;place-items:center;padding:30px}.lightbox img{max-height:78vh;max-width:min(900px,95vw)}.lightbox button{position:absolute;right:22px;top:12px;border:1px solid white;color:white;background:transparent;font-size:30px;padding:0 13px}.article{max-width:800px;margin:auto}.article h2{font-size:36px;margin:40px 0 15px}.article p{font-size:17px;color:var(--muted)}.article img{margin:35px 0}.quote{font-family:var(--serif);font-size:clamp(28px,4vw,52px);line-height:1.24;border-left:3px solid var(--accent);padding-left:27px}.footer-cta{background:var(--bg);color:var(--ink);padding:70px 0}.footer-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-cta h2{font-size:clamp(29px,4vw,55px)}
/* Distinct site identities */
body.electric .button,body.electric .header-cta{background:#c8ff64;color:#101b27}body.electric .section-heading h2,body.electric .page-intro h1{letter-spacing:-.055em}body.electric .story{background:#182b36;color:#f0f5ee}body.electric .story p{color:#bccdc9}body.electric{background:#eff2ee;color:#192a31}body.electric .section-heading p,body.electric .card p,body.electric .card-tag,body.electric .journal p,body.electric .step p{color:#526870}body.electric .chip{color:#192a31}body.electric .chip[aria-pressed=true]{color:#192a31;background:#c8ff64}body.electric .footer-cta{background:#dbe4dc}body.electric .footer-cta h2{color:#142532}body.electric .hero h1 em{color:#c8ff64}body.electric .darkband .button{background:#c8ff64;color:#152536}
body.water .header{background:#f5fbf9}body.water .hero h1 em{color:#197f86}body.water .hero-art{border-radius:0 0 0 160px}body.water .story{background:#c9e2df}body.water .darkband{background:#dbeae7}body.water .button:hover,body.water .header-cta:hover{background:#c4e4e0;color:#14515a}body.water .footer-cta{background:#c8e4df}
body.wedding{font-family:Georgia,'Times New Roman',serif}body.wedding .announcement,body.wedding .nav,body.wedding .header-cta,body.wedding .button,body.wedding .eyebrow,body.wedding .card-tag,body.wedding .breadcrumbs,body.wedding .footer a,body.wedding .formbox label{font-family:Arial,sans-serif}body.wedding .hero h1 em{color:#997254}body.wedding .hero{grid-template-columns:1fr 1.04fr}body.wedding .hero-copy{text-align:left}body.wedding .hero-art{padding:18px;background:#dbbdb5}body.wedding .hero-art img{border:1px solid #ffffff65}body.wedding .story{background:#e8d4ca}body.wedding .story-art img{object-fit:cover}body.wedding .darkband{background:#e4c8be}body.wedding .footer-cta{background:#ead7ce}body.wedding .headerbar{height:112px}
@media(max-width:1150px){.nav{gap:14px}.nav a{font-size:11px}.header-cta{padding:12px}.hero-copy{padding-left:45px;padding-right:35px}.story-copy{padding:60px}}
@media(max-width:940px){.nav,.header-cta{display:none}.menu-button{display:block;margin-left:auto}.mobile-nav.open{display:flex}.mobile-nav{flex-direction:column;padding:16px max(22px,5vw) 32px;border-top:1px solid var(--hair);gap:4px;background:var(--light)}.mobile-nav a{padding:13px 5px;border-bottom:1px solid var(--hair);font-size:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:75px max(28px,6vw) 50px}.hero h1{max-width:800px}.hero-art{min-height:420px;max-height:540px}.hero-art img{object-position:center}.hero-meta{margin-top:15px}.section-heading{align-items:start}.steps{grid-template-columns:repeat(2,1fr)}.story-copy{padding:55px}.wrap{width:min(calc(100% - 56px),var(--max))}.page-intro .wrap{grid-template-columns:1fr;gap:15px}.page-intro{padding:65px 0}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.announcement{padding:10px 18px;font-size:9px}.announcement span:last-child{display:none}.headerbar{height:74px}.wordmark{font-size:28px}.hero-copy{padding:64px 22px 43px;gap:19px}.hero h1{font-size:clamp(3rem,12vw,5.4rem);overflow-wrap:anywhere}.hero p{font-size:15px}.hero-art{min-height:330px;max-height:430px}.marquee .wrap{gap:13px}.marquee span{font-size:9px}.section{padding-top:70px;padding-bottom:70px}.section-heading{flex-direction:column;gap:13px;margin-bottom:29px}.section-heading p{max-width:none}.card-grid,.journal,.gallery{grid-template-columns:1fr}.card-media{aspect-ratio:1.45}.story,.split{grid-template-columns:1fr;gap:25px}.story-art{min-height:330px;max-height:410px}.story-copy{padding:45px 22px}.steps{gap:15px}.step h3{font-size:19px}.footer-main{grid-template-columns:1fr;gap:32px}.footer{padding-top:55px}.footer-meta{margin-top:40px}.bandrow,.footer-cta .wrap{flex-direction:column;align-items:start}.page-intro h1{font-size:clamp(2.7rem,10vw,4.7rem)}.page-intro{padding:52px 0 65px}.content-area{padding:55px 0}.formbox{padding:22px}.input-grid{grid-template-columns:1fr}.filterbar input{flex-basis:100%}.quote{font-size:30px}.lightbox{padding:15px}body.water .hero-art{border-radius:0 0 0 85px}}
@media(max-width:360px){.wordmark{font-size:25px}.steps{grid-template-columns:1fr}.hero h1{font-size:42px}.button{padding:14px 15px}.section-heading h2{font-size:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
