/* The visual preview: brushed copper, generous composition, deliberate motion. */
:root{--accent:#dda87b;--project-ambient:#26362d;--gallery-light:#5c7662}
.stage{background:radial-gradient(ellipse at 18% 30%,#46352928,transparent 53%),radial-gradient(ellipse at 88% 52%,#36463e28,transparent 50%),#101319}
.stage::before{content:"";position:absolute;inset:10% 4%;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#9e765308,transparent 68%)}
.nav{border-bottom-color:#d1ad861a}.hero-specialty{color:#b7b7b1;letter-spacing:.16em}
.hero-contact,.inquiry-submit{background:linear-gradient(115deg,#c58d60 0%,#e1b691 38%,#bc8256 80%,#d3a078);border-color:#e6bf9b99;box-shadow:inset 0 1px 0 #ffe3c7b0,0 3px 0 #765139,0 9px 24px #0004;transition:transform .25s,box-shadow .25s}
.hero-contact:hover,.inquiry-submit:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffe3c7,0 5px 0 #765139,0 14px 30px #0006}
.hero-description{color:#bcbdbb}.hero-statement{letter-spacing:-.045em}
.hero-shortcuts a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}.hero-shortcuts a:hover{border-color:#c58d60}
.services{padding:120px 5% 125px;background:#15191b;border-top:1px solid #d3b49625}
.section-top{align-items:flex-start}.services>.section-top .eyebrow{color:#c79e7d}.section-note{color:#a9b0ab}
.services>h2{font-size:clamp(48px,6.8vw,100px);max-width:1120px;line-height:1.02;letter-spacing:-.055em;margin:34px 0 72px}
.services h2 span{color:#a4b1a6}.service-grid{gap:28px;perspective:none}
.service-card{padding:38px;border-radius:14px;border-color:#ffffff24;background:radial-gradient(ellipse at 0 0,#84958813,transparent 75%),#22292b;box-shadow:inset 0 1px 0 #ffffff12,0 3px 0 #0c1012,0 16px 35px #0002;transition:transform .5s cubic-bezier(.2,.7,.2,1),border-color .5s,box-shadow .5s}
.service-card[data-active=true]{transform:translateY(-5px);border-color:#c9a98980;box-shadow:inset 0 1px 0 #ffffff22,0 5px 0 #0c1012,0 26px 45px #0004}
.service-card .service-body{min-height:315px;padding-bottom:35px}.service-card h3{font-size:clamp(32px,3.4vw,51px);font-weight:430;letter-spacing:-.045em;line-height:1.08;max-width:510px}
.service-card .service-body>p{font-size:16px;line-height:1.75;max-width:425px;color:#c2c9c6}
.card-heading{margin-bottom:34px}.card-cross{font-size:27px;color:#ceaa8c;transition:transform .6s}.service-card[data-active=true] .card-cross{transform:rotate(90deg)}
.local-card{background:radial-gradient(ellipse at 0 0,#f4f4df88,transparent 75%),#bdcbb8;border-color:#e0e7d5a8;color:#23382c;box-shadow:inset 0 1px 0 #fff8,0 3px 0 #6b816a,0 16px 35px #0002}
.local-card .service-body>p{color:#435b48}.local-card .service-type,.local-card .card-cross{color:#4a624d}.local-card[data-active=true]{border-color:#fff9;box-shadow:inset 0 1px 0 #fff8,0 5px 0 #6b816a,0 26px 45px #0004}
.ads-card{background:radial-gradient(ellipse at 100% 0,#8c57432b,transparent 75%),#2b2627}.income-card{background:radial-gradient(ellipse at 100% 0,#647e852d,transparent 75%),#23353a;border-color:#829a9f50}
.word-arena .dvd-runner,.local-card .dvd-runner{opacity:.09;transition:opacity .7s}.service-card[data-active=true] .dvd-runner{opacity:.26}.local-card[data-active=true] .dvd-runner{opacity:.31}
.service-motion-toggle{font-size:12px;padding:9px 12px;background:transparent;border-color:#ffffff26;border-radius:20px;color:#b9beb8}
.service-card .service-details{gap:13px;padding-top:23px;border-top-color:#b4bfb32e}.service-example-link{border:0;border-bottom:1px solid #c2a78b45;border-radius:0;box-shadow:none;background:transparent;padding:12px 0 19px;margin:0 0 9px;font-size:17px}.service-example-link small{margin-top:7px;font-size:12px}.service-example-link:hover,.local-card .service-example-link:hover{background:transparent}
.local-card .service-example-link{background:transparent;box-shadow:none;border-bottom-color:#3e5b4b48}.service-link{font-size:13px}.service-includes{font-size:13px}

/* A broad gallery with real client imagery, rather than another row of panels. */
.selected-work{position:relative;isolation:isolate;overflow:clip;padding:120px 5% 100px;background:#17221e;border-top:1px solid #afc2a82b;scroll-margin-top:0}
.gallery-ambience{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 30%,var(--gallery-light),transparent 68%);opacity:.24;transition:background 1s,opacity .8s}
.selected-work::after{content:"";position:absolute;left:5%;right:5%;top:52px;height:1px;background:linear-gradient(90deg,#c9ae864f,transparent);pointer-events:none}
.work-heading{gap:50px;align-items:flex-end;margin-bottom:82px}.work-heading h2{font-size:clamp(64px,8.5vw,132px);letter-spacing:-.065em;line-height:.96;font-weight:430;max-width:850px}.work-heading h2 span{display:block;color:#bdad94}
.work-heading .eyebrow{color:#b8bbaa;letter-spacing:.18em;margin-bottom:30px}.work-heading>p{max-width:260px;line-height:1.8;color:#b7c1b7;padding-bottom:8px}
.portfolio-grid{gap:86px 44px}.portfolio-card{position:relative;perspective:1500px;--project-tint:#8c6955;--tilt-x:0deg;--tilt-y:0deg}
.portfolio-card:nth-child(even){padding-top:80px}.portfolio-card[data-project=zenwoods]{--project-tint:#7e9d73}.portfolio-card[data-project=santafe]{--project-tint:#b1944d}.portfolio-card[data-project=venetian]{--project-tint:#c4a454}
.portfolio-window{border-radius:10px;border:1px solid #e9dbbb45;background:#171d1b;box-shadow:0 2px 0 #111913,0 18px 34px #0005,0 50px 65px -35px #000a;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .5s,border-color .5s;will-change:auto}
.portfolio-card[data-active=true] .portfolio-window{border-color:var(--project-tint);box-shadow:0 3px 0 #0c100d,0 28px 50px #0008,0 0 70px -30px var(--project-tint);transform:translateY(-10px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
/* The window floats independently of pointer tilt, leaving captions steady. */
.portfolio-float{position:relative;transform-style:preserve-3d;transform-origin:50% 65%}
.portfolio-card[data-flutter=true] .portfolio-float{animation:portfolio-flutter 5.6s ease-in-out infinite}
.portfolio-window{position:relative}
.portfolio-window::before,.portfolio-window::after{content:"";position:absolute;pointer-events:none;z-index:3;border-radius:inherit}
.portfolio-window::before{inset:-50%;background:linear-gradient(112deg,transparent 42%,#ffe9cc05 46%,#fff0d524 50%,#ffe9cc05 54%,transparent 58%);transform:translateX(-75%);opacity:0}
.portfolio-window::after{inset:0;border:1px solid #f0d5a8;box-shadow:inset 0 0 16px #f5dcac16;opacity:0}
.portfolio-card[data-flutter=true] .portfolio-window::before{animation:portfolio-sheen 5.6s ease-in-out infinite}
.portfolio-card[data-flutter=true] .portfolio-window::after{animation:portfolio-edge 5.6s ease-in-out infinite}
@keyframes portfolio-flutter{
  0%,100%{transform:translate3d(0,0,0) rotateZ(0) rotateX(0) rotateY(0)}
  7%{transform:translate3d(-3px,-9px,14px) rotateZ(-1.4deg) rotateX(2.2deg) rotateY(-1.8deg)}
  15%{transform:translate3d(3px,-15px,22px) rotateZ(1.15deg) rotateX(-1.5deg) rotateY(1.6deg)}
  24%{transform:translate3d(-1px,-7px,10px) rotateZ(-.65deg) rotateX(1deg) rotateY(-.8deg)}
  37%{transform:translate3d(0,-10px,8px) rotateZ(.35deg) rotateX(-.5deg) rotateY(.5deg)}
  63%{transform:translate3d(2px,-4px,5px) rotateZ(-.35deg) rotateX(.5deg) rotateY(-.4deg)}
  82%{transform:translate3d(-1px,-8px,8px) rotateZ(.3deg) rotateX(-.4deg) rotateY(.4deg)}
}
@keyframes portfolio-sheen{0%,5%{transform:translateX(-75%);opacity:0}12%{opacity:.65}30%{transform:translateX(75%);opacity:0}100%{transform:translateX(75%);opacity:0}}
@keyframes portfolio-edge{0%,100%{opacity:0}8%{opacity:.36}16%{opacity:.12}25%{opacity:.28}45%,80%{opacity:.06}}
@media(hover:none),(pointer:coarse){
 .portfolio-card[data-flutter=true] .portfolio-float{animation-name:portfolio-float-touch;animation-duration:7s}
 .portfolio-card[data-flutter=true] .portfolio-window::before,.portfolio-card[data-flutter=true] .portfolio-window::after{animation-duration:7s}
 @keyframes portfolio-float-touch{0%,100%{transform:none}12%{transform:translateY(-4px) rotateZ(-.6deg)}26%{transform:translateY(-7px) rotateZ(.5deg)}42%{transform:translateY(-3px) rotateZ(-.2deg)}70%{transform:translateY(-5px) rotateZ(.2deg)}}
}
@media(prefers-reduced-motion:reduce){.portfolio-float{animation:none!important;transform:none!important}.portfolio-window::before,.portfolio-window::after{animation:none!important;display:none}}
.portfolio-window-bar{min-height:35px;padding:9px 15px;background:#1c2520;border-bottom:1px solid #ffffff13;font-size:10px;letter-spacing:.04em;color:#bdc6bc}
.portfolio-window-bar>span:last-child{color:#cdb893}.portfolio-thumbnail{aspect-ratio:8/5}.portfolio-placeholder{padding:0;display:block;background:#1c2520}.portfolio-placeholder img{display:block;width:100%;height:100%;object-fit:cover}.portfolio-placeholder>span{position:absolute;left:20px;bottom:20px;display:none}
.portfolio-miniature{opacity:0;transition:opacity .65s}.portfolio-card[data-preview-ready=true] .portfolio-miniature{opacity:1}
.portfolio-expand{padding:20px;background:linear-gradient(transparent 68%,#10170e66)}.portfolio-expand>span{border-radius:30px;padding:12px 17px;border-color:#e4d3b766;background:#19201def;backdrop-filter:blur(8px);font-size:12px;transition:transform .3s,background .3s}
.portfolio-card[data-active=true] .portfolio-expand>span{transform:translateY(-3px);background:#e1d5b9;color:#202a23}
.portfolio-caption{padding-top:30px}.project-kind{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#b9ac8e;margin-bottom:13px}.portfolio-caption h3{font-size:clamp(30px,3.4vw,49px);font-weight:440;letter-spacing:-.045em;margin-bottom:17px}.portfolio-caption p{font-size:15px;line-height:1.8;color:#b5c0b6;max-width:490px}
.portfolio-credit{font-size:12px;letter-spacing:.03em;color:#a3ad9e;margin-top:85px;padding-top:28px;border-color:#d7dfca29}
.portfolio-dialog{border-color:#d0bb8b66;background:#19221d;transform-origin:0 0;box-shadow:0 30px 120px #000b}
.portfolio-dialog::backdrop{background:color-mix(in srgb,var(--project-ambient) 72%,#030605);backdrop-filter:blur(12px)}
.portfolio-dialog-bar{background:linear-gradient(110deg,var(--project-ambient),#1b2421);border-color:#ffffff24}.portfolio-dialog-bar p{color:#d2bea0}.portfolio-dialog-hint{background:#1a221e}
#portfolio-dialog-loading{background:#19221d;color:#d1c0a5}

/* The office layers retain their shared, calibrated laptop projection. */
.office-backdrop-layer,.office-foreground-layer{position:absolute;inset:0;width:1536px;height:1024px;max-width:none;pointer-events:none;transform-origin:768px 570px;will-change:transform}
.office-backdrop-layer{mask-image:linear-gradient(#000 0 34%,transparent 43%);transform:translate(var(--back-x,0px),var(--back-y,0px)) scale(var(--back-scale,1))}
.office-foreground-layer{clip-path:path('M 0 826 C 124 882 263 922 418 926 C 461 915 514 915 549 920 L 563 1024 L 0 1024 Z');transform-origin:0 1024px;transform:scale(var(--front-scale,1))}
.office-family-photo{translate:var(--back-x,0px) var(--back-y,0px)}
.office-screen-spill{position:absolute;left:480px;top:663px;width:580px;height:117px;pointer-events:none;background:radial-gradient(ellipse,var(--spill-color,#adc8d0),transparent 67%);mix-blend-mode:screen;opacity:var(--spill-opacity,0);filter:blur(12px);transform:perspective(400px) rotateX(35deg);transition:background .7s}
.desk-topline>span:last-child{letter-spacing:.18em}.desk-chapters button{transition:color .25s,border-color .25s}.desk-chapters button.current{border-bottom-width:2px}

/* Personal introduction opens up; contact becomes a warm, full-width finish. */
.working-together{padding:110px 7% 105px;background:#191d1c}.about-intro{background:none;border:0;border-radius:0;box-shadow:none;padding:0;grid-template-columns:.82fr 1.18fr;gap:9vw}
.about-portrait{max-width:380px}.about-portrait img{border-radius:6px 6px 80px 6px;border:1px solid #d9b99940;box-shadow:20px 24px 0 -1px #242d26,20px 24px 0 0 #bfa1844d,0 30px 70px #0005}
.about-portrait figcaption{margin-top:48px}.about-copy h2{font-size:clamp(40px,5.6vw,80px);line-height:1.02;letter-spacing:-.055em;max-width:620px}.about-copy p{font-size:17px;line-height:1.8;max-width:580px}.about-copy .eyebrow{font-size:10px;letter-spacing:.17em;color:#c9ac8f;margin-bottom:28px}
.portrait-surface{position:relative;isolation:isolate;border-radius:6px 6px 80px 6px;border:1px solid #d9b99940;box-shadow:20px 24px 0 -1px #242d26,20px 24px 0 0 #bfa1844d,0 30px 70px #0005}
.portrait-surface img{border:0;border-radius:inherit;box-shadow:none}
#portrait-doodle{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;pointer-events:auto;touch-action:none;user-select:none;-webkit-touch-callout:none;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M5 26 10 16 22 4 28 10 16 22Z' fill='%23171717' stroke='%23eadbc5' stroke-width='1.2'/%3E%3Cpath d='m5 26 5-10 6 6Z' fill='%230b0b0b'/%3E%3Cpath d='m18 8 6 6' stroke='%23dda87b' stroke-width='3'/%3E%3C/svg%3E") 5 26,crosshair}
.doodle-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:43px}
.doodle-controls button{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:8px 13px;border:1px solid #a38f7655;border-radius:22px;background:#202823;color:#d4c3ac;font:inherit;font-size:12px;cursor:pointer}
.doodle-controls button:hover{background:#2b342d;border-color:#cbb28d}
.doodle-controls button:focus-visible{outline:2px solid #e1b691;outline-offset:3px}
.doodle-controls button:disabled{opacity:.4;cursor:default}
.about-portrait:has(.doodle-controls) figcaption{margin-top:24px}
@media(pointer:coarse){.doodle-controls button{min-height:44px}}
.process-heading{margin-top:110px}.working-steps{border-top-color:#cfb79845}.working-steps li{padding-top:32px}.step-number{color:#c8a887;font-size:25px;font-weight:350;letter-spacing:-.05em;margin-bottom:34px}.working-faq{margin-top:65px;padding-top:60px}
.contact{padding:0;background:#ba8f6d}.contact-surface{border-radius:0;border:0;box-shadow:none;background:radial-gradient(ellipse at 0 10%,#efcda170,transparent 60%),#bb9576}
.contact-layout{padding:95px 7%;grid-template-columns:.95fr 1.05fr;gap:7vw}.contact-copy{top:45px}.contact-copy h2{font-size:clamp(46px,5.8vw,88px);line-height:1.02;letter-spacing:-.06em;margin-top:28px;max-width:600px}.contact-copy h2 span{color:inherit}.contact-copy>p:not(.eyebrow){color:#503c2e}.contact-watermark{font-size:clamp(100px,16vw,230px);opacity:.32;margin-top:85px;transform:rotate(-8deg);color:#936b4d;text-shadow:1px 1px 0 #ffe1bc77,-1px -1px 0 #80583955}
.inquiry-form{border-radius:10px;box-shadow:0 5px 0 #614b39,0 25px 65px #5b362b45;padding:36px;background:linear-gradient(130deg,#282d2b,#191f1c);border-color:#e7cfab55}.inquiry-form h3{font-size:30px;letter-spacing:-.04em}.form-intro{font-size:15px}.inquiry-form input:not([type=radio]):not([type=checkbox]),.inquiry-form textarea{border-color:#a99e885e;background:#131a17;border-radius:4px}.service-options label>span{font-size:12px;border-color:#a99e8870}.contact-next{border-color:#66452e4d}
footer{background:#121814;border-top:1px solid #c5b19026;padding-block:45px}footer>span{color:#a5ac9f}
.reveal-ready{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:no-preference){.reveal-pending{opacity:0;transform:translateY(30px)}.reveal-ready{transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}}
@media(max-width:1050px){.work-heading{display:block}.work-heading>p{margin-top:26px;max-width:440px}.portfolio-grid{column-gap:25px}.contact-layout{grid-template-columns:1fr;gap:50px}.contact-watermark{display:none}.contact-copy{position:static}.inquiry-form{max-width:760px}.about-intro{gap:6vw}}
@media(max-width:850px){.services{padding:72px 6% 80px}.services>h2{font-size:clamp(42px,7.5vw,65px);margin:25px 0 43px}.service-grid{gap:24px}.service-card{padding:30px}.service-card .service-body{min-height:290px}.service-card h3{font-size:40px}.service-card[data-active=true]{transform:translateY(-3px)}.selected-work{padding:78px 6% 65px}.selected-work::after{top:30px}.work-heading{margin-bottom:42px}.work-heading h2{font-size:clamp(62px,11vw,95px)}.portfolio-grid{gap:48px 24px}.portfolio-card:nth-child(even){padding-top:35px}.working-together{padding:70px 7%}.about-intro{grid-template-columns:1fr;gap:54px}.about-portrait{max-width:300px;margin-inline:auto}.about-copy h2{font-size:52px}.process-heading{margin-top:70px}.step-number{font-size:21px}.contact-layout{padding:65px 7%;gap:37px}.contact-copy h2{font-size:60px}.inquiry-form{padding:28px}.portfolio-credit{margin-top:50px}}
@media(max-width:700px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card:nth-child(even){padding-top:0}.portfolio-caption h3{font-size:36px}.portfolio-window{transform:none}.portfolio-card[data-active=true] .portfolio-window{transform:translateY(-4px)}.portfolio-caption{padding-top:24px}.portfolio-dialog{height:94dvh;width:96vw}.portfolio-dialog-bar{padding:14px 16px}.portfolio-dialog-actions{gap:8px}.portfolio-dialog-hint{font-size:10px}.about-copy h2{font-size:46px}}
@media(max-width:480px){.hero-specialty{font-size:8px;letter-spacing:.1em}.services>h2{font-size:41px;line-height:1.08;letter-spacing:-.05em}.section-top{display:block}.service-card{padding:27px 24px}.service-card h3{font-size:36px}.service-card .service-body{min-height:315px}.service-card .service-body>p{font-size:15px}.work-heading h2{font-size:64px}.work-heading>p{font-size:15px}.portfolio-caption p{font-size:14px}.portfolio-expand{padding:13px}.portfolio-expand>span{font-size:11px}.about-copy h2{font-size:42px}.about-copy p{font-size:16px}.working-steps li,.working-steps li+li,.working-steps li:nth-child(3){padding:25px 0 26px 46px}.step-number{top:24px;margin:0}.contact-copy h2{font-size:52px}.contact-layout{padding:55px 6%}.inquiry-form{padding:26px 20px}.inquiry-form h3{font-size:27px}footer{padding-block:30px}}
@media(prefers-reduced-motion:reduce){.service-card,.portfolio-window,.portfolio-miniature,.hero-contact,.inquiry-submit,.dvd-runner,.card-cross,.gallery-ambience,.portfolio-expand>span{transition:none!important;transform:none!important}.office-backdrop-layer,.office-foreground-layer{transform:none}.reveal-pending{opacity:1;transform:none}}
