/* Urban Web — Pacific Workshop Final Art Direction */
:root{
  --uw-ink:#17363a;
  --uw-ink-2:#102a2d;
  --uw-cedar:#28533d;
  --uw-cedar-deep:#1f4332;
  --uw-kelp:#61754a;
  --uw-orange:#d76332;
  --uw-salmon:#e8845c;
  --uw-seaglass:#5f8f8b;
  --uw-paper:#f4ebdd;
  --uw-paper-2:#e7ddc9;
  --uw-white:#fffdf8;
  --uw-drift:#b89e7b;
  --uw-body:#2d3d3c;
  --uw-shadow:0 22px 60px rgba(16,42,45,.13);
}
html{scroll-behavior:smooth;background:var(--uw-paper)}
body{background:var(--uw-paper);color:var(--uw-body);text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}

/* Header */
.site-header{background:rgba(255,253,248,.94)!important;border-bottom:1px solid rgba(23,54,58,.12)!important;backdrop-filter:blur(14px);box-shadow:0 8px 28px rgba(16,42,45,.06)}
.brand-wordmark{color:var(--uw-ink)!important}.brand-wordmark span{color:var(--uw-orange)!important}.brand-copy small{color:var(--uw-cedar)!important;letter-spacing:.17em!important}
.desktop-nav .nav-link,.services-menu summary{color:var(--uw-ink)!important}.desktop-nav .nav-link:hover,.services-menu summary:hover,.nav-link.is-active{color:var(--uw-orange)!important}

