@font-face{font-family:Manrope;src:url('/static/demos/energy/manrope-v2.woff2') format('woff2');font-weight:200 800;font-display:swap}@font-face{font-family:Fraunces;src:url('/static/fonts/fraunces-600.woff2') format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Fraunces;src:url('/static/fonts/fraunces-italic.woff2') format('woff2');font-style:italic;font-display:swap}
:root{--paper:#f3f0e8;--ink:#183c35;--accent:#d9e6a5;--line:#183c3530}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Manrope,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-weight:500;line-height:1.06;letter-spacing:-.055em}h2{font-size:clamp(38px,4.5vw,70px)}em{font-family:Fraunces,Georgia,serif;font-weight:600}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c6643b;outline-offset:5px}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:white;color:black;padding:12px}.skip:focus{top:10px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.6}.section-pad{padding:95px 6%}.button{display:inline-flex;gap:34px;align-items:center;justify-content:space-between;min-height:54px;padding:15px 24px;background:var(--ink);color:var(--paper);font-size:12px;font-weight:700;transition:transform .25s,background .25s}.button:hover{transform:translateY(-4px)}.button span,.text-link span{font-size:23px;line-height:1}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:12px;border-bottom:1px solid;padding-bottom:10px}.concept-bar{height:48px;position:sticky;top:0;z-index:30;background:#f8f7f2;color:#292f2b;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;padding:0 25px;font-size:10px}.concept-bar>a{display:flex;align-items:center;gap:8px;min-height:44px}.concept-label{font-size:9px;letter-spacing:.1em}.concept-label i{font-style:normal;padding:0 12px;opacity:.35}.concept-bar nav{display:flex;height:100%;gap:6px}.concept-bar nav a{display:flex;align-items:center;gap:8px;padding:0 12px;opacity:.55;border-bottom:2px solid transparent}.concept-bar nav a[aria-current]{opacity:1;border-bottom-color:var(--ink)}.site-header{height:118px;margin:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid currentColor;position:relative;z-index:3}.brand{display:flex;flex-direction:column;width:max-content;line-height:1}.brand-symbol{font-size:59px;font-family:Fraunces,Georgia,serif;letter-spacing:-6px;line-height:.95}.brand-symbol>span:not(.brand-dot){font-size:35px;letter-spacing:-3px;padding:0 2px}.brand-dot{color:inherit}.brand-caption{font-size:8px;letter-spacing:.28em;margin-top:12px}.desktop-nav{display:flex;gap:35px;font-size:12px}.desktop-nav a{padding:12px 0}.header-cta{display:flex;gap:32px;align-items:center;font-size:12px;border-bottom:1px solid;padding:9px 0}.header-cta span{font-size:23px}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.opening{position:relative}.hero{min-height:660px;height:calc(100svh - 166px);max-height:1050px;position:relative}.hero-copy{position:relative;z-index:2}.hero-copy h1{font-size:clamp(62px,6.6vw,108px);margin:23px 0}.hero-intro{max-width:345px;font-size:15px;line-height:1.8;margin-bottom:30px}.hero-bottom{position:absolute;bottom:28px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em}.hero-bottom a{display:flex;gap:32px;align-items:center;letter-spacing:0;font-size:11px}.hero-bottom a span{font-size:22px}.d1 .opening{color:var(--paper);background:#17342f}.cover{position:absolute;inset:0;width:100%;height:100%;filter:brightness(.72) saturate(.7);object-position:60% 50%}.d1 .opening:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b262cec 0%,#102b3260 58%,#0e252430),linear-gradient(0deg,#112c3077,transparent 30%);pointer-events:none}.d1 .site-header,.d1 .opening-main{position:relative;z-index:2}.d1 .hero-copy{padding:72px 6%}.d1 .hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(68px,7.4vw,118px);letter-spacing:-.055em}.d1 .hero h1 em{color:#d7e1c5}.d1 .hero .button{background:#dbe7be;color:#183c35}.about{display:grid;grid-template-columns:1fr 3fr;gap:6%;border-bottom:1px solid var(--line)}.section-label{display:flex;flex-direction:column;justify-content:space-between;font-size:9px;letter-spacing:.12em}.mini-mark{font-family:Fraunces,serif;font-size:62px;letter-spacing:-7px}.about-copy h2{font-size:clamp(35px,4.4vw,67px)}.about-bottom{display:flex;align-items:flex-end;gap:65px;margin-top:36px}.about-bottom p{max-width:390px;font-size:14px}.about-bottom a{max-width:235px;flex-shrink:0}.services{display:grid;grid-template-columns:.9fr 1.3fr;gap:8%}.section-heading h2{margin:24px 0}.section-heading>p:last-child{font-size:13px;line-height:1.9}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service-list summary{display:grid;grid-template-columns:24px 1fr 24px;gap:18px;padding:28px 0}.service-number{font-size:10px;padding-top:6px}.service-list strong{font-size:19px;font-weight:600;letter-spacing:-.04em}.service-text{display:block;font-size:12px;max-width:365px;margin-top:10px;opacity:.8}.plus{font-size:25px;font-weight:400;line-height:1.2;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.service-detail{padding:0 40px 28px;font-size:13px}.story-panel{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:530px}.story-panel>img{width:100%;height:100%;max-height:650px}.story-panel>div{padding:80px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.story-panel h2{font-size:clamp(36px,3.5vw,55px);margin:35px 0}.story-panel .button{background:var(--accent);color:var(--ink)}.process{display:grid;grid-template-columns:.8fr 1.5fr;gap:8%}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:35px}.steps article{border-top:1px solid var(--line);padding-top:20px}.steps article>span{font-size:11px}.steps h3{font-size:21px;letter-spacing:-.05em;margin:40px 0 16px}.steps p{font-size:12px;line-height:1.9}.questions{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:9%}.questions h2{font-size:clamp(34px,4vw,58px);margin-top:24px}.questions details{border-bottom:1px solid var(--line)}.questions summary{display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:13px}.questions details p{font-size:13px;padding:0 30px 25px 0}.contact{background:var(--accent)}.contact h2{font-family:Fraunces,serif;font-size:clamp(48px,7vw,108px);max-width:1000px;margin:30px 0 48px}.contact-bottom{display:flex;justify-content:space-between;align-items:center}.contact-bottom>p{font-size:14px}.contact-note{font-size:10px;margin-top:42px;opacity:.75}.site-footer{padding-top:55px;padding-bottom:25px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:50px}.footer-top p{font-size:12px}.footer-top>a:last-child{font-size:11px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:9px}.footer-bottom p a{text-decoration:underline}
/* Direction 02: typographic, high-contrast and architectural. */
.d2{--paper:#f6f5ef;--ink:#20251e;--accent:#d3ee69;--line:#20251e30}.d2 .brand-symbol{font-family:Manrope,sans-serif;font-weight:800;font-size:61px;letter-spacing:-7px}.d2 .hero{background:var(--accent);overflow:hidden;min-height:670px}.d2 .site-header{height:110px;border:0}.d2 .hero-copy{padding:65px 6%;width:64%}.d2 .hero h1{font-size:clamp(80px,9.7vw,156px);font-weight:800;letter-spacing:-.085em;line-height:.92;margin:32px 0}.d2 .hero h1 em{font-family:inherit;font-style:normal;font-weight:800}.business-photo{position:absolute;inset:0 0 0 56%;overflow:hidden;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}.business-photo img{height:100%;width:100%;object-position:60%;filter:saturate(.7)}.photo-caption{position:absolute;bottom:30px;right:25px;writing-mode:vertical-rl;font-size:8px;background:var(--paper);padding:12px}.d2 .hero-bottom{right:48%}.d2 .hero-bottom a{display:none}.d2 .hero-intro{max-width:310px}.d2 h2 em{font-family:inherit;font-style:normal;font-weight:700}.d2 .about{background:var(--ink);color:var(--paper)}.d2 .about em{color:var(--accent)}.big-ribbon{background:var(--accent);font-size:clamp(25px,5.6vw,82px);font-weight:800;letter-spacing:-.055em;white-space:nowrap;overflow:hidden;padding:14px 0}.d2 .services .section-heading h2{font-size:clamp(65px,6vw,95px);font-weight:800}.d2 .story-panel{background:#e8eadf;color:var(--ink)}.d2 .story-panel .button{background:var(--ink);color:var(--paper)}.d2 .contact h2{font-family:inherit;font-weight:800;font-size:clamp(60px,9vw,140px);max-width:800px}.d2 .mini-mark{font-family:Manrope;font-weight:800}
/* Direction 03: warm, human, quietly expressive. */
.d3{--paper:#faf4ea;--ink:#48382c;--accent:#edc7a9;--line:#48382c30}.d3 .site-header{height:105px;border-color:var(--line)}.d3 .hero{height:auto;min-height:740px;padding:45px 6% 100px;display:grid;grid-template-columns:1.15fr 1fr;gap:5%;align-items:center}.d3 .hero-copy h1{font-family:Fraunces,serif;font-size:clamp(55px,5.6vw,88px);line-height:1.05;letter-spacing:-.06em}.d3 .hero-copy h1 em{color:#a75335}.d3 .hero-intro{max-width:340px}.warm-photo{height:550px;border-radius:240px 240px 0 0;overflow:hidden;position:relative}.warm-photo img{width:100%;height:100%;filter:brightness(.8);object-position:55%}.photo-note{position:absolute;bottom:42px;left:32px;color:#fff8ea;font-family:Fraunces,serif;font-size:32px;line-height:1.12;letter-spacing:-.04em}.photo-note>span{display:block;font:8px Manrope;letter-spacing:.16em;margin-top:22px}.d3 .button{border-radius:40px}.d3 .about{background:#efe7d9}.d3 .story-panel{background:#a75335;color:#fff7ed}.d3 .contact{background:#ead3bd}.d3 .contact h2{max-width:none}.d3 .story-panel>img{order:2}.d3 .story-panel>div{order:1}
/* Gallery is a presentation, with actual website captures. */
.gallery{background:#f0eee7;color:#25392f}.gallery-header{display:flex;justify-content:space-between;align-items:center;margin:0 5%;padding:32px 0;border-bottom:1px solid #25392f30}.studio{font-size:20px;font-weight:800;letter-spacing:.02em}.studio span,.gallery-header>p span{display:block;font-size:8px;letter-spacing:.16em;margin-top:7px;font-weight:500}.gallery-header>p{text-align:right;font-size:10px}.gallery-main{padding:50px 5% 0}.gallery-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}.gallery-intro h1{font-size:clamp(35px,4.1vw,64px);margin-top:20px}.gallery-intro>p{max-width:250px;font-size:12px;padding-bottom:6px}.gallery-intro em{color:#737f60}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.preview{position:relative;overflow:hidden;background:#d7d8cc;aspect-ratio:4/5;box-shadow:0 10px 30px #2332250a}.preview>img{width:100%;height:100%;transition:transform .6s}.choice:hover .preview>img{transform:scale(1.025)}.explore{position:absolute;bottom:14px;left:14px;right:14px;background:#f8f7ef;display:flex;justify-content:space-between;align-items:center;padding:13px 16px;font-size:11px;transform:translateY(80px);transition:transform .25s}.explore span{font-size:20px}.choice:hover .explore,.choice:focus-visible .explore{transform:translateY(0)}.choice-title{display:flex;gap:15px;align-items:flex-start;margin-top:20px}.choice-title>span:first-child{font-size:10px;margin-top:5px;color:#6e785b}.choice-title h2{font-size:22px;letter-spacing:-.045em;font-weight:600}.choice-title p{font-size:10px;margin-top:8px}.choice-title>span:last-child{margin-left:auto;font-size:25px;line-height:1}.gallery-end{display:flex;justify-content:space-between;margin-top:50px;border-top:1px solid #25392f30;padding:26px 0}.gallery-end>span{font-size:9px;letter-spacing:.12em}.gallery-end>p{font-size:11px}.gallery-footer{display:flex;justify-content:space-between;padding:20px 5%;font-size:9px;border-top:1px solid #25392f30}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-copy>.eyebrow{animation:rise .7s both}.hero-copy>h1{animation:rise .85s .08s both}.hero-copy>.hero-intro{animation:rise .85s .17s both}.hero-copy>.button{animation:rise .85s .25s both}.gallery-intro{animation:rise .7s both}.choice{animation:rise .7s .1s both}.choice:nth-child(2){animation-delay:.2s}.choice:nth-child(3){animation-delay:.3s}
@media(min-width:1500px){.hero{min-height:740px}.d3 .hero{min-height:820px}.warm-photo{height:650px}}
@media(max-width:1050px){.concept-label{display:none}.concept-bar nav a{padding:0 8px}.desktop-nav{gap:20px}.hero{min-height:620px}.d1 .hero-copy{padding-top:70px}.about-bottom{display:block}.about-bottom a{margin-top:24px}.section-pad{padding:70px 5%}.services{gap:5%}.process{display:block}.steps{margin-top:20px}.d3 .hero{min-height:660px}.warm-photo{height:480px}.d3 .hero-copy h1{font-size:59px}.gallery-intro{align-items:flex-start}.gallery-intro>p{max-width:190px}.choices{gap:18px}.choice-title{gap:10px}.choice-title h2{font-size:18px}}
@media(max-width:700px){html{scroll-padding-top:65px}.concept-bar{height:44px;padding:0 15px}.concept-bar nav{gap:6px}.concept-bar nav a{padding:0 12px;min-width:44px;justify-content:center}.concept-bar nav a span{display:none}.site-header,.d2 .site-header,.d3 .site-header{height:95px;margin:0 6%}.brand-symbol,.d2 .brand-symbol{font-size:48px}.brand-symbol>span:not(.brand-dot){font-size:29px}.brand-caption{font-size:7px;margin-top:9px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:20px;min-height:44px;border:0;background:none;color:inherit;font-size:12px;padding:5px}.menu-toggle span{font-size:24px}.mobile-menu{position:absolute;top:95px;left:0;right:0;z-index:10;background:var(--paper);color:var(--ink);padding:20px 6%;box-shadow:0 20px 25px #0002}.mobile-menu a{display:block;padding:14px 0;border-bottom:1px solid var(--line)}.hero{height:calc(100svh - 139px);min-height:590px;max-height:800px}.d1 .hero-copy{padding:60px 6%}.d1 .hero h1{font-size:clamp(54px,12.5vw,82px)}.hero-intro{font-size:13px;max-width:290px}.eyebrow{font-size:8px;letter-spacing:.14em}.hero-bottom{bottom:22px;align-items:flex-end;gap:20px}.hero-bottom>span{max-width:165px;font-size:8px}.hero-bottom a{font-size:9px;gap:15px}.cover{object-position:63% center}.d1 .opening:after{background:linear-gradient(90deg,#0b262ce8,#102b3288)}.button{min-height:52px;font-size:11px;gap:25px}.section-pad{padding:60px 6%}.about{display:block}.section-label{flex-direction:row;align-items:center;margin-bottom:30px;font-size:8px}.mini-mark{font-size:38px;letter-spacing:-4px}.about-copy h2{font-size:38px}.about-bottom p{font-size:13px}.about-bottom{margin-top:25px}.services{display:block}.service-list{margin-top:35px}.service-list strong{font-size:17px}.service-list summary{gap:12px;padding:24px 0}.service-text{font-size:11px}.story-panel{display:flex;flex-direction:column}.story-panel>img{height:320px;max-height:none}.story-panel>div{padding:55px 6%}.story-panel h2{font-size:39px;margin:25px 0}.steps{display:block;padding-top:10px}.steps article{padding:20px 0;margin-top:15px;display:grid;grid-template-columns:35px 1fr;gap:8px}.steps h3{margin:0;font-size:22px}.steps p{grid-column:2}.questions{display:block}.questions>div:last-child{margin-top:30px}.questions summary{font-size:12px}.contact h2{font-size:52px;margin:25px 0 30px}.contact-bottom{display:block}.contact-bottom .button{margin-top:25px}.contact-note{font-size:9px}.footer-top{flex-wrap:wrap;gap:30px;margin-bottom:30px}.footer-top p{font-size:10px}.footer-bottom{display:block;font-size:9px}.footer-bottom>a{display:inline-block;padding-top:15px;min-height:44px}.d2 .hero{height:auto;min-height:850px}.d2 .hero-copy{width:100%;padding:40px 6%}.d2 .hero h1{font-size:clamp(76px,18vw,125px);margin:23px 0}.d2 .hero-intro{max-width:270px}.business-photo{inset:490px 0 0 13%;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.photo-caption{font-size:7px;bottom:20px}.d2 .hero-bottom{left:6%;bottom:30px;right:auto;writing-mode:vertical-rl;max-height:240px}.d2 .hero-bottom>span{max-width:none}.d2 .contact h2{font-size:70px}.d3 .hero{padding:40px 6% 75px;display:block;min-height:0;max-height:none}.d3 .hero-copy h1{font-size:clamp(47px,11.5vw,73px)}.warm-photo{height:420px;width:90%;margin:40px auto 0}.d3 .hero-bottom{bottom:20px}.d3 .hero-bottom a{display:none}.photo-note{font-size:30px;left:25px}.d3 .story-panel>img{order:0}.d3 .story-panel>div{order:1}.gallery-header{padding:25px 0}.studio{font-size:17px}.studio span,.gallery-header>p span{font-size:6px}.gallery-header>p{font-size:8px}.gallery-main{padding-top:35px}.gallery-intro{display:block;margin-bottom:30px}.gallery-intro h1{font-size:37px}.gallery-intro>p{max-width:290px;margin-top:22px;font-size:12px}.choices{grid-template-columns:1fr;gap:40px}.choice-title h2{font-size:23px}.choice-title p{font-size:11px}.explore{transform:none}.gallery-end{display:block;margin-top:35px}.gallery-end>p{margin-top:15px}.gallery-footer{gap:20px;font-size:8px}.preview{aspect-ratio:4/5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
