:root{--paper:#f6f4ef;--ink:#242522;--muted:#6e7069;--line:#d9d6ce;--gold:#b4a48a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,'Avenir Next',Arial,sans-serif;font-size:15px;line-height:1.7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}a{color:inherit;text-decoration:none}button{cursor:pointer}header{height:92px;display:flex;align-items:center;padding:0 5%;gap:35px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.brand{font-size:24px;letter-spacing:.05em;font-weight:600;white-space:nowrap}.brand span{font-size:10px;letter-spacing:.18em;margin-left:8px}nav{display:flex;gap:24px;margin-left:auto;font-size:11px}nav a:hover,.textlink:hover{color:#867250}.languages{display:flex;gap:8px;font-size:10px}.languages button{background:none;border:0;color:var(--muted);padding:6px}.languages button.active{color:var(--ink);border-bottom:1px solid var(--ink)}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px}.hero-copy{padding:80px 10% 35px}.eyebrow{font-size:10px;letter-spacing:.24em;font-weight:600;text-transform:uppercase}.sub{font-size:11px;letter-spacing:.08em;margin:8px 0 35px}h1,h2{font-family:Arial,'Helvetica Neue',sans-serif;font-weight:400;line-height:1.12;letter-spacing:-.035em}h1{font-size:clamp(36px,3.96vw,63px);margin:0 0 25px;max-width:620px}.hero-copy>p:not(.sub){color:var(--muted);max-width:390px;font-size:14px}.actions{display:flex;align-items:center;gap:25px;margin-top:35px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 24px;font-size:10px;letter-spacing:.13em;border:1px solid transparent;line-height:1.5}.dark{background:var(--ink);color:white}.light{background:var(--paper);color:var(--ink)}.button:hover{background:#8c7b61;color:white}.textlink{font-size:10px;letter-spacing:.13em;border-bottom:1px solid var(--gold);padding:8px 0}.hero-index{display:block;font-size:9px;color:var(--muted);letter-spacing:.2em;margin-top:70px}.hero figure{margin:0;position:relative;min-height:620px;overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover;position:absolute;filter:saturate(.65)}figcaption{position:static;font-size:9px;line-height:1.65;color:var(--muted);margin-top:10px;width:auto;overflow-wrap:anywhere}.image-mark{position:absolute;right:30px;top:15px;font-family:Arial,'Helvetica Neue',sans-serif;font-size:70px;color:#fff9}.section{padding:100px 7%;border-top:1px solid var(--line)}.section-top{display:flex;justify-content:space-between}.number{font-size:11px;color:var(--gold)}h2{font-size:clamp(34px,3.3vw,52px);max-width:720px;margin:25px 0 30px}.section-intro{max-width:650px;color:var(--muted)}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;margin-top:45px}.service{border-top:1px solid var(--line);padding:28px 0}.service-head{display:flex;gap:20px;align-items:baseline}.service-head span{font-size:10px;color:var(--gold)}h3{font-size:17px;font-weight:500;line-height:1.4;margin:0}.service p{color:var(--muted);font-size:14px;padding-left:36px}.auth{padding:22px 28px;border-left:2px solid var(--gold);background:#ebe8e1;font-size:13px;max-width:850px;margin:25px 0 0}.comparison-section{background:#ebe8e1}.empty{border:1px solid var(--line);padding:65px 30px;text-align:center;margin:35px 0;background:linear-gradient(120deg,#f8f7f3,#e8e5de)}.empty .symbol{font-family:Arial,'Helvetica Neue',sans-serif;font-size:54px;color:var(--gold);line-height:1}.empty p{color:var(--muted);font-size:13px;max-width:480px;margin:15px auto}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:35px 0}.filters button{border:1px solid var(--line);background:transparent;padding:9px 15px;font-size:11px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:32px}.projects .empty{grid-column:1/-1;width:100%}.project{border:0;text-align:left;padding:0;background:none;color:var(--ink)}.project img{width:100%;height:340px;object-fit:cover;display:block}.project h3{margin-top:15px}.project span{font-size:10px;color:var(--muted)}.about{display:grid;grid-template-columns:.7fr 1fr;gap:12%;align-items:center}.about-symbol{height:460px;background:var(--ink);color:#c9b99b;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Arial,'Helvetica Neue',sans-serif;font-size:200px;line-height:1}.about-symbol span{font-family:Arial,sans-serif;font-size:10px;text-align:center;line-height:2;letter-spacing:.3em;margin-top:35px}.about p{color:var(--muted);font-size:14px}blockquote{margin:30px 0 0;border-top:1px solid var(--line);padding-top:25px;font-family:Arial,'Helvetica Neue',sans-serif;font-size:23px;line-height:1.5}.contact{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact p{color:#babbb4}.contact h2{max-width:470px}#contact-links{margin-top:40px;font-size:12px}#contact-links>*{display:block;margin-top:12px}form{display:grid;gap:20px}label{display:grid;gap:6px;font-size:11px}input,select,textarea{width:100%;border:1px solid var(--line);background:transparent;padding:11px;color:inherit;border-radius:0}textarea{resize:vertical}.contact input,.contact select,.contact textarea{border-color:#62635d}.contact select option{color:var(--ink);background:var(--paper)}button:disabled{cursor:not-allowed;opacity:.45}.small{font-size:11px;line-height:1.6}footer{padding:55px 7% 20px}footer p{font-size:12px;color:var(--muted)}.footer-links{display:flex;gap:25px;flex-wrap:wrap;margin:30px 0}.footer-links button,.backup button{border:0;border-bottom:1px solid var(--line);background:none;padding:5px 0;font-size:11px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;color:var(--muted)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:35px;width:min(700px,92vw);max-height:88vh}dialog::backdrop{background:#171813b8}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-head h2{font-size:28px;margin-top:0}.close{border:0;background:none;font-size:11px;text-decoration:underline;padding:8px}hr{border:0;border-top:1px solid var(--line);margin:30px 0}.backup{display:flex;gap:25px;margin-top:25px;align-items:center}.import input{max-width:210px}.manage-row{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.manage-row button{background:none;border:0;color:#875942}.comparison{margin-top:40px}.comparison-frame{position:relative;aspect-ratio:3/2;background:#ddd;overflow:hidden;--split:50%}.comparison-frame img{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.comparison-frame .after-img{clip-path:inset(0 0 0 var(--split))}.divider{position:absolute;left:var(--split);height:100%;width:2px;background:white;transform:translateX(-50%);pointer-events:none}.divider:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--ink)}.compare-labels{position:absolute;inset:18px 18px auto;display:flex;justify-content:space-between;pointer-events:none}.compare-labels span{background:#242522c9;color:white;padding:4px 12px;font-size:10px}.comparison-frame input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.comparison-frame:focus-within{outline:2px solid var(--gold);outline-offset:3px}.comparison h3{margin-top:14px}@media(max-width:1000px){header{gap:15px;padding:0 4%}nav{gap:12px;font-size:10px}.hero-copy{padding:60px 8%}.hero{min-height:620px}.hero figure{min-height:620px}.actions{gap:15px}.contact{gap:6%}}@media(max-width:720px){header{height:auto;min-height:80px;flex-wrap:wrap;padding:15px 5%;gap:12px}.brand{font-size:20px}.languages{margin-left:auto}nav{order:3;width:100%;margin:0;justify-content:space-between;gap:8px;overflow:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 7% 35px}h1{font-size:40.5px}.hero-index{margin-top:35px}.hero figure{min-height:360px;max-height:440px}.section{padding:65px 7%}.services-grid,.projects,.about,.contact{grid-template-columns:1fr;gap:25px}.service p{padding-left:0}.about-symbol{height:300px;font-size:130px}.project img{height:300px}.contact form{margin-top:15px}.footer-bottom{gap:20px;font-size:8px}.comparison-frame{aspect-ratio:1/1}dialog{padding:23px}.backup{flex-direction:column;align-items:start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}@media(prefers-reduced-motion:no-preference){.button,a,button{transition:color .2s,background .2s}.hero-copy{animation:rise .7s ease-out}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}}
/* Studio typography: uppercase headings, subtitles and navigation. */
h1,h2,h3,.sub,nav a{text-transform:uppercase}
h1,h2{letter-spacing:.005em}
.sub,nav a{letter-spacing:.1em}

.brand,.hero-copy>.eyebrow{font-family:Arial,"Helvetica Neue",sans-serif;font-weight:400}

.process-intro{max-width:820px;margin:0 0 42px}.process-intro h3{font-weight:400;font-size:22px}.process-intro p{color:var(--muted)}

[data-t="beforeTitle"]{white-space:pre-line}

.service-example{margin-top:24px;padding:30px 20px;border:1px dashed var(--line);background:#f0eee8;text-align:center;min-height:210px;display:flex;flex-direction:column;justify-content:center}.service-example h4{margin:12px 0 6px;font-size:14px;font-weight:400}.service-example p{font-size:12px;margin:0;color:var(--muted)}.example-icon{font-size:18px;letter-spacing:.08em;color:var(--gold)}.service-example a{font-size:10px;letter-spacing:.08em;margin-top:18px;text-decoration:underline}

.presentation-steps{display:grid;gap:20px;margin-top:24px}.presentation-step{margin:0}.step-image{min-height:180px;background:#f0eee8;border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center}.step-image span{color:var(--gold);font-size:22px}.step-image p{font-size:12px;color:var(--muted);max-width:290px}.presentation-step figcaption{font-size:13px;margin-top:10px;letter-spacing:.02em}

.materials-notice{border:1px solid #c9b797;padding:20px 22px;margin:0 0 26px;background:#ffffff0a;color:var(--paper);font-size:15px;line-height:1.6}.contact-form-wrap{min-width:0}
/* Show the complete comparison artwork without cropping its labels. */
.hero{grid-template-columns:40% 60%;align-items:stretch}
.hero figure{display:flex;flex-direction:column;justify-content:center;padding:30px;background:#eae7df;min-width:0;overflow:visible}
.hero figure img{position:static;width:100%;height:auto;object-fit:contain;filter:none;display:block}
.hero figure figcaption{position:static;background:none;width:auto;font-size:10px;padding:0;margin:14px 0 0;color:var(--muted);line-height:1.5}
@media(max-width:1000px){.hero{grid-template-columns:1fr}.hero figure{min-height:0;max-height:none;padding:25px 7%}.hero-copy{padding:50px 7% 35px}.hero-index{margin-top:35px}}
/* Fit the new artwork naturally to its column, without a fixed-height frame. */
.hero{grid-template-columns:minmax(0,42fr) minmax(0,58fr);min-height:0;align-items:center;padding:38px 4% 42px;gap:34px}
.hero-copy{padding:24px 0 24px 3%;min-width:0}
.hero-copy h1{font-size:clamp(34px,3.5vw,58px)}
.hero figure{min-height:0;max-height:none;padding:0;background:transparent;justify-content:center;align-self:center}
.hero figure img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.hero figure figcaption{margin:10px 0 0;font-size:9px}
.hero-index{margin-top:32px}
@media(max-width:1000px){.hero{grid-template-columns:1fr;padding:32px 6% 38px;gap:24px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(34px,5vw,52px);max-width:760px}.hero figure{padding:0;min-height:0;max-height:none;width:100%}}
@media(max-width:480px){.hero{padding:30px 5%}.hero-copy h1{font-size:34px}.hero figure figcaption{font-size:9px}}
/* More readable studio name and descriptor above the hero headline. */
.hero-copy>.eyebrow{font-size:clamp(15px,1.15vw,19px);letter-spacing:.18em;line-height:1.5}
.hero-copy>.sub{font-size:clamp(14px,1.05vw,17px);line-height:1.65;letter-spacing:.075em;margin-top:12px;margin-bottom:35px;max-width:100%;overflow-wrap:break-word}
@media(max-width:480px){.hero-copy>.eyebrow{font-size:15px}.hero-copy>.sub{font-size:14px}}
/* Equal-size, aligned wordmark; larger introductory studio text. */
header .brand{display:inline-flex;align-items:baseline;gap:12px;font-size:clamp(20px,1.7vw,28px);letter-spacing:.04em;line-height:1.2}
header .brand span{font-size:inherit;letter-spacing:.07em;margin-left:0}
.hero-copy>.eyebrow{font-size:clamp(19px,1.55vw,25px);letter-spacing:.13em}
.hero-copy>.sub{font-size:clamp(16px,1.25vw,20px);letter-spacing:.055em}
@media(max-width:720px){header .brand{font-size:20px;gap:8px}.hero-copy>.eyebrow{font-size:21px}.hero-copy>.sub{font-size:17px}}
@media(max-width:380px){header .brand{font-size:17px;gap:6px}.hero-copy>.eyebrow{font-size:19px}.hero-copy>.sub{font-size:16px}}
.gallery-comparison{margin-top:24px;min-width:0}.gallery-versions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.gallery-versions figure{margin:0;min-width:0}.gallery-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.gallery-versions img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.service .gallery-note{padding:0;font-size:14px;font-weight:500;line-height:1.8;margin:20px 0 0;color:#53554f}@media(max-width:720px){.gallery-versions{grid-template-columns:1fr;gap:22px}}

.visual-story{margin:30px 0 0}.visual-story h4{font-size:18px;font-weight:500;margin:0 0 16px}.visual-story a{display:block}.visual-story img{display:block;width:100%;height:auto;border-radius:8px}.visual-story figcaption{font-size:12px;line-height:1.6;margin-top:12px;color:#666}

.ai-demonstrations{display:grid;gap:32px;margin-top:24px}.ai-demonstrations figure{margin:0}.ai-demonstrations h4{font-size:18px;font-weight:500;margin:0 0 12px}.ai-demonstrations img{display:block;width:100%;height:auto;border-radius:6px}.ai-demonstrations figcaption{font-size:12px;line-height:1.65;color:#666;margin-top:10px}

.ai-pair-labels{display:grid;grid-template-columns:1fr 1fr;text-align:center;font-size:14px;letter-spacing:.14em;text-transform:uppercase;margin:12px 0}.ai-image-crop{position:relative;overflow:hidden;width:100%;background:#f6f4ef}.ai-image-crop img{position:absolute;width:100%;max-width:none;height:auto;border-radius:0;left:0}.ambience-crop{aspect-ratio:1774/800}.ambience-crop img{top:-4.75%}.focus-crop{aspect-ratio:2042/578}.focus-crop img{top:-20.6%}

.focus-crop{aspect-ratio:2042/770}.focus-crop img{top:0}

/* Numbered cover-selection example, with no photographic assets. */
.cover-demo{border:1px solid var(--line);padding:22px;background:#f0eee8}.cover-demo-heading{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px}.cover-photo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0}.cover-photo{position:relative;aspect-ratio:4/3;border:1px solid #d6d2c9;background:#e7e4dd;display:grid;place-items:center}.cover-photo-number{font-size:22px;color:#75766f;font-weight:400}.cover-photo.is-recommended{border:2px solid #857251;background:#faf8f2}.cover-photo.is-recommended .cover-photo-number{color:var(--ink)}.cover-photo-check{position:absolute;right:-5px;top:-7px;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;background:#444c40;color:white;font-size:14px;line-height:1}.cover-demo-more{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--muted);font-size:10px;margin-top:10px}.cover-demo-more>span:first-child{font-size:25px;font-weight:300;line-height:1}.service .cover-demo-legend{padding:0;font-size:12px;color:var(--ink);margin:18px 0 8px}.cover-demo-legend>span{color:#444c40;font-weight:bold}.service .cover-demo-note{padding:0;font-size:11px;margin:0;line-height:1.7}.presentation-step figcaption{position:static;background:none;padding:0;width:auto}.cover-demo-heading,.cover-demo-note{overflow-wrap:break-word}@media(max-width:420px){.cover-demo{padding:16px 12px}.cover-photo-grid{gap:8px}.cover-photo-number{font-size:18px}.cover-photo-check{width:18px;height:18px;font-size:12px}}

/* Twenty portrait cards illustrate the recommended publishing sequence. */
.sequence-demo{border:1px solid var(--line);padding:22px;background:#f0eee8;overflow:hidden}.sequence-demo-heading{font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:26px}.sequence-deck{position:relative;width:100%;aspect-ratio:1.85;margin:0 auto 16px;isolation:isolate}.sequence-card{position:absolute;top:7%;left:calc(58% + (var(--card) - 4)*1.55%);width:24%;aspect-ratio:9/16;border:1px solid #c4beb2;background:linear-gradient(145deg,#fcfaf5,#e5e0d6);box-shadow:2px 4px 9px #24252214;z-index:var(--layer);transform:rotate(5deg);transform-origin:50% 100%;border-radius:5px}.sequence-card-open{left:calc(var(--card)*15%);top:calc(7% - var(--card)*1%);transform:rotate(calc(-9deg + var(--card)*3deg));background:#f9f7f1}.sequence-card-top,.sequence-card-bottom{position:absolute;font-size:12px;color:#6e6658;line-height:1;left:9%;top:6%}.sequence-card-bottom{left:auto;top:auto;right:9%;bottom:6%;transform:rotate(180deg)}.sequence-card-center{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(22px,3vw,38px);font-weight:300;color:#6b665d}.sequence-order{display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.4vw,14px);font-size:14px;color:#504a40;letter-spacing:.05em;padding:12px 0;border-top:1px solid var(--line)}.sequence-order span:nth-child(even){color:#a29277;font-size:11px}.service .sequence-demo-note{padding:0;font-size:11px;line-height:1.7;margin:10px 0 0}@media(max-width:420px){.sequence-demo{padding:16px 12px}.sequence-card-top,.sequence-card-bottom{font-size:10px}.sequence-card-center{font-size:23px}}

/* Every leaf reveals the same narrow numbered section. */
.sequence-deck{aspect-ratio:2.15;margin-top:6px}.sequence-card{left:calc(var(--card)*4.8%);top:2%;transform:none;border-radius:3px;width:24%;clip-path:inset(0 80% 0 0);box-shadow:none;background:linear-gradient(90deg,#e9e4da,#fbf9f3 30%)}.sequence-card:nth-child(even){background:linear-gradient(90deg,#ded7ca,#f8f5ee 30%)}.sequence-card-top{left:3%;top:5%;font-size:clamp(8px,1.15vw,12px);font-variant-numeric:tabular-nums;color:#514b40}.sequence-card-center,.sequence-card-bottom{display:none}@media(max-width:720px){.sequence-card-top{font-size:clamp(8px,2vw,12px)}}
/* Green circles and checks emphasise the recommended cover candidates. */
.cover-photo.is-recommended{border-color:#278148;background:#f1f8ef}.cover-photo.is-recommended .cover-photo-number{display:grid;place-items:center;width:clamp(28px,3.8vw,42px);aspect-ratio:1;border:2px solid #278148;border-radius:50%;color:#216e3d}.cover-photo-check{color:#16833b;background:#fff;border:1px solid #278148;font-weight:700}.cover-demo-legend>span{color:#16833b}@media(max-width:720px){.cover-photo.is-recommended .cover-photo-number{width:clamp(28px,7vw,42px)}}

/* Stylised photo-like colour studies beneath the numbered card edges. */
.sequence-card,.sequence-card:nth-child(even){background-color:#c4d5d2;background-image:linear-gradient(180deg,#b9d5e2 0 35%,#749da8 35% 55%,#d9d0b7 55% 66%,#ece5d6 66%);border-color:#a6b5b1}
.sequence-card:nth-child(5n+2){background-image:linear-gradient(180deg,transparent 55%,#ba9f81 55% 58%,#dac6ae 58%),linear-gradient(90deg,#eae2d5 0 10%,#869e9b 10% 29%,#ded3c1 29% 66%,#f5eee2 66%)}
.sequence-card:nth-child(5n+3){background-image:radial-gradient(ellipse at 4% 56%,#59765c 0 14%,transparent 15%),linear-gradient(180deg,#a9c7d6 0 34%,#658e9c 34% 57%,#d7cfbc 57% 60%,#bda586 60%)}
.sequence-card:nth-child(5n+4){background-image:linear-gradient(180deg,#e9e0d4 0 42%,transparent 42%),linear-gradient(180deg,transparent 52%,#c9b9a5 52% 73%,#b59c7f 73% 76%,#e1d5c5 76%);background-color:#f4ecdf}
.sequence-card:nth-child(5n){background-image:linear-gradient(180deg,#e5c7b4 0 25%,#c5a499 25% 40%,#7b929d 40% 60%,#ddd0b8 60% 64%,#c0aa8d 64%)}
.sequence-card-top{left:2%;top:4%;min-width:16%;padding:5px 0;text-align:center;border-radius:2px;background:#fffc;color:#302f2a;font-weight:600;box-shadow:0 1px 3px #0001}
.sequence-card{filter:saturate(.42);opacity:.92}

/* A quiet panoramic transition from choosing accommodation to imagining a stay. */
.emotion-step{margin-top:10px}.emotion-visual{overflow:hidden;background:#e9e6df}.emotion-visual img{display:block;width:100%;height:auto}.presentation-step.emotion-step figcaption{font-size:18px;font-weight:400;line-height:1.5;margin:16px 0 4px}.emotion-note{display:block;font-size:10px;color:var(--muted);line-height:1.6}

.ai-full-example{aspect-ratio:auto}.ai-full-example img{position:static;display:block;width:100%;height:auto}

.cooperation-section{background:#ebe8e1}.cooperation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;margin-top:54px}.cooperation-item{border-top:1px solid #c8c2b6;padding-top:26px}.cooperation-item svg{display:block;width:36px;height:36px;color:#8c795b;margin-bottom:24px}.cooperation-item h3{font-size:14px;letter-spacing:.05em;line-height:1.5}.cooperation-item p{font-size:13px;line-height:1.8;color:var(--muted);margin:13px 0 0;max-width:260px}@media(max-width:900px){.cooperation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}}@media(max-width:480px){.cooperation-grid{grid-template-columns:1fr;gap:26px;margin-top:34px}.cooperation-item{display:grid;grid-template-columns:34px 1fr;column-gap:20px;padding-top:22px}.cooperation-item svg{grid-row:1/3;width:30px;height:30px;margin:0}.cooperation-item p{margin-top:8px;max-width:none}}
/* Read services sequentially so a tall neighbour cannot leave an empty column. */
#services .services-grid{grid-template-columns:minmax(0,1fr);gap:28px;max-width:960px;margin:45px auto 0;align-items:start}
#services .service{min-width:0;padding:28px 0 12px}
#services .gallery-versions{grid-template-columns:minmax(0,1fr);gap:28px}
#services .gallery-versions img{aspect-ratio:auto;height:auto}
#services .service>p{max-width:820px}
@media(max-width:720px){#services .services-grid{gap:22px;margin-top:32px}#services .gallery-versions{gap:22px}}
/* Align the opening service article to its image and caption edge. */
#services .service:first-child .service-head{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
#services .service:first-child>p{padding-left:0;margin-left:0}

.contact-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* Green signals that required enquiry fields are valid. */
#send{background:#287044;color:#fff;border:1px solid #287044;min-height:48px}
#send:enabled:hover{background:#1d5834;border-color:#1d5834}
#send:disabled{background:#727872;border-color:#727872;color:#fff;cursor:not-allowed;opacity:.75}
#send:focus-visible{outline:3px solid #72bd89;outline-offset:4px}

#contact-form [aria-invalid="true"]{border:2px solid #e78383;background:rgba(170,30,30,.09);outline-color:#e78383}
#contact-form [aria-invalid="true"]:focus{outline:2px solid #e78383;outline-offset:3px}

.about .story-emphasis{font-size:.92em;font-weight:700;letter-spacing:.025em;color:var(--ink)}

/* A restrained emphasis on the first sentence of the second story paragraph. */
#about-story .story-lead{font-weight:600;color:#65675f;text-transform:uppercase}

/* Balanced About layout */
#about{display:block}
#about .about-symbol{height:auto;min-height:128px;padding:24px 36px;margin-bottom:38px;flex-direction:row;justify-content:flex-start;gap:28px;font-size:88px}
#about .about-symbol span{margin:0;text-align:left;font-size:12px;letter-spacing:.3em}
#about h2{max-width:none;margin-bottom:32px}
#about-story{column-count:2;column-gap:clamp(32px,5vw,76px);column-fill:balance}
#about-story p{margin:0 0 1.5em;text-align:justify;hyphens:auto;break-inside:avoid-column;orphans:3;widows:3}
@media(max-width:720px){#about .about-symbol{min-height:104px;padding:20px 24px;margin-bottom:28px;gap:22px;font-size:68px}#about .about-symbol span{font-size:10px}#about-story{column-count:1}#about-story p{text-align:left}}

#about .about-banner-copy{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;min-width:0}#about .about-banner-subtitle{letter-spacing:.16em}#about .about-banner-subtitle::before{content:"–";margin-right:18px}
@media(max-width:720px){#about .about-banner-copy{display:block}#about .about-banner-subtitle{display:block;margin-top:6px;letter-spacing:.1em}#about .about-banner-subtitle::before{margin-right:8px}}

/* Gentle topic cues keep the story flowing without adding headings. */
#about-story .story-topic{font-weight:500;color:#5e605a;background:#ebe8e1;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:3px 6px;border-radius:0;text-shadow:none}

/* Align every service heading and description with its media edge. */
#services .service .service-head{display:block}
#services .service>p{padding-left:0;margin-left:0}

/* Keep the cooperation section compact and aligned with the page. */
.cooperation-section{padding-top:56px;padding-bottom:56px}
.cooperation-section h2{margin:0 0 24px}
.cooperation-section .cooperation-grid{margin-top:28px;gap:30px}
.cooperation-section .cooperation-item{padding-top:18px}
.cooperation-section .cooperation-item svg{width:30px;height:30px;margin-bottom:16px}
.cooperation-section .cooperation-item p{margin-top:10px}
@media(max-width:720px){.cooperation-section{padding-top:42px;padding-bottom:42px}.cooperation-section .cooperation-grid{gap:24px;margin-top:24px}}
@media(max-width:480px){.cooperation-section .cooperation-item svg{margin-bottom:0}.cooperation-section .cooperation-item p{margin-top:6px}}

.services-nav{position:relative}.services-nav summary{text-transform:uppercase;cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px}.services-nav summary::-webkit-details-marker{display:none}.services-nav summary::after{content:"⌄";font-size:12px;line-height:1}.services-nav[open] summary{color:#867250}.services-nav-list{position:absolute;top:calc(100% + 18px);left:0;width:320px;max-width:80vw;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 24px #24252212;padding:8px;z-index:20}.services-nav-list a{display:block;padding:12px 14px;line-height:1.6;text-transform:uppercase}.services-nav-list a:hover,.services-nav-list a:focus-visible{background:#ebe8e1}.service{scroll-margin-top:110px}
@media(max-width:720px){header nav{overflow:visible}.services-nav-list{width:min(320px,86vw)}.service{scroll-margin-top:145px}}

.contact-continue{display:inline-block;text-decoration:underline;text-underline-offset:3px;margin-top:6px}

/* Shared page edges and consistent spacing across the studio presentation. */
:root{--page-gutter:max(24px,6vw,calc((100vw - 1200px)/2));--section-space:clamp(56px,7vw,96px);--layout-gap:clamp(28px,4.5vw,64px);--header-offset:112px}
html{scroll-padding-top:var(--header-offset)}
header{padding-left:var(--page-gutter);padding-right:var(--page-gutter);gap:24px}
header nav{align-items:center}
.hero{padding:48px var(--page-gutter) 56px;gap:var(--layout-gap);grid-template-columns:minmax(0,44fr) minmax(0,56fr)}
.hero-copy{padding:0;min-width:0}
.hero-copy>p:not(.sub){max-width:46ch}
.hero .actions{gap:20px;margin-top:30px}
.section{padding:var(--section-space) var(--page-gutter)}
.section h2{margin-top:0}
#services .process-intro{margin-bottom:36px}
#services .services-grid{max-width:none;width:100%;margin:36px 0 0;gap:44px}
#services .service{padding:28px 0 0}
#services .service>p{max-width:82ch}
#services .service-head{margin:0}
#services .service>p:first-of-type{margin-top:14px}
#services .gallery-comparison,#services .ai-demonstrations,#services .presentation-steps{margin-top:24px}
#services .gallery-versions{gap:28px}
#services .auth{max-width:none;margin-top:36px}
#about .about-symbol{margin-bottom:32px}
#about h2{margin-bottom:32px}
#about-story{column-gap:var(--layout-gap)}
.cooperation-section{padding-top:56px;padding-bottom:56px}
.cooperation-section .cooperation-grid{gap:var(--layout-gap);margin-top:28px}
.cooperation-item{min-width:0}
.contact{gap:var(--layout-gap);align-items:start}
.contact>div{min-width:0}
.contact h2{margin-top:16px}
.contact-form-wrap .materials-notice{margin-top:0}
footer{padding:48px var(--page-gutter) 24px}
.service{scroll-margin-top:20px}
@media(max-width:1100px){:root{--header-offset:150px}header{height:auto;min-height:92px;flex-wrap:wrap;padding-top:18px;padding-bottom:16px;gap:14px 20px}header .languages{margin-left:auto}header nav{order:3;width:100%;margin:0;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;overflow:visible}.hero{grid-template-columns:1fr;gap:30px}.hero-copy h1{max-width:20ch;font-size:clamp(34px,5vw,52px)}.hero figure{padding:0;width:100%}}
@media(max-width:720px){:root{--section-space:56px;--layout-gap:28px;--header-offset:156px}.hero{padding-top:36px;padding-bottom:40px}.hero-copy>.eyebrow{font-size:19px}.hero-copy>.sub{font-size:16px;margin-bottom:26px}.hero-copy h1{font-size:clamp(32px,6vw,42px)}#services .services-grid{gap:34px;margin-top:28px}#services .gallery-versions{gap:24px}#about-story{column-count:1}.contact{grid-template-columns:minmax(0,1fr);gap:32px}.contact form{margin-top:0}.cooperation-section{padding-top:42px;padding-bottom:42px}.cooperation-section .cooperation-grid{gap:26px}footer{padding-top:36px}.service{scroll-margin-top:16px}}
@media(max-width:380px){header .brand{font-size:16px;gap:6px}header nav{font-size:9px;column-gap:10px}header nav a{letter-spacing:.07em}.languages{gap:4px}.languages button{padding:5px}}

@media(max-width:380px){header nav{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px;justify-items:start}.services-nav-list{width:calc(100vw - 48px);max-width:none}}

#about-story .story-topic{white-space:nowrap}

/* Contact delivery stays on this page, including errors and confirmation. */
#contact-form[hidden],.contact-success[hidden]{display:none!important}
.contact-success{padding:32px 0;outline:none}
.contact-success-mark{display:grid;place-items:center;width:56px;height:56px;border:1px solid #9eb8a6;border-radius:50%;font-size:28px;color:#9eb8a6;margin-bottom:24px}
.contact-success h3{font-size:clamp(22px,2.4vw,30px);line-height:1.3;margin:0 0 16px}
.contact-success p{margin-bottom:28px}
.contact-success .textlink{color:inherit;background:none;border:0;padding:0;cursor:pointer}
#contact-note[data-result=error]{color:#edc6b1}

.footer-links a.legal{border-bottom:1px solid var(--line);padding:5px 0;font-size:11px;text-decoration:none;color:inherit}

.form-privacy{line-height:1.6;color:inherit;opacity:.85}.form-privacy a{color:inherit;text-underline-offset:3px}

.gallery-image{display:block}.gallery-image img{display:block;width:100%;height:auto}

#about-story p:nth-child(2) .story-topic{white-space:normal}

#contact .eyebrow{font-size:16px}

/* Consistent wordmark letters and more readable navigation. */
footer .brand{display:inline-flex;align-items:baseline;gap:12px;font-size:24px;letter-spacing:.04em;line-height:1.2}
footer .brand span{font-size:inherit;letter-spacing:.07em;margin-left:0}
header nav{font-size:13px}
@media(max-width:720px){footer .brand{font-size:20px;gap:8px}header nav{font-size:12px}}
@media(max-width:380px){footer .brand{font-size:18px;gap:6px}header nav{font-size:11px}}