/* Hero: one continuous composition */
.hero{min-height:clamp(680px,82vh,900px)!important;background:var(--uw-ink)!important;isolation:isolate;overflow:hidden}
.hero figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,35,38,.93) 0%,rgba(12,35,38,.82) 28%,rgba(12,35,38,.46) 52%,rgba(12,35,38,.08) 74%,rgba(12,35,38,0) 100%),linear-gradient(0deg,rgba(12,35,38,.36) 0%,rgba(12,35,38,0) 38%);z-index:1}
.hero figure img{filter:saturate(1.09) contrast(1.03) brightness(1.04)!important;object-position:center 52%!important}
.hero-copy{position:relative;z-index:3;max-width:760px!important;padding-top:clamp(8rem,14vh,10.5rem)!important;padding-bottom:8rem!important}
.hero-copy .eyebrow{color:#fff2df!important;font-size:.84rem!important;letter-spacing:.19em!important;border-left:3px solid var(--uw-orange);padding-left:1rem;text-shadow:0 2px 14px rgba(0,0,0,.3)}
.hero-title-option-one{max-width:760px!important;color:#fff!important;text-shadow:0 4px 24px rgba(0,0,0,.35)!important}
.hero-kicker-line{font-size:clamp(1.05rem,1.5vw,1.35rem)!important;letter-spacing:.04em!important;color:#f6e9d4!important;font-weight:600!important;margin-bottom:.45rem!important}
.hero-main-line{font-size:clamp(3.7rem,7vw,7.3rem)!important;line-height:.91!important;letter-spacing:-.055em!important;font-weight:850!important}
.hero-since-line{font-size:clamp(1rem,1.4vw,1.25rem)!important;color:#ffd8bf!important;letter-spacing:.13em!important;margin-top:1rem!important}
.hero .lede{font-size:clamp(1.05rem,1.45vw,1.26rem)!important;line-height:1.7!important;max-width:650px!important;color:rgba(255,255,255,.94)!important;text-shadow:0 2px 16px rgba(0,0,0,.32)!important}
.hero-actions{gap:.8rem!important}.hero .button{border-radius:0!important;box-shadow:7px 7px 0 rgba(215,99,50,.32)!important}.hero .button.outline{background:rgba(255,253,248,.08)!important;border-color:rgba(255,255,255,.72)!important;color:#fff!important;box-shadow:none!important}
.hero-scroll-cue{color:#fff!important;opacity:.86!important}
.gecko-walk,.gecko-walk-track,.gecko-walker{display:none!important}
.since-badge{z-index:4!important;background:rgba(255,253,248,.95)!important;color:var(--uw-ink)!important;border:2px solid var(--uw-orange)!important;box-shadow:8px 8px 0 rgba(16,42,45,.25)!important;transform:rotate(2deg)!important;text-shadow:none!important}.since-badge strong{color:var(--uw-orange)!important}

/* Proof strip */
.trust-strip{background:var(--uw-white)!important;border-top:1px solid rgba(23,54,58,.12)!important;border-bottom:1px solid rgba(23,54,58,.12)!important;gap:0!important}
.trust-strip p{position:relative;padding:1.9rem 2rem!important}.trust-strip p:not(:last-child):after{content:"";position:absolute;right:0;top:26%;height:48%;width:2px;background:var(--uw-orange);transform:rotate(7deg);opacity:.55}.trust-strip strong{color:var(--uw-ink)!important}.trust-strip span{color:#526462!important}

/* Services: warm field notebook */
.service-section{background:var(--uw-paper)!important;position:relative;overflow:hidden;padding-top:clamp(6rem,9vw,9rem)!important;padding-bottom:clamp(6rem,9vw,9rem)!important}
.service-section:before{content:"48°25′N  ·  123°22′W";position:absolute;right:2.2rem;top:2rem;color:rgba(23,54,58,.36);font-size:.72rem;letter-spacing:.18em;writing-mode:vertical-rl}
.service-section>header{max-width:780px!important;margin-bottom:3.7rem!important}.service-section .eyebrow{color:var(--uw-orange)!important}.service-section h2{color:var(--uw-ink)!important;font-size:clamp(2.4rem,5vw,4.8rem)!important;line-height:.98!important;letter-spacing:-.045em!important;max-width:870px!important}
.service-grid{gap:1.2rem!important;counter-reset:services}
.service-grid article{counter-increment:services;background:var(--uw-white)!important;border:1px solid rgba(23,54,58,.15)!important;border-radius:0!important;padding:2.2rem!important;box-shadow:8px 8px 0 rgba(40,83,61,.09)!important;position:relative;transition:transform .22s ease,box-shadow .22s ease!important}
.service-grid article:before{content:"0" counter(services);position:absolute;right:1.25rem;top:1rem;font-size:.72rem;letter-spacing:.14em;color:var(--uw-orange);font-weight:800}.service-grid article:nth-child(even){transform:translateY(12px)}.service-grid article:hover{transform:translate(-3px,-5px) rotate(-.25deg)!important;box-shadow:12px 14px 0 rgba(40,83,61,.13)!important}
.service-grid article>svg{color:var(--uw-orange)!important;width:34px!important;height:34px!important}.service-grid h3{color:var(--uw-ink)!important;font-size:1.35rem!important}.service-grid p{color:#334745!important;line-height:1.72!important}.service-grid a{color:var(--uw-cedar-deep)!important;font-weight:750!important;border-bottom:2px solid rgba(215,99,50,.45)}

/* Portfolio: editorial posters */
.portfolio-section{background:var(--uw-white)!important;padding-top:clamp(6rem,9vw,10rem)!important;padding-bottom:clamp(6rem,9vw,10rem)!important}
.portfolio-intro{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)!important;gap:3rem!important;align-items:end!important;max-width:1220px!important}.portfolio-intro .eyebrow,.portfolio-intro h2{grid-column:1}.portfolio-intro>p:last-child{grid-column:2;grid-row:1/3;color:#425653!important;font-size:1.08rem!important;line-height:1.75!important}.portfolio-intro h2{color:var(--uw-ink)!important;font-size:clamp(2.7rem,5.4vw,5.7rem)!important;line-height:.96!important;letter-spacing:-.052em!important}
.project-grid{display:grid!important;grid-template-columns:repeat(12,1fr)!important;gap:clamp(2rem,4vw,4.5rem)!important;margin-top:4.5rem!important}
.project-grid>article{grid-column:span 7;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}.project-grid>article:nth-child(even){grid-column:6/span 7;margin-top:5rem}.project-main-link{display:block!important;color:var(--uw-ink)!important}.project-browser{border-radius:0!important;border:1px solid rgba(23,54,58,.16)!important;box-shadow:var(--uw-shadow)!important;overflow:hidden!important;transform:rotate(-.35deg);transition:transform .24s ease,box-shadow .24s ease!important}.project-grid>article:nth-child(even) .project-browser{transform:rotate(.45deg)}.project-main-link:hover .project-browser{transform:rotate(0) translateY(-6px)!important;box-shadow:0 30px 70px rgba(16,42,45,.18)!important}.project-card-copy{padding:1.5rem 0 .75rem!important}.project-card-copy h3{font-size:clamp(1.65rem,2.7vw,2.65rem)!important;color:var(--uw-ink)!important}.project-service{color:var(--uw-orange)!important;font-weight:800!important;letter-spacing:.02em}.project-summary{max-width:680px!important;color:#415451!important;line-height:1.7!important}.project-main-link>span{color:var(--uw-cedar-deep)!important;font-weight:800!important}

/* Process: National Park trail */
.process-section{background:var(--uw-cedar)!important;color:var(--uw-white)!important;position:relative;overflow:hidden;padding-top:clamp(6rem,9vw,9rem)!important;padding-bottom:clamp(6rem,9vw,9rem)!important}
.process-section:before{content:"";position:absolute;inset:0;opacity:.075;background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent)}
.process-section>header{position:relative;z-index:1;max-width:800px!important}.process-section .eyebrow{color:#ffd4b6!important}.process-section h2{color:var(--uw-white)!important;font-size:clamp(2.6rem,5vw,5.2rem)!important;line-height:.98!important;letter-spacing:-.045em!important;text-shadow:0 3px 18px rgba(0,0,0,.2)!important}
.process-list{position:relative;z-index:1;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;margin-top:4rem!important;counter-reset:trail}
.process-list:before{content:"";position:absolute;left:8%;right:8%;top:2.05rem;border-top:3px dashed rgba(255,247,235,.48);transform:rotate(-1deg)}
.process-list li{counter-increment:trail;position:relative;padding:5.3rem 2rem 0!important;border:0!important;background:transparent!important;color:var(--uw-white)!important}.process-list li:before{content:"0" counter(trail);position:absolute;top:0;left:2rem;width:4.1rem;height:4.1rem;display:grid;place-items:center;border-radius:50%;background:var(--uw-orange);color:#fff;font-size:1rem;font-weight:900;letter-spacing:.08em;box-shadow:0 0 0 8px rgba(255,253,248,.08),5px 7px 0 rgba(16,42,45,.35)}.process-list strong{display:block!important;color:#fff8ee!important;font-size:1.35rem!important;margin-bottom:.7rem!important}.process-list span{display:block;color:rgba(255,253,248,.9)!important;line-height:1.7!important}

/* CTA: postcard */
.cta{background:var(--uw-paper-2)!important;color:var(--uw-ink)!important;border:1px solid rgba(23,54,58,.17)!important;border-radius:0!important;box-shadow:14px 14px 0 var(--uw-orange)!important;max-width:1180px!important;margin:clamp(5rem,9vw,9rem) auto!important;padding:clamp(3rem,6vw,6rem)!important;position:relative;overflow:hidden;transform:rotate(-.25deg)}
.cta:before{content:"POSTCARD · VICTORIA BC";position:absolute;right:1.6rem;top:1.25rem;font-size:.67rem;letter-spacing:.18em;color:rgba(23,54,58,.5)}.cta .script{font-family:inherit!important;font-size:clamp(2.4rem,5vw,5.4rem)!important;line-height:.98!important;letter-spacing:-.04em!important;color:var(--uw-ink)!important;max-width:780px!important}.cta .button{background:var(--uw-ink)!important;color:#fff!important;border-radius:0!important}

/* Footer */
.site-footer{background:var(--uw-ink-2)!important;color:#f8eddd!important;position:relative;overflow:hidden;padding-top:clamp(5rem,8vw,8rem)!important}.site-footer:before{content:"";position:absolute;left:0;right:0;top:0;height:65px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='65' viewBox='0 0 1200 65'%3E%3Cpath d='M0 45 C90 25 140 54 230 35 S390 20 470 42 620 52 720 29 880 22 960 40 1100 51 1200 28' fill='none' stroke='%23d76332' stroke-width='3' opacity='.65'/%3E%3C/svg%3E") center/cover no-repeat}.site-footer h2,.site-footer a{color:#fff5e6!important}.site-footer a:hover{color:#ffb080!important}.site-footer p,.site-footer span{color:rgba(255,245,230,.78)!important}.site-footer .copyright{border-top-color:rgba(255,255,255,.14)!important}

/* Interior page continuity */
.content-section,.blog-section,.faq-section,.pricing-section{background:var(--uw-paper)!important}.content-section.alt,.location-band,.split-band{background:var(--uw-white)!important}.content-section h1,.content-section h2,.blog-section h1,.blog-section h2,.faq-section h1,.faq-section h2,.pricing-section h1,.pricing-section h2{color:var(--uw-ink)!important}.content-section p,.blog-section p,.faq-section p,.pricing-section p{color:#354846}

/* Responsive */
@media(max-width:900px){
 .hero{min-height:760px!important}.hero figure:after{background:linear-gradient(0deg,rgba(11,33,36,.96) 0%,rgba(11,33,36,.78) 48%,rgba(11,33,36,.22) 78%,rgba(11,33,36,.08) 100%)!important}.hero figure img{object-position:66% center!important}.hero-copy{padding-top:8rem!important;padding-bottom:6rem!important;max-width:620px!important}.hero-main-line{font-size:clamp(3.2rem,12vw,5.6rem)!important}.since-badge{right:1.2rem!important;top:6.5rem!important;transform:rotate(2deg) scale(.84)!important;transform-origin:top right}
 .trust-strip{grid-template-columns:repeat(2,1fr)!important}.trust-strip p:nth-child(2):after{display:none}
 .portfolio-intro{display:block!important}.portfolio-intro>p:last-child{margin-top:1.5rem!important}.project-grid{display:block!important}.project-grid>article,.project-grid>article:nth-child(even){margin:0 0 4rem!important}.project-browser{transform:none!important}
 .process-list{grid-template-columns:1fr 1fr!important;gap:2.5rem 1rem!important}.process-list:before{display:none}.process-list li{padding-top:5.1rem!important}
}
@media(max-width:640px){
 .site-header{padding-left:1rem!important;padding-right:1rem!important}.brand-gecko{width:80px!important;height:auto!important}.brand-wordmark{font-size:1.45rem!important}.brand-copy small{font-size:.48rem!important}
 .hero{min-height:790px!important}.hero figure:after{background:linear-gradient(0deg,rgba(10,31,34,.98) 0%,rgba(10,31,34,.9) 54%,rgba(10,31,34,.35) 80%,rgba(10,31,34,.12) 100%)!important}.hero figure img{object-position:68% center!important}.hero-copy{padding:7rem 1.2rem 5.5rem!important}.hero-main-line{font-size:clamp(3rem,15vw,4.6rem)!important;line-height:.9!important}.hero-kicker-line{font-size:1rem!important}.hero .lede{font-size:1rem!important;line-height:1.62!important}.hero-actions{display:grid!important;grid-template-columns:1fr!important}.hero-actions .button{width:100%!important;text-align:center!important}.since-badge{position:absolute!important;top:auto!important;bottom:1.2rem!important;right:1.1rem!important;transform:rotate(2deg) scale(.72)!important}
 .trust-strip{grid-template-columns:1fr!important}.trust-strip p:after{display:none!important}.trust-strip p{border-bottom:1px solid rgba(23,54,58,.11)}
 .service-section:before{display:none}.service-grid{grid-template-columns:1fr!important}.service-grid article:nth-child(even){transform:none}.service-section h2,.portfolio-intro h2,.process-section h2{font-size:clamp(2.35rem,12vw,3.8rem)!important}
 .process-list{grid-template-columns:1fr!important;gap:1rem!important}.process-list li{padding:1rem 0 1rem 5.7rem!important;min-height:5rem}.process-list li:before{left:0;top:.5rem}.process-list strong{font-size:1.25rem!important}
 .cta{margin:4rem 1.1rem!important;box-shadow:8px 8px 0 var(--uw-orange)!important;transform:none;padding:3.2rem 1.5rem!important}.cta:before{position:static;display:block;margin-bottom:1.5rem}.cta .script{font-size:clamp(2.4rem,12vw,3.8rem)!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.service-grid article:hover,.project-main-link:hover .project-browser{transform:none!important}}
