@font-face{font-family:"Abril Fatface";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/abril-fatface-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/hanken-grotesk-latin-wght-normal.woff2) format("woff2")}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#154031;color:#DBC496}
img{max-width:100%}
.gv-root{background:#154031;color:#DBC496;font-family:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:18px;line-height:1.6}
.gv-skip{position:absolute;left:-999px;top:8px;background:#D7A64C;color:#1B1B1B;padding:12px 18px;font-weight:700;z-index:10}
.gv-skip:focus{left:8px}
:focus-visible{outline:3px solid #D7A64C;outline-offset:3px}
.gv-sand :focus-visible{outline-color:#154031}
html:focus-within{scroll-padding-top:16px}
section[id]{scroll-margin-top:12px}


a{color:#154031}
a:hover{color:#0f3125}
.gv-sand a{color:#154031}
.gv-green a.gv-link{color:#DBC496}
.gv-green a.gv-link:hover{color:#D7A64C}
.gv-btn:hover{background:#e6b560}
summary{list-style:none}
summary::-webkit-details-marker{display:none}
details[open] .gv-plus{transform:rotate(45deg)}
.gv-icon{position:absolute;right:-90px;top:40px;height:min(860px,120%);width:auto;max-width:none}

@media (prefers-reduced-motion:no-preference){
@supports (animation-timeline:view()){
.gv-rise{animation:gvrise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
.gv-drift{animation:gvdrift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
.gv-icon{animation:gvicon linear both;animation-timeline:scroll(root);animation-range:0 900px}
@keyframes gvrise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes gvdrift{from{transform:translateY(36px)}to{transform:translateY(-36px)}}
@keyframes gvicon{from{transform:rotate(0) translateY(0)}to{transform:rotate(-7deg) translateY(60px)}}
}}



/* header */
.gv-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 0}
.gv-logo{display:block}
.gv-logo img{display:block;width:190px;height:auto}
.gv-nav{display:flex;flex-wrap:wrap;align-items:center;gap:6px 28px;font-weight:500}
.gv-navlink{color:#DBC496;text-decoration:none;padding:10px 0}
.gv-menu-toggle,.gv-burger{display:none}
/* wave edges: fixed tile size, so the teeth keep their shape at any width */
.gv-edge{height:34px;background-repeat:repeat-x;background-position:center bottom;background-size:68px 34px;margin-top:-1px}
.gv-edge-sand{background-color:#154031;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='68' height='34' viewBox='0 0 68 34'%3E%3Cpath d='M0 34C18 34 28 20 34 0C40 20 50 34 68 34Z' fill='%23DBC496'/%3E%3C/svg%3E")}
.gv-edge-green{background-color:#DBC496;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='68' height='34' viewBox='0 0 68 34'%3E%3Cpath d='M0 34C18 34 28 20 34 0C40 20 50 34 68 34Z' fill='%23154031'/%3E%3C/svg%3E")}
.gv-icon{opacity:1}
@media (max-width:900px){
  .gv-pad{padding-left:20px!important;padding-right:20px!important}
  .gv-header{position:static;display:grid;grid-template-columns:48px 1fr 48px;padding:16px 0}
  .gv-logo{grid-column:2;justify-self:center}
  .gv-logo img{width:170px}
  .gv-menu-toggle{display:block;grid-column:3;grid-row:1;justify-self:end;width:48px;height:48px;margin:0;opacity:0;cursor:pointer;position:relative;z-index:3}
  .gv-burger{display:block;grid-column:3;grid-row:1;justify-self:end;width:48px;height:48px;position:relative;z-index:2}
  .gv-burger span{position:absolute;left:11px;right:11px;height:2px;background:#DBC496;border-radius:2px;transition:transform .25s,opacity .2s}
  .gv-burger span:nth-child(1){top:16px}.gv-burger span:nth-child(2){top:23px}.gv-burger span:nth-child(3){top:30px}
  .gv-menu-toggle:focus-visible~.gv-burger{outline:3px solid #D7A64C;outline-offset:2px;border-radius:6px}
  .gv-menu-toggle:checked~.gv-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .gv-menu-toggle:checked~.gv-burger span:nth-child(2){opacity:0}
  .gv-menu-toggle:checked~.gv-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .gv-nav{display:none;position:absolute;top:auto;left:0;right:0;z-index:4;flex-direction:column;align-items:center;gap:0;padding:8px 0 20px;background:#0f3125;box-shadow:0 18px 30px rgba(0,0,0,.25)}
  .gv-menu-toggle:checked~.gv-nav{display:flex}
  .gv-navlink{display:block;width:100%;text-align:center;font-size:20px;padding:14px 0;min-height:52px}
  /* hero */
  .gv-icon{inset:0;right:auto;top:0;bottom:auto;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;opacity:.13}
  .gv-hero-copy{max-width:none!important;margin:0 auto;text-align:center;padding:clamp(40px,10vw,72px) 0 clamp(72px,16vw,112px)!important}
  .gv-hero-copy p{margin-left:auto!important;margin-right:auto!important}
  .gv-cta-row{flex-direction:column;justify-content:center;gap:10px!important}
  .gv-edge{height:30px;background-size:60px 30px}
}


@media (max-width:900px){
  /* projects: title, picture, description */
  .gv-proj{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:0!important}
  .gv-proj>img{order:1;width:100%;height:auto;max-width:100%!important;flex:none!important;margin-top:20px}
  .gv-ptext{display:contents}
  .gv-ptext>h3{order:0;margin:0!important}
  .gv-pair{order:2;flex:none!important;display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important;margin-top:12px}
  .gv-pair img{width:100%;height:auto;max-width:100%!important;flex:none!important}
  .gv-ptext>p{order:3;margin:20px 0 10px!important}
  .gv-ptext>a{order:4;align-self:flex-start;padding:6px 0}
  /* image strips: even columns, no stagger */
  .gv-strip{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important;align-items:start!important}
  .gv-strip img{width:100%;height:auto;max-width:100%!important;margin-top:0!important;flex:none!important}
  .gv-strip3>:first-child{grid-column:1 / -1}
  /* contact + footer */
  #contact .gv-pad{text-align:center}
  #contact h2,#contact p{margin-left:auto!important;margin-right:auto!important}
  #contact .gv-pad>div{flex-direction:column;justify-content:center!important;gap:16px!important}
  #contact .gv-pad>div a:last-child{overflow-wrap:anywhere}
  footer .gv-pad{flex-direction:column!important;justify-content:center!important;text-align:center;gap:20px!important;padding-top:48px!important;padding-bottom:48px!important}
  footer p{max-width:22em}
  footer nav{justify-content:center;gap:4px 24px!important}
  footer a{padding:10px 0!important}
}

.legal{background:#DBC496;color:#154031;font-family:"Hanken Grotesk",system-ui,sans-serif;line-height:1.65}
.legal main{max-width:760px;margin:0 auto;padding:clamp(40px,7vw,96px) 24px}
.legal h1,.legal h2{font-family:"Abril Fatface",Georgia,serif;font-weight:400;line-height:1.05}
.legal h1{font-size:clamp(40px,7vw,72px);margin:0 0 24px}
.legal h2{font-size:clamp(26px,3.4vw,34px);margin:40px 0 8px}
.legal a{color:#154031;font-weight:700}
.legal-top{background:#154031;padding:20px 24px}
.legal-top a{display:inline-block}
.legal-foot{background:#0f3125;color:#cdbf9f;padding:28px 24px;font-size:15px;font-family:"Hanken Grotesk",system-ui,sans-serif}
.legal-foot a{color:#DBC496}
.btn{display:inline-flex;align-items:center;min-height:54px;padding:0 30px;border-radius:999px;background:#154031;color:#DBC496!important;font-weight:700;text-decoration:none}

@media (prefers-reduced-motion:no-preference){
html.no-st .gv-rise{opacity:0;transform:translateY(32px);transition:opacity .7s ease-out,transform .7s cubic-bezier(.16,1,.3,1)}
html.no-st .gv-rise.in{opacity:1;transform:none}
}
@media print{.gv-rise,.gv-drift,.gv-icon{animation:none!important;opacity:1!important;transform:none!important}}
body.legal{min-height:100vh;display:flex;flex-direction:column}
body.legal main{flex:1;width:100%}
.legal-center main{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:none}
.legal-center h1{margin-bottom:16px}
.legal-center p{margin:0 0 20px}
