/* Public website. Shared gutters align the navigation, hero and page sections. */
:root{--page-width:1760px;--gutter:clamp(24px,4vw,72px);--ink:#f7f2e9;--muted:#d8d0c6;--copper:#d77b43}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#17120d}
main{display:block;min-height:0}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid #ec9b65;outline-offset:6px}
.site-header,.hero,.hero-foot,.work-section,.services-section,.about-section,.site-footer{width:100%;max-width:var(--page-width);margin-inline:auto;padding-inline:var(--gutter)}
.hero-environment{position:relative;isolation:isolate;background:#17120d url('assets/studio-environment.webp') center bottom/cover no-repeat}
.hero-environment::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(12,11,9,.34),transparent 65%)}
.site-header{position:relative;z-index:5;min-height:90px;padding-block:22px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;font-size:20px;letter-spacing:-.6px;flex-shrink:0}
.brand-mark{font-size:40px;margin-right:12px;line-height:1}
.site-header nav{display:flex;gap:32px;font-size:14px;color:#e0d7ce}
.site-header nav a{display:inline-flex;align-items:center;min-height:44px}
.site-header nav a:hover{color:#f39959}
.header-cta{display:inline-flex;gap:20px;align-items:center;justify-content:center;min-height:44px;border:1px solid #a49380;border-radius:30px;padding:12px 20px;font-size:14px;background:rgba(23,18,13,.42)}
.header-cta:hover{border-color:#f1c7a7;background:#292018}
.hero{display:grid;grid-template-columns:minmax(0,41fr) minmax(0,59fr);align-items:center;min-height:620px;padding-block:26px;gap:12px}
.hero-copy{position:relative;z-index:2;min-width:0;padding-block:24px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#d4c5b5;margin:0 0 26px;line-height:1.6}
h1{font-size:clamp(40px,4vw,72px);font-weight:600;letter-spacing:-.055em;line-height:1.07;margin:0 0 28px;overflow-wrap:normal}
h1 span{color:var(--copper)}
.hero-description{font-size:17px;line-height:1.65;color:var(--muted);max-width:410px;margin:0}
.quality-note{font-size:14px;line-height:1.6;color:#d0c1b1;margin:14px 0 28px}
.primary-cta{display:inline-flex;gap:30px;align-items:center;justify-content:center;min-height:48px;background:#f2eade;color:#201810;border-radius:30px;padding:15px 23px;font-size:14px;transition:background .2s}
.primary-cta:hover{background:#f1c7a7}
.hero-art{position:relative;isolation:isolate;min-width:0;width:100%;background:transparent}
/* Match the ID specificity in home-motion.css: the stage must not paint a rectangle. */
.hero-art #copper-motion-demo{width:100%;margin:0;position:relative}
.hero-art #copper-motion-demo .ribbon-stage{width:100%;margin:0;background:transparent;overflow:visible}
/* Fade the photograph alone. Screens and copper stay whole and unmasked. */
.hero-art #copper-motion-demo .ribbon-backplate{
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 12%,#000 89%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 95%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 12%,#000 89%,transparent 100%);
 mask-composite:intersect;
}
#copper-motion-demo .ribbon-moving{opacity:.9}
/* Give the actual project screenshot more room without changing its proportions. */
#copper-motion-demo .project-bar{padding:14px 18px;flex-shrink:0}
#copper-motion-demo .project-shot{flex:1;min-height:0;object-fit:contain;object-position:center;width:100%}
#copper-motion-demo .project-caption{flex-shrink:0;margin:0;padding:16px 20px;font-size:24px}
#copper-motion-demo .project-plane-small .project-interior{background:#201a14;color:#f4eadd;border-color:#8c6c51}
#copper-motion-demo .project-plane-small .project-bar{color:#c8a283}
#copper-motion-demo .project-plane-small .project-caption{margin-block:auto}
#copper-motion-demo .project-plane-small .project-caption small{color:#c8b8a6;line-height:2}
.hero-foot{position:relative;display:flex;justify-content:space-between;gap:20px;padding-block:22px 26px;font-size:12px;letter-spacing:.4px;color:#d4c9bd;line-height:1.6}
.hero-foot::before{content:"";position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:rgba(216,189,157,.4)}
.hero-foot b{margin:0 12px;color:#b08e6d;font-weight:400}
.work-section,.services-section,.about-section{padding-block:80px;scroll-margin-top:20px}
h2{font-size:clamp(28px,3vw,44px);line-height:1.15;font-weight:500;letter-spacing:-1.4px;margin:0 0 32px}
.section-heading .eyebrow,.services-section .eyebrow,.about-section .eyebrow{margin-bottom:15px}
.work-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:900px}
.work-card{border:1px solid #47382a;background:#201912;border-radius:14px;overflow:hidden;transition:border-color .2s}
.work-card:hover{border-color:#af7851}
.work-card img{width:100%;aspect-ratio:2/1;object-fit:contain;background:#111;display:block}
.work-card>div{padding:24px}
.work-card h3{margin:0;font-size:21px;font-weight:500;display:flex;justify-content:space-between}
.work-card p,.about-section>p:last-child{font-size:16px;color:#cabcac;line-height:1.65;margin-bottom:0}
.services-section,.about-section{border-top:1px solid #392e23}
.services-section{padding-top:92px}
.services-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:end;gap:70px;margin-bottom:46px}
.services-heading h2{font-size:clamp(44px,4.6vw,78px);letter-spacing:-.055em;line-height:1.02;margin:0;max-width:820px}
.services-heading h2 span{color:#d9864e}
.services-heading>p{color:#e0d7ce;font-size:19px;line-height:1.5;margin:0 0 5px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-showcase{min-width:0;background:#201810;border:1px solid #5a4737;border-radius:16px;overflow:hidden;transition:transform .3s cubic-bezier(.2,.75,.3,1),border-color .3s,box-shadow .3s}
.service-showcase:hover{transform:translateY(-5px);border-color:#a36d49;box-shadow:0 22px 55px rgba(0,0,0,.22)}
.service-preview{height:300px;margin:24px 24px 0;border:1px solid #5d4a3a;border-radius:11px;background:#17110c;overflow:hidden;color:#f3eadf;font-size:10px}
.service-copy{padding:24px}
.service-number{display:block;color:#dc884f;font-size:13px;margin-bottom:12px}
.service-grid h3,.service-showcase h3{font-weight:500;font-size:clamp(23px,1.6vw,29px);letter-spacing:-.035em;margin:0 0 11px}
.service-showcase p{font-size:17px;color:#d0c4b8;line-height:1.48;margin:0;min-height:51px}
.service-benefits{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid #584435;margin-top:24px;padding-top:18px;color:#cfc3b7;font-size:14px}
.service-benefits span+span::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#d9864e;margin:0 18px 2px 0}
.preview-browser-bar{height:30px;border-bottom:1px solid #4a3c31;display:flex;align-items:center;padding:0 14px;gap:6px;background:#251d16}
.preview-browser-bar i{width:8px;height:8px;border-radius:50%;background:#8c7765}.preview-browser-bar i:first-child{background:#d9864e}.preview-browser-bar b{width:34%;height:7px;border-radius:8px;background:#30261e;margin:auto}
.preview-website{padding:18px}.preview-nav{display:flex;justify-content:space-between;color:#bcae9f;font-size:8px}.preview-nav small{letter-spacing:2px;color:#eee4d7}.preview-web-body{display:grid;grid-template-columns:1fr 1.05fr;gap:16px;align-items:center;padding:30px 0 22px}.preview-web-body strong{display:block;font-size:19px;line-height:1.08;font-weight:500;margin-bottom:14px}.preview-web-body em{display:block;width:82%;height:3px;background:#5d5147;margin:6px 0}.preview-web-body em+em{width:62%}.preview-web-body button{border:0;border-radius:4px;background:#d9864e;color:#17110c;font:700 8px Arial;padding:8px 12px;margin-top:11px}.preview-web-body figure{height:116px;margin:0;border-radius:5px;background:linear-gradient(135deg,#261b13,#d9864e 49%,#2b1e15 50%,#16100c)}.preview-web-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.preview-web-cards i{height:43px;background:#2b221a;border-radius:4px;position:relative}.preview-web-cards i:after{content:"";position:absolute;left:10px;top:15px;width:55%;height:3px;background:#56473b;box-shadow:0 9px #43372e}
.service-preview-booking{display:grid;grid-template-columns:56% 44%;padding:26px 20px}.preview-calendar{border-right:1px solid #4b3c31;padding-right:18px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.calendar-head strong,.preview-booking-form strong{font-size:14px}.calendar-head span{color:#b9aa9d}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:8px 3px}.calendar-week{color:#928477;margin-bottom:11px}.calendar-week b{font-weight:400}.calendar-days i{height:19px;display:grid;place-items:center;font-style:normal}.calendar-days i:nth-child(n+4)::after{content:counter(day);counter-increment:day}.calendar-days{counter-reset:day}.calendar-days .selected{width:23px;height:23px;border-radius:50%;background:#d9864e;color:#18110b;margin:-2px auto}.calendar-days .selected::after{content:none}.preview-booking-form{padding-left:18px}.preview-booking-form p{font-size:10px;min-height:0;padding:12px 0;margin:0;border-bottom:1px solid #40342b;color:#cfc2b6}.preview-booking-form div{background:#b96f40;border-radius:5px;color:#fff;padding:12px 8px;margin-top:18px;text-align:center}
.service-preview-admin{display:grid;grid-template-columns:35% 65%;padding:18px}.preview-admin-nav{border-right:1px solid #493a30;padding-right:11px;display:flex;flex-direction:column;gap:7px}.preview-admin-nav>strong{font-size:17px;margin-bottom:8px}.preview-admin-nav span{padding:9px;border-radius:4px;color:#b9aca0}.preview-admin-nav .active{background:#3a2a1d;color:#e7c3a8}.preview-admin-main{padding-left:16px}.admin-title{display:flex;justify-content:space-between;font-size:15px;padding-bottom:12px;border-bottom:1px solid #493a30}.admin-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #3b3028}.admin-row>i{font-style:normal;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#41362d;color:#e8ded4}.admin-row p{min-height:0;flex:1;font-size:10px}.admin-row b{display:block;font-weight:500;color:#e9dfd5}.admin-row small{display:block;color:#9e9185;margin-top:4px}
.services-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #5a4737;margin-top:30px;padding:22px 12px 0}.services-cta p{font-size:17px;margin:0;color:#e0d6cc}.services-cta .primary-cta{padding:13px 22px;min-height:44px;gap:22px}
.about-section>p:last-child{max-width:660px;font-size:18px}
.site-footer{padding-block:28px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #47382a;font-size:14px;color:#cabcac}
@media(min-width:1500px){.hero{min-height:650px}}
@media(max-width:1100px){
 .hero{grid-template-columns:minmax(0,1fr);min-height:0;padding-top:30px;gap:0}
 .hero-copy{max-width:680px;padding-bottom:12px}
 h1{font-size:clamp(40px,6vw,62px)}
 .hero-art{max-width:900px;margin:0 auto}
 .hero-environment{background-position:70% bottom}
 .hero-foot{flex-wrap:wrap}
 .services-heading{grid-template-columns:1fr;gap:20px}.services-heading>p{font-size:17px}.services-grid{grid-template-columns:1fr 1fr}.service-showcase:last-child{grid-column:1/-1}.service-showcase:last-child .service-preview{max-width:620px}
}
@media(max-width:650px){
 :root{--gutter:24px}
 .site-header{display:grid;grid-template-columns:1fr auto;padding-block:18px 10px;gap:8px 16px}
 .brand{font-size:19px}.brand-mark{font-size:32px}
 .site-header nav{grid-column:1/-1;grid-row:2;gap:28px;font-size:14px;flex-wrap:wrap}
 .header-cta{grid-column:2;grid-row:1;padding:10px 14px;font-size:14px;gap:12px}
 .hero{padding-top:20px;padding-bottom:16px}
 .hero-copy{padding-top:14px}
 h1{font-size:clamp(30px,8.7vw,52px);letter-spacing:-.05em}
 .hero-description{font-size:16px;max-width:400px}
 .eyebrow{font-size:12px;letter-spacing:1.3px;margin-bottom:22px}
 .hero-art{width:100%;margin:12px 0 0}
 .hero-foot{flex-direction:column;gap:10px;padding-block:20px;font-size:12px;letter-spacing:0}
 .hero-foot b{margin:0 5px}
 .work-section,.services-section,.about-section{padding-block:50px}
 .services-section{padding-top:58px}.services-heading{margin-bottom:30px}.services-heading h2{font-size:clamp(38px,11vw,54px)}.services-heading>p{font-size:16px}.services-grid{grid-template-columns:1fr;gap:20px}.service-showcase:last-child{grid-column:auto}.service-preview{height:260px;margin:14px 14px 0}.service-copy{padding:20px}.service-showcase p{font-size:16px;min-height:0}.services-cta{align-items:flex-start;flex-direction:column;padding-inline:0}.services-cta .primary-cta{width:100%}
 .site-footer{flex-wrap:wrap}.site-footer>span{order:3;width:100%}
}
@media(max-width:390px){.service-preview{height:235px}.preview-website{padding:13px}.preview-web-body{padding:22px 0 15px}.preview-web-body strong{font-size:15px}.service-preview-booking{padding:18px 12px}.preview-booking-form{padding-left:11px}.preview-calendar{padding-right:11px}.calendar-days,.calendar-week{gap:6px 1px}.service-preview-admin{padding:12px}.preview-admin-nav span{padding:7px 4px}.preview-admin-main{padding-left:9px}.admin-row{padding:11px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-cta,.work-card,.service-showcase{transition:none}}

.brand-mark{filter:drop-shadow(0 0 5px rgba(255,236,214,.35)) drop-shadow(0 0 12px rgba(213,162,116,.25))}

/* About: several paragraphs */
.about-section>h2~p{font-size:18px;color:#cabcac;line-height:1.65;max-width:660px;margin:0 0 18px}
.about-section>h2~p:last-child{margin-bottom:0}
@media(max-width:650px){.about-section>h2~p{font-size:16px}}

/* About v2 — two columns, cards, facts */
.about-v2{padding-block:clamp(70px,9vw,140px)}
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,110px);align-items:start}
.about-intro{position:sticky;top:48px}
.about-v2 h2{margin:0}
.about-lead{font-size:clamp(18px,1.5vw,21px);line-height:1.65;color:#e4d9cc;max-width:520px;margin:28px 0 0}
.about-quote{margin:44px 0 0;padding-top:30px;border-top:1px solid #392e23;font-size:clamp(30px,3.2vw,46px);line-height:1.1;letter-spacing:-.04em;color:#f5efe7;max-width:520px}
.about-quote span{color:#d5a274}
.about-facts{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.about-fact{border:1px solid #392e23;border-radius:16px;padding:20px 18px;background:linear-gradient(180deg,#201912 0%,#17120d 100%)}
.about-fact strong{display:block;font-size:clamp(20px,1.8vw,26px);font-weight:500;letter-spacing:-.02em;color:#f5efe7;margin-bottom:6px}
.about-fact span{display:block;font-size:13px;line-height:1.45;color:#a8998a}
.about-card{position:relative;border:1px solid #392e23;border-radius:20px;padding:30px 32px 30px 92px;margin-bottom:14px;background:#1a1510;transition:border-color .35s ease,background-color .35s ease}
.about-card:hover{border-color:#6b4b31;background:#1e1812}
.about-num{position:absolute;left:30px;top:28px;width:38px;height:38px;border-radius:50%;border:1px solid #6b4b31;display:grid;place-items:center;font-size:12px;letter-spacing:.5px;color:#d5a274;font-variant-numeric:tabular-nums}
.about-card h3{margin:0 0 12px;font-size:clamp(20px,1.6vw,24px);font-weight:500;letter-spacing:-.02em;color:#f5efe7}
.about-card p{margin:0 0 14px;font-size:16px;line-height:1.75;color:#cabcac;max-width:640px}
.about-card p:last-child{margin-bottom:0}
.about-ai{background:radial-gradient(520px 260px at 100% 0%,rgba(213,162,116,.14),rgba(213,162,116,0) 70%),#1a1510;border-color:#4a3726}
.about-cta{display:flex;justify-content:space-between;align-items:center;gap:14px 24px;flex-wrap:wrap;margin:22px 0 0;padding:22px 4px 0;border-top:1px solid #392e23;font-size:16px;color:#cabcac}
.about-cta a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:99px;background:#efe2d2;color:#21150c;font-weight:500;text-decoration:none;transition:background-color .25s}
.about-cta a:hover{background:#d5a274}
@supports (animation-timeline: view()){
 @media (prefers-reduced-motion:no-preference){
  .about-fact,.about-card{animation:about-in linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
  @keyframes about-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
 }
}
@media(max-width:980px){.about-grid{grid-template-columns:1fr}.about-intro{position:static}.about-quote,.about-lead{max-width:none}}
@media(max-width:650px){.about-facts{grid-template-columns:1fr}.about-card{padding:76px 22px 24px}.about-num{left:22px;top:22px}.about-card p{font-size:15.5px}}
.site-footer a[href="privacy.html"]{color:#cabcac;text-decoration:underline;text-underline-offset:3px}
.site-footer a[href="privacy.html"]:hover{color:#ffffff}
/* privacy page */
.legal{width:100%;max-width:820px;margin:0 auto;padding:clamp(48px,7vw,110px) var(--gutter) 90px}
.legal h1{font-size:clamp(40px,5vw,64px);line-height:1.05;letter-spacing:-.045em;font-weight:500;margin:0 0 18px}
.legal .legal-updated{color:#a8998a;font-size:14px;margin:0 0 40px}
.legal .legal-summary{border:1px solid #4a3726;border-radius:18px;padding:24px 26px;background:radial-gradient(420px 200px at 100% 0%,rgba(213,162,116,.12),rgba(213,162,116,0) 70%),#1a1510;margin:0 0 48px}
.legal .legal-summary p{margin:0;font-size:18px;line-height:1.65;color:#e4d9cc}
.legal h2{font-size:clamp(22px,2.2vw,28px);letter-spacing:-.02em;line-height:1.2;margin:44px 0 14px;max-width:none}
.legal p,.legal li{font-size:16.5px;line-height:1.75;color:#cabcac}
.legal ul{padding-left:20px;margin:0 0 16px}
.legal li{margin:6px 0}
.legal a{color:#e8c6a2;text-decoration:underline;text-underline-offset:3px}
.legal strong{color:#f5efe7;font-weight:600}
